Download as pdf or txt
Download as pdf or txt
You are on page 1of 27

instructables

GoodBoy - 3D Printed Arduino Robot Dog

by Daniel Hingston

This instructable details how to make a small quadruped robot using 3D printed parts. It is designed to be
compact, simple, and inexpensive to build. This project uses an Arduino Uno as the microcontroller. In this
instructable you will nd complete 3D model les, Arduino programs, and instructions needed to replicate (and
hopefully improve upon) this project for yourself!

For a few years I've wanted to make a quadruped robot, having been very much inspired by the extraordinary
robots of Boston Dynamics (in particular the 'Spot'). Being in lockdown, I'm lucky to have some time on my hands,
and so when less than four weeks ago a friend mentioned to me that there was a 3D-Printing contest, I thought
this was a great excuse to try and design a robo-dog for myself!

I hope you enjoy reading this instructable, and I look forward to seeing any comments you may have, and possibly
even some others attempting this build for themselves. Thank you.

Ed it po st c o n t e st : Thank you so much for all the interest and enthusiasm you've shown for the project! To help you
build one for yourself, I'll be uploading some more YouTube videos with extra assembly instructions. I'll also be editing this
instructable to build in some of the really good suggestions that have come from your comments so that others can bene t
from these.

ht t ps://www.yout ube.com/embed/uE5hZhkQkwI

ht t ps://www.yout ube.com/embed/g_Wedkmt Ffw

ht t ps://www.yout ube.com/embed/yHlnPt oOaoc

Please note:

GoodBoy - 3D Printed Arduino Robot Dog: Page 1


Some care needs to be taken when following this instructable. There is some risk posed by the use of
a 3D printer, soldering iron, craft knife/scalpel, superglue, and re due to battery short-circuit. There
are however no dangerous voltages used in this project, and no prior electrical experience is
required.
This instructable will describe to you how to build an exact replica of my own build, but see the
penultimate step 'Potential Improvements' for things I might have done better/di erently with
hindsight. I'd like to build a second robot incorporating these changes, but you may wish to build
these into your rst build yourself if you wish.

Please also note:

GoodBoy robot cannot be expected to come when called.


GoodBoy robot not tested in conjunction with cats, squirrels, or rabbits.
GoodBoy robot not prone to ticks, lice, etc., but owners should be careful to not subject the dog to
code bugs.
The author of this instructable does not hold himself responsible if
your real dog becomes scared of their imminent technological redundancy.

Step 1: 3D Printing Techniques Used in This Instructable

There are several unique techniques you'll need to use to make this robot for yourself, for me, it was my rst time
trying some of these so it was an interesting set of prints to do!

GoodBoy - 3D Printed Arduino Robot Dog: Page 2


1. Em be dde d e le ct rica l ca ble s - The robot's legs use two servo motors each, one in the knee and
one in the shoulder. I wanted to hide all electrical cabling from sight with this design, so for the
'thigh' part I decided to try embedding the servo cable inside the thigh print. Hidden within the part
is a small channel, just large enough for the cable. At the appropriate point in the print, I paused the
printer, laid the cable through the channel, and then resumed the print. After a few more minutes,
the channel was covered, and the servo cable is now hidden within the part.
2. M e s hm ixe r a dv a nce d s uppo rt s f o r co m ple x o v e rha ng s - This is a slightly tricky piece of
software to use, but can be very useful for creating 'tree' type supports for parts with di cult
overhangs. We'll be using this several times in this build.
3. Frict io n t t e d pa rt s - Many of the parts in this build are not glued, just relying on a tight
friction t between printed parts. We'll use this technique to mount the electronics snugly and
securely within the body, but also permitting them to be removable if needed.
4. Int e g ra t e d he x nut s f o r bo lt s - The lid of the body encloses the entire electronics bay, and is
held down using 8 M2.5 bolts. The nuts for these are a push- t into hexagonal cavities in the body,
and held in place using superglue.

Step 2: What You Will Need

M a in co m po ne nt s :

Arduino Uno (genuine or clone)


Adafruit Powerboost 1000C
18650 Li-Ion Battery
HC-SR04 Sensor x 2
9g Servo x 8 (Towerpro SG90 or similar)
LDR x 1

M ino r co m po ne nt s :

GoodBoy - 3D Printed Arduino Robot Dog: Page 3


5mm LED x 2 (red or other colour, your choice!)
Stripboard (25 x 60mm)
SPDT slide switch
Header pins
Hookup wire (narrow gauge)
Hookup wire (wider, for battery and power leads)
18650 battery holder (recommended, not essential)
3k Ohm Resistor x 2
470 Ohm Resistor x 1
M2.5 Nuts x 8
M2.5x8 Bolts x 8
Heatshrink tubing
Electrical tape

To o ls a nd e quipm e nt :

3D Printer, print bed at least 210 x 210mm - see below for what 3D printer.
Soldering iron and solder
Superglue
Vaseline (for lubricating printed joints in the robot's legs)
Side cutters (useful)
Scalpel/craft knife (vital for fettling prints and more)
Sandpaper/ le (for fettling prints)
Micro USB charger (I used my Raspberry Pi charger, a phone charger would be ne too)
Arduino USB cable
PC/Laptop for programming robot, preparing prints, etc.

S o f t w a re :

Slicing software (I used Ultimaker Cura)


Autodesk Meshmixer (for advanced support generation)
CAD software (this is if you wish to make modi cations to the CAD, I use the educational license of
Creo Parametric. Tinkercad, Fusion 360, Autodesk Inventor are other CAD options, please use
whatever you are comfortable with!)
Arduino IDE

GoodBoy - 3D Printed Arduino Robot Dog: Page 4


Step 3: GoodBoy Design

The screenshots above show the rst concept I Although I didn't design the robot using Tinkercad, I
created nearly four weeks ago.This quickly changed thought it would be fun to embed this 3D view so you
into the more recent shape, as I attempted to make it can examine the latest design for yourself (please give
smaller and lighter. I knew that with the cheap 9g it a few seconds to load, it's a large le!):
servo motors there would not be a huge amount of
excess torque, so I shrank the dog design as far as
ht t ps://www.t inkercad.com/embed/d2oIn3KXFUW?edit bt n=1
possible. The rst design also looked a bit murdery, if
you have seen that particular Black Mirror episode
you'll know what I mean ...

Step 4: GoodBoy CAD

GoodBoy - 3D Printed Arduino Robot Dog: Page 5


The full CAD les for the robot can be found where I Since the contest closed, I have edited this
have uploaded it into the GrabCAD Community instructable, to mention that the .stl les are also
Library. Please follow this link to see the les. I decided uploaded to the GrabCad library (see above link). It
to upload the assembly as a .step le so that it will be contains a .zip folder with all les, including a readme
importable into any major CAD software, so that that explains that it also contains a variant on the
hopefully as many of you as possible will be able to wrist print (experimental version to widen ground
use the les. You will almost certainly wish to make track, that I haven't tried printing myself yet,
minor edits to the les before printing them (such as although you may nd it an improvement on the pure
adjusting mechanical ts to suit the expected quality V1 design).
of your 3D printer, or to t the components you've
bought, especially the servos).

Step 5: 3D Printing Tips & Settings

M e s hm ixe r in there, as otherwise it may try to generate other


supports to support these supports!).

The rst two images show meshmixer type supports, Cura /Yo ur Slice r o f Cho ice
which I used when printing the 'thigh' and 'wrist'
pieces, as they worked much better for me than basic
type supports on these di cult shapes. The third I use Cura for creating my print les, just because I'm
image shows the Overhang settings I used in most familiar with it, but it doesn't matter what you
Meshmixer to create these supports, I thought I'd use, they're all very similar. I've added some
show you these as there's a lot of settings and it can screenshots of the print settings I used for all the
be di cult to use. GoodBoy parts, so you can see, but depending on the
quality of your 3D printer you may be able to print
When you open Meshmixer, press Import, and select better/faster - you'll know this best! To maximise
your .stl le of the part you need. Then select Edit quality, I printed very slowly for everything, and used
from the taskbar on the left, and Transform. Use this a relatively small layer height. The most critical parts
to alter the orientation of your le, and press Accept. for quality are of course those concerning the leg
Then select Align, and Accept. This should joints - the 3D printed parts serve as hubs and axles, it
automatically lay your part on the print bed. Don't is key that they are as smooth and dimensionally
worry that the print bed may not match your 3D accurate as possible!
printer, I think Makerbot Replicator 2 is the default,
we're just going to edit the .stl le, and export it For parts like the leg joints, I printed several iterations
again, so it makes no di erence. Now select Analysis of them, altering the clearance or tolerance I had
from the taskbar, and Overhangs. In here, change the allowed between the interfacing parts a little each
settings to match those I've pictured above. Press [1] time (in my CAD software). I needed to experiment a
Generate Support, then Done if satis ed. Now all you little to see what the tightest (but still freely running)
have to do is File and Export, and choose where to t I could achieve was, and you should do the same if
save your new .stl le which will now contain these you like.
supports. Next you'll import this into your chosen
slicing software (and remember to set supports to 'o '

GoodBoy - 3D Printed Arduino Robot Dog: Page 6


GoodBoy - 3D Printed Arduino Robot Dog: Page 7
Step 6: Leg Assembly Process

Apologies for the many photos! This is quite a di cult step, so I have tried to illustrate it as much as possible. The
steps below relate to the photos in the order you see them, so just follow them one by one.

GoodBoy - 3D Printed Arduino Robot Dog: Page 8


1. The parts all printed and ready.
2. Create a little program to centralise each servo to the 90 degree position. It's important you
centralise each servo before gluing them in to avoid limiting your available movement later on.
3. This little wheel-like part is a jig, used to align the servo motor centralling within the leg joint area. It
is very important that the servo axis is concentric with the outer circle. This picture just illustrates
how the jig ts into the cavity tightly, and the central hole grips the servo shaft, positioning it
correctly. Superglue the knee motors in place, and use this jig to align them quickly before the glue
dries.
4. Now it is time to superglue the shoulder motors in position. Pass the servo cables through the holes
in the alignment jog, then place some superglue under the motor. Use the alignment jig to
centralise the servo motor in the cavity. Before the servo dries, press the servo rmly into place using
a screwdriver like shown.
5. Vaseline is applied to the surface on the wrist part that will run inside the knee cover. This helps keep
it running. Before this step I recommend twisting these parts together quickly in your hands, this will
abrade any imperfections between their t, and will leave you with two nicely tting parts.
6. Knee joint cover is added, superglued around its rim.
7. Next to install the shoulder motor. The wires are rst fed through the jig tool.
8. Superglue is applied under the motor, and the jig pressed into position whilst the motor sets in
place.
9. Now we can remove the jig, and are ready for the next step.
10. Initially feed both motor cables through the hole within the shoulder hub part.
11. Push the servo horn between the cables, and superglue it in the cavity on the underside of the
shoulder hub part.
12. Next press the shoulder horn onto the servo motor hub, you don't need to glue it or screw it in place.
13. As before, apply some lubrication to the shoulder cover part.
14. Glue the cover in place, with superglue around the rim. That's the shoulder joint complete!
15. Job done! Just three more legs to go - be glad you're not building a robot centipede!

GoodBoy - 3D Printed Arduino Robot Dog: Page 9


GoodBoy - 3D Printed Arduino Robot Dog: Page 10
GoodBoy - 3D Printed Arduino Robot Dog: Page 11
GoodBoy - 3D Printed Arduino Robot Dog: Page 12
Step 7: The Body

Print ing t he B o dy could experiment with test- tting the main


components inside as you can see, which was
There were two looong prints to be done - for the satisfying to nd they tted right away.
body and the lid, but luckily the quality of these was
good rst time. I used the normal Cura-generated You can also superglue the 8 M2.5 hex nuts into their
supports on both, which came away easily with recesses within the body, taking care not to get glue
ngers, pliers, and a scalpel when the print was into their threads.
completed. Luckily I had no issues with warping on
these large parts, but make sure your print bed is well
levelled and cleaned before starting! After printing, I

GoodBoy - 3D Printed Arduino Robot Dog: Page 13


Step 8: Electrical Schematic

This schematic (made in PowerPoint, as there weren't all the components I needed on Tinkercad), should show you
the layout as clearly as possible. Of course, you have freedom to modify as you like, but I'm sure it's helpful to be
able to see exactly how I'd done it.

See the numbers on the diagrams for the matching explanations:

GoodBoy - 3D Printed Arduino Robot Dog: Page 14


1. S PDT Slide Sw it ch - This is used to control whether the PowerBoost 1000C is providing power
output. It is wired to the VS, EN and GND pins. Please see the o cial Adafruit Powerboost 1000C page
for more info.
2. Po w e rbo o s t 10 0 0 C - Again, please check the o cial tutorial for speci c wiring and pin
information. Power is taken from the board to two rails on the stripboard (shown copper strips up for
clarity, it will have those down in fact). You therefore create a +5V rail and a Ground rail on the
stripboard, which you will power all of your other components from.
3. S e rv o M o t o r - Only one is shown for clarity. I added 8 sets of 3 header pins to the stripboard, one
pin to the +5V rail, one to the Ground rail, and a third pin on the adjacent rail (for the signal wire).
Using a scalpel I seperated each segment of the signal rail to isolate each signal pin of each servo
from each other.
4. 18 56 0 B a t t e ry - Wired to the Powerboost 1000C as shown.
5. LDR - The reading is taken from this using a voltage divider circuit as shown, through a 10k Ohm
resistor to the ground rail. This cable goes to one of the analog ports on the Arduino. The other leg of
the LDR is connected to the +5V rail on the stripboard.
6. HC- S R0 4 Ult ra s o und S e ns o r - Only one of the pair is shown for clarity. This type of sensor has 4
pins (if yours has 3, then look for speci c guidance on connecting that, it won't be a problem, but I'll
describe 4 pin type as that is what I used). The Vcc and Gnd pins of the sensor go to the +5V and
Ground rails of the stripboard respectively. The Trig and Echo pins go to two Arduino Digital I/O pins
as shown. The same arrangment is used for the second sensor too.
7. Arduino Po w e r Input - The Arduino is powered through the 5V pin. A pair of wires from the +5V
and Ground rails of the stripboard are taken to the 5V and Ground pins of the Arduino. [See note of
caution, below].
8. LEDs - Only one of the pair is shown with wires for clarity. The anode is connected to a Digital I/O
pin of the Arduino. The other leg goes to the Ground rail of the stripboard, via a resistor.

* * * [NO T E O F C AUT IO N] * * *

Powering the Arduino via the 5V pin in this way is not an o cially recommended method of powering the board, as
it bypasses some of the power regulation circuitry. I powered the Arduino in this way, because the Powerboost
1000C outputs 5V, and I did not have a suitable alternative. Using the 5V pin in this way is the only way to run the
Arduino on 5V without using the USB, and I wished to leave this unused and orientated through the outer shell of
the robot's body so I could upload programs easily. Using the 5V pin in this way is ne provided that you observe
the following precautions:

GoodBoy - 3D Printed Arduino Robot Dog: Page 15


The Arduino must not be powered via the Powerboost 1000C and also connected to a laptop via the
USB at the same time. By powering via the 5V pin, you bypass the input power selection circuity, so
the Arduino will be overloaded and probably burn out. Before connecting the Arduino to the
computer to upload a program, make sure the Powerboost 1000C is turned o , and for extra
protection it is best to disconnect the cables that go to the 5V and Ground pins of the Arduino, thus
isolating it from the onboard power source.
The 5V input to the 5V pin must be a good regulated 5V power. The Powerboost 1000C does this well,
but if you decide to use a di erent board check your specs to make sure it will be equivalently good!
The polarity of the 5V and Ground wires into those pins on the Arduino, taking power from the rails
on the stripboard MUST be observed, as otherwise the Arduino may be permanently damaged. Be
careful!

Step 9: Wiring

GoodBoy - 3D Printed Arduino Robot Dog: Page 16


This section covers the wiring for the robot. It took me model) is invaluable when doing a task like this. Using
a couple of days to complete this step myself, I tried the voltmeter setting you can measure the battery
as hard as possible to keep it neat and tidy. voltage, and Powerboost 1000C output for instance.
The Ohmmeter setting is really handy when doing
The photos should be fairly self explanatory, but one soldering. If you expect two pads or wires or tracks on
key step to note is that after soldering the header pins the stripboard to be electrically connected, you
onto the stripboard (the 8 sets of 3 for the servo should see near to 0 Ohms of resistance between
motors) you need to use a scalpel/craft knife to make them. If you expect two places to be not connected
a slice through the rail that connects one of the (e.g. the 5V rail and Ground rails of the stripboard),
outermost pins of the header pins. These pins are for then you should see in nite resistance - and if you see
the signal wires of each servo cable, and you must no resistance then you know you're shorting them out
isolate each section of the rail from each other as and need to go back and check!
otherwise each servo will receive multiple, confusing
signals from the Arduino. I accidentally shorted the 5V and Ground rails on the
stripboard at one point - with just a tiny wire tail of a
I didn't superglue either the Arduino, PowerBoost soldered joint. Unfortunately I turned the power on from
1000C, LEDs, Ultrasounds, or stripboard into their the battery without checking, and this shorted out - the
holders in the dog's body, the friction t was good Powerboost 1000C got very hot and made a strong
enough to hold these in place. It's a good idea to burning smell! If I had used my multimeter to check I
leave it as that, so you can remove any of them if you wouldn't have been in this situation - I nearly had a stroke
need to - I had them in and out a lot during the build but doggo was ok thankfully!
whilst adjusting wire lengths, connections etc! As part
of the wiring process, also superglue the head to the
dog's body, after installing the HC-SR04 ultrasound
sensors, and the LDR too.

The nal part I printed was a battery holder for the Upd a t e : Ne w Wirin g Tut o ria l:
18650 cell. I used a couple of pieces of metal strip to
make contact within this, and soldered on cables to
that to connect it to the Powerboost 1000C. This works
well, but it might be easier just to buy a battery
holder and glue this into the body!
https: //www. yo utub e . co m /e m b e d /rWcvLyyO MMY

Ho w t o us e y o ur m ult im e t e r!

A basic multimeter (mine is a pocket-sized basic

GoodBoy - 3D Printed Arduino Robot Dog: Page 17


GoodBoy - 3D Printed Arduino Robot Dog: Page 18
Step 10: Leg Attachment

GoodBoy - 3D Printed Arduino Robot Dog: Page 19


With the electricals done, and all printed parts bad enough to require a replacement leg, but it did
completed, the nal construction step is to glue the slightly reduce the quality of motion later on, as this
legs in place. I used superglue for this step, which was leg wobbled slighlty more than was expected.
a bit hair-raising as it dries very quickly and doesn't
allow re-positioning. I managed to glue three legs in The photo shows an earlier dry- t test of the legs in
place successfully, although the 4th leg wasn't quite place, before I had even added the dog's head.
fully in place when the glue set. This luckily was not

Step 11: Get a Grip

As soon as I started to program walking movements, I found the smooth plastic feet lacking su cient friction.
These small spiked pieces were a quick x solution to this, printed quickly and super-glued onto the soles of the
robot's feet. They work well, although I felt a bit daft for not thinking of this sooner!

Step 12: Programming


GoodBoy - 3D Printed Arduino Robot Dog: Page 20
n.b. these plastic kit model boxes were the perfect size and movement. The movement in the attached code
to sit the robot on whilst I programmed it - hopefully moves a single leg at any one time, and shift the
you can nd something similar! When the robot is robot's body relative to the feet to ensure that the
powered o , the legs will not support the robot in a centre of gravity is held over the stationary legs,
standing position, as that requires the torque from ensuring that the dog will not tip over.
the active servo motors. Hence you'll need a support
like this to cradle it as you work. Funct io ns - The code makes use of several functions
e.g. 'pawtrick' and 'forwardstep', which can take an
S e rv o Sim ult a ne o us M o v e m e nt - Arduino input de ning the number of steps to take. The
programs are essentially single thread, so they cannot ultrasound sensors in the nose are read after each
do two things at once. The method to use is to step, and the walk code will be paused if both sensors
incrementally move the legs, alternating tiny detect a nearby object.
increments of each motor so that an appearance of
simultaneous movement is created. You can see how Fut ure Ca pa bilit y - The intention of mounting
this is done in the program I've uploaded to this step both ultrasounds at a 15 degree o centre angle was
of the instructable. My inspiration for this was the roll so that the dog could decide which way to turn if it
of a pianola (self-playing piano), that has small detects an obstacle. There is also plenty of
perforations to play di erent keys in order. opportunity to experiment with di erent gaits and
walking methods, as there are an unlimited way to
G a it - I spent a long time watching slow motion achieve motion with a legged robot!
videos of real dogs walking, to learn more about their
motion. A dog whilst walking will always have 3 points LDR - The LDR on the dog's head is a simple way of
of contact with the ground, with one paw leaving the providing some human interaction. The dog detects if
ground simultaneously with another paw arriving on it has been shaded (by a hand/ nger laid on top) for 3
the ground. A faster pace involves two paws o the seconds continuously, and then triggers the paw trick
ground at once. I programmed routines of 5 or so function.
di erent gaits whilst experimenting with the coding,
looking for the option that allowed the best balance

Download
https://www.instructables.com/ORIG/FQD/XQZC/KAMI5ZU8/FQDXQZCKAMI5ZU8.ino

Step 13: Potential Improvements

With the experience I've gained building this robot, I'm keen to build another using the things I've learned. There
are several main improvements I would make, but you may wish to include these in your build from the beginning.
GoodBoy - 3D Printed Arduino Robot Dog: Page 21
In no particular order, here are some things I'd recommend:

S e rv o m o t o r cho ice - the motors I use in this project are low quality - imitation TowerPro SG90
servos with plastic gears. I do not know if they produce the rated torque they claim, and the plastic
gears result in uncessary backlash in the legs. They cost me only a little more than £1 each, but for
about £6 you could purchase a genuine quality servo with metal gears, and a higher rated torque. If
you're able to invest that little more, it would be bene cial as the minimal torque and relatively large
amount of backlash in my robot caused some di culty. Most 9g servos have similar dimensions, so
the CAD for the 3D printed parts should not require much modi cation.
Fo o t g rip - My initial foot design did not have su cient grip as you'll have read in this instructable.
The spiked additions I retro- tted improved it considerably, but perhaps you could consider adding
rubber pieces to the feet to act as grippy soles, or design di erent spikes or textures on the 3D
printed part.
B a la nce a nd f o o t s pa cing - The width between the feet in my initial design is adequate, but
minimal. For improved balance, I would recommend slightly increasing the distance between the
legs, by modifying the wrist pieces for instance. Additionally, the feet are currently 15mm (about 0.6")
wide each, but they would provide better balance if wider, 25mm for example (about 1"). If you're
able to make this change to the CAD, it would be worth investigating.
Po w e rbo o s t 10 0 0 C - The choice of this power board in the robot was based on what I had
available. It is a good choice however, being compact and powerful. However, absolute maximum
current that it can provide at 5V is about 2A. A single 9g servo can draw as much as 0.5A or even
more at maximum torque, so clearly 2A is not adequate to run all motors at full power. If you have a
suitable alternative to the PowerBoost 1000C, this could be considered, although only if you are
competent with electronics and understand the changes you will be making.
B a ckla s h - Backlash or 'slack' is the lost motion in a mechanism caused by gaps and excessively
large mechanical tolerances. This is relevant in the joints of the legs in this robot. If your 3D printer
can print to a very good quality, then consider reducing the gaps between the rotating/running
parts in the shoulder and knee joints - the better and tighter (but still able to run freely) you can
make these joints the better leg motion you will be able to achieve.

GoodBoy - 3D Printed Arduino Robot Dog: Page 22


Step 14: The Tail End

Thank you for reading my instructable, I hope you time ...


enjoyed it. If you're encouraged to build one for
yourself, great! I will do my best to answer any P.S. Thank you so much for the enthusiasm that you
questions you may have. I've thoroughly enjoyed this have all shown for this instructable, it has been
project, although doing it from start to nish in about wonderful to receive all of your suggestions for
3.5 weeks (whilst working full time) has been quite improvements too. I'll be posting more instructional
hectic! There are lots of things I've learned doing this videos on my YouTube channel to help you build one
that I'd love to apply to a GoodBoy 2.0, so perhaps for yourself. A GoodBoy V2 is in the works too!
you'll see an instructable for that come along some

This is incredibly well made and documented. Congrats on the grand prize! I plan to refer to this
next year in my Arduino class.
Thank you very much, I enjoyed your guitar build a lot! Great to hear that your school has an
Arduino class, they're lucky to have that and your enthusiasm for sure.
I love this project! Has anybody found a good body orientation to print on a 200X200X200 bed
aside from printing up at an angle?

Hi there, glad you like it! I hope you can manage to get it to fit rotated, but if you have access to
CAD software perhaps consider shortening the body by 10mm? It should be quite easy to do in the
model and shouldn't make a great deal of difference I think to do this. Cheers!
I printed mine at 45 degrees diagonal on my bed, and it fit nicely. The legs I used rafts and bridges
to support those unsupported areas.
Yep, it did fit rotated. Repeiter said it was outside the printable area but I just printed it anyway with
no problems.
This is a snapshot of my repeiter file

GoodBoy - 3D Printed Arduino Robot Dog: Page 23


Is your bed 200x200? If so I’ll just try simplify3d instead of repeiter

I used repeiter for mine

Yes, my bed is 200 x 200

hi arthurDent, thank you for introducing your super cool project, for which you put a lot of effort and
love for detail. This dog is absolutely awesome. I really like the design.
When I have some free time in the near future, I will definitely copy him ! Thanks again for this
extraordinary achievement.

P.S. to all of you who are begging for STL files .... read the damn project text, learn to appreciate
people and their performance and ... please - don't just suck off knowledge, appreciate the makers
!!!!

Thanks Arthur

many greetings from Germany


Olly

Hi Olly, thank you very much for your kind words and enthusiasm, I'm glad you like it! I'm busy
working on incorporating improvements that I thought of and other people suggested, so look out
for a GoodBoy V2 in the future.

It's ok, I'll be editing the instructable as soon as the contest is closed to make a clearer link to the
files, save confusion.

Have a nice day!


How many people have got a 3D printer. Not many. I'm fed up with all these 3D printed pruducts.

No one is forcing you to read them - it's not exactly a surprise when “3D Printed” is in the title. In
any event, you can buy a 3D printer for a few hundred bucks, less than the cost of sufficient tools
to build a lot of projects. Heck, you need to have a laptop to program the Arduino anyway, and that
will cost more than a low end 3D Printer.
The internet and this site does not exist to service only you. Instead of having unreasonable
expectations you may wish to:
A: Pass over projects that use a 3d printer
B: Ask your parents to buy you a 3d printer
C: Get a job and save mooney to buy your own
D: Change your expectations of the rest of the world to conform to your demands
E: Learn a better method of trolling
F: [insert your own better life choice here]
G: Substitute the 3d printed parts for something you have access to
H: Order the 3d printed parts from an online 3d printing service

I for one think this is awesome and has a lot of potential to be even better with some programming
changes. The base concept is cool.

GoodBoy - 3D Printed Arduino Robot Dog: Page 24


Option F is amazing, HAHA

Hundreds of thousands of people own 3D Printers. They are becoming very common because they
are, now, relatively inexpensive. Just because you don't know many people that own a 3D printer,
does NOT mean that "Not many" people "have got" a 3D printer.
Understandably, not everyone can afford to purchase the "best" 3D printer available on the
consumer market, but as others have stated, even a "cheap" 3D printer can produce excellent
results, and with minor upgrades may even outperform more expensive printers.
If you are interested in tackling this project, I'm certain there are people willing to print the required
components for you if you ask respectfully.
Dude, there are some really cheap 3d printers out there. Honestly I wouldn't expect a scrappy robot
made of hand crafted cardboard and plywood to be functional, so if you want a robot, a 3d printer is
the way to go(or perhaps a laser cutter).
Maybe before you make this try to make a 3d printer I'm currently building my own 3d printer so i
can make things like this it's not that hard to make 5 stepper motors, stepper motor drivers and a
arduino mega 3d printer kit will be the most expensive part with cost me around £70 if you shop
around the build and the coding is quite simple and there are lots of you tube videos showing how
to do this...
The solution is simple, either get one or surf elsewhere?

It is true that 3D printers can be very expensive, but in my case this project was printed on a 3 year
old printer costing about £120, so it's not necessarily a huuuge investment. I bought this as I was a
student at the time and it was all I could spend, but with upgrades it has worked well for me despite
the low cost. Perhaps there's a model within your budget?
Imagine this as a vehicle :), it would be cool ! Nice project

Human-carrying sized one will be my 1,000,000th YouTube subscriber special, promise.

Very cool robot! I didn't know that this is possible on Arduino)

6 legs would make it more stable, and maybe even faster!


Thank you! To be honest this project doesn't utilise too much complexity on the Arduino wide, it
was mainly about the printing and mechanical design. 6 legs would be cool, I originally considered
a snake type robot with no legs, lots more projects to do!
very nice project can you send me the STL files please

Hi there, glad you like it! I've now uploaded the STL files to the GrabCad library, please follow the
link in Step 4. Thanks!
Nice project, one I've wanted to tackle for ages. I like the aesthetics of your robot. Can he turn? Is
he statically stable when he lifts one leg since you can't lean to the side or do you just move it
quickly before he tips?
Hi there, thanks for your comment. I'm glad you like the aesthetics, that was an important part of
the design for me. Good questions - I haven't experimented with programming a turn yet, although I
think it should be possible. As for the stability, it can be stable on 3 legs, for instance during the
paw trick I shift the CoG backwards so that it can lift the front leg without tipping. The gait I have
programmed here for walking forwards is not in fact stable on 3 legs, the balance point was a
compromise between stability when a front leg is lifted and then when a back leg is lifted. It relies
on a quick step to avoid a topple. I imagine a better-programmed walk code could improve this, but
I am also looking (in an upcoming V2 design) to increase the leg spacing for better stability. Cheers
I thought that was what I saw on the video, that he kind of "falls" forward in a step (which is not a

GoodBoy - 3D Printed Arduino Robot Dog: Page 25


negative, I think that is how things move in the real world), so you've got an interesting middle-
ground between statically stable gate and a full dynamic balance thing. Really cool, good luck in
the competiton, I'm sure you will do well!
Please send me the .stl files. i haven't figured out the 3D drawing or how to create a .stl file. thank
you. Great project next in line on my 3D printer.
Hi there, you'll be happy to here I've now uploaded the stl files onto the GrabCad folder that I have
linked in Step 4. Should be everything you need there. Cheers
Hello! love this project you have created and this has really opened my eyes to what can be done
with a lot of engineering!! Could I have the STL files? i was amazed by this project from Instagram
Hi there, I'm glad you enjoyed it so much, pleasure to share. You're very welcome to the STL files,
I've uploaded them now onto GrabCad, please see the GrabCad link in Step 4, where there is also
a folder with the files you need.
Please may i have the .stl files?

I've just uploaded a folder with them to the GrabCad library, please follow the link in my recent
comment about the stls or the link from Step 4. Thanks!
Thank you.

excellent project i wait to see a moving motional tail next time....

Honestly I would have loved that to be a feature - one for the GoodBot Mk. II I think!

Stl's please

Just uploaded! Please see the link to the GrabCad library in my recent comment or under step 4.
Cheers
I agree something like the adafruit 16 servo controller would lead to smoother and faster walking.
The one modification I will make when I get around to this project is to add a second servo at the
shoulder. Another degree of freedom will give you turning ability and a more versitile gate. This is a
great project, love to see the .stl files.
Looks like a great build. May do so...although I've got 3-4 robotic things I have to work on before
that. Good detail too. About STLs...I think they are editable, using Auitodesk's (free)Tinkercad.
Thank you very much! Yes, there's never a shortage of projects is there! Thanks for the Tinkercad
tip, that's good to know.
Hi. Very interesting Project and a clean work - respect.
For the 'no grip problem' I figured out that the material of 'Thera-Bands' (used for gymnastics), is an
excellent joyce. You may get them cheap in various colours (each colour another strength and
material thickness). I use them to prevent parts slipping away when building things up.
Hi there, thanks for your comment I'm glad you liked it.

Thank you very much for the grip idea, I might edit the Grip step of the Instructable to add your
suggestion there so people are more likely to see it. That would be ideal, as the spikes I use suit
carpet ok but wouldn't be good on a smooth floor.
It's a Nice proyect. Will ve good if he can turn went found one obstacle

Thanks for sharing - very inspirational.


Detailed instructions (although STLs are missing), and very thorough walkthrough.
Thanks for your efforts on this !

GoodBoy - 3D Printed Arduino Robot Dog: Page 26


Thank you for this excellent design and project notes. You have my vote as well and I look forward
to building one here... With the STL file will you please provide you cura profile that you were
pleased with your results? Thank you again
Thank you, I'm glad you like the write-up. Sure good idea, I'll get this edited to include .STL files
and also add my cura profile. Can't promise I'll do that today but within a couple of days I'll have
time. Thanks

GoodBoy - 3D Printed Arduino Robot Dog: Page 27

You might also like