Hey! This thing is still a Work in Progress. Files, instructions, and other stuff might change!

Revised Fully Printable Eggbot

by Glasswalker Mar 30, 2012
Download All Files

Thing Apps Enabled

Please Login to Comment

I know it has been a while for this thread but I am trying to make one of these for Easter. I've got the build of the parts down but I'm having some problems with the electronics. I think I have a handle on the firmware but I'm not positive. The biggest problem I'm having is with the Inkscape plugin. I've found the unicorn Inkscape plugin http://www.thingiverse.com/thing:5986 and Also one by evil mad scientist https://github.com/evil-mad/EggBot/releases/tag/v2.4.0. Can I use either? They each convert the files to g code but I'm not clear how to interface with the egg bot. thanks

Unicorn G-Code Extension for Inkscape

I think you mean Egg Plant good day sir #autocarrot

Iwin #stop

I recently built an eggbot using the files and links provided in this thing. For a couple of days, it worked outstanding. It moved with precision and accuracy, and I was able to create some impressive egg prints.
Now however, the pen stepper motor that controls left/right movements has began acting strangely. It moves inconsistently and often doesn't have enough power to move back and forth. I have tried replacing the motor, driver, and arduino- still weird motor activity. Does anyone have any suggestions?

You may have to adjust the current for the motor driver.

Thats most likely it. Another cureall is slowing the jerk and feedrate of the axis...

I made the pieces but I had to remodel them to 95mm to fit my printer.

Steppers and drivers are in the mail - Ill use a Arduino Pro MIni for this build...

What length should the threaded rod be?

I have the same question

Where can you find the M4 threaded rod? My local stores sell the standards like 1/4, 3/8, 1/2"

McMaster is a great source for any hardware needed for machines like these.

Great work,

I made an Eggbot too, this one ( http://www.thingiverse.com/make:53174http://www.thingiverse.com/mak... )

Only one problem, that I hope someone can point me in right direction with solving.

plotting on eggs, it looks like no microsteps is used and it's getting
rather bad quality, as shown on the picture. However the drivers, voltage, wires etc. should all be
in order. I checked everything like 20 times.

I use 200 step per
revolution motors, 1/8 stepper drivers. I replaced motors and stepper
drivers to be sure that it is not the problem.

I also tried
scaling up x10 a svg drawing before exporting to gcode - and setting the
zoom level accordingly, no improvements there ether.

So I assume that the problem is somewhere in the firmware, can someone have a look and verify if there is a problem there.
If its not the firmware, what could the problem be?


Im using http://feeder.pyfeeder.py for sending the gcode.


Revised Fully Printable Eggbot

Works nicely, thanks to the various tips around here. If anyone is interested I have a github fork of Zaggo's SphereBot code that works with newer Arduino IDEs (although the separate SoftwareServo library also needs to have #include "WProgram.h" replaced with #include "Arduino.h"), and has swapped the X and Y axes so that it is the same orientation as the Evil Mad Scientists Eggbot (means less fiddling when printing SVGs designed for it). https://github.com/Lenbok/SphereBot.githttps://github.com/Lenbok/Sphe...

Hi Lenbok!, i need a little hand here, when i try to compile the code with my UNO i get this:

'Timer1' was not declared in this scope
SphereBot.pde: In function 'void setup()':
SphereBot:131: error: 'Timer1' was not declared in this scope

i'm having troubles to find this too: "WProgram.h"

(although the separate SoftwareServo library also needs to have #include "WProgram.h" replaced with #include "Arduino.h")

This is my first Arduino experience, sory for my noobility :)

Did you install the TimerOne library that is mentioned in the readme.txt?

"WProgram.h" is what older versions (pre 1.0?) of the arduino IDE used - if you see any errors about that, you need to find the code that is trying to use it (there is one in the SoftwareServo library somewhere) and change it to say "Arduino.h". I'm not sure why they don't just update the version that is in the arduino playground so people can download a version that just works with the latest IDE.

Thank you for all of the above. I have downloaded your version of the firmware and done a verify compile using the Arduino Uno as the target. (I have had one of these in my toolbox for some time but never used it). Can you confirm that I am heading in the right direction:

  1. Print the Glasswalker STLs
  2. Use the firmware from your GitHub repo
  3. Wire things up as shown in the schematic in the http://pleasantsoftware.compleasantsoftware.com pages pointed to by Glasswalker via the Spherebot thing.

Looking forward to building this and to getting it working - vitamins not in my toolbox are on order.

got every thing set up and printed but my X axis wont do any thing. iv swapped the drivers, motors and the pin on the arduino. any one else have this problem?

am i missing where it says how long the m8 threaded rod needs to be cut to length

Printing this out now. Made 2 plates for all the parts. Really looking forward to making this work over the next month or two. This will be the first cnc machine I build from parts with my own grubby paws. Looking forward to learning small and scaling it up to full sized robot laser cutters and plasma cutters over the next couple of years. :D

I'm getting better results out of the hardware and the steppers move to the right coordinates and positions by hand. However, when i try to feed the spherebot with the sender code (OSX Lion), I get errors often - usually in the first few lines. The most common is Error at line 0: o: (a little o with a colon). Interesting, i get the same result with the ruby sender code. I've also tried slower baud rates (down to 19200, the default is 115200). I'm using the default firmware from the spherebot project.

Anyone else seen this or have some idea how to fix this?
thanks, rrhb

You have to use the python version if you are using a recent version of Arduino. It's somewhere in the comments to the various spherebot projects,

Printed everything, got motors, drivers and a spare controller. Just need to collect the hardware and assemble. My kids are pumped! :)

Hope they enjoy it! Be sure to post pictures when it's printing!

I made a slight mod to the pen-arm-pivot just to add some more material around the servo attach points... I did this after splitting the tops off the existing piece I printed. Once I assemble it and confirm it's good I'll upload for you. No point adding that as a derivative I don't think as it's a pretty minor mod.

Also it seems like you don't actually want the back plate in the centre of the structure. Your pics seem to show it closer to the end plate with the motor attached, and this is how I think I'll need to place mine as well from eye-balling it.

I'm not having good luck with my eggbot. The weight of the pen shaft axis is causing stuttering in the motor. The pen arm jiggles. It is particularly exaggerated when both motors are moving which caused me to support voltage or current. With no pen shaft that motor moves smoothly. it doesn't seem like much weigh. i've tried switching pololus, adjusting current, switching motors, even arduino/ramps, and this characteristic isn't changing. I'm using Zaggo's original code with zoom @ .02. The gcode produced produces ranges for the "eggbot coords" using unicorn/inkscape on a mac of -450-
gt;+450 in rotation (x) and -140-
gt;+140 in (y) pen arm.


That's very odd. These motors should have MORE than enough torque to move the head without stuttering. (by like a factor of 10 or more). Is there binding somewhere? I'm not sure what could cause this.

What motors are they?

sigh. I switched to a partially populated sanguinololu to control this (which believe is the most economical solution rather than a mega and a ramps board), and forgot to install the micro stepping jumpers which is why my bot was so twitchy. Seems nice and smooth now, thanks!

Awesome :) Glad you got it working!

We have now labeled the eggs in the fridge and have been busy printing world maps onto ping pong balls. :)

I would like to suggest removing the part I've highlighted here (in red) from the end plate design. The pen actually hits this area, limiting its range, and it would also save some plastic without really affecting the structural integrity. (We don't have threaded rod going across the top front --
I'm not sure it would even work with it installed -- and it doesn't look like others do, either.)

I agree about the proposed modification... i made that modification to mine the old fashioned way (hacksaw). :)

Its still very sturdy, and now I have more range.

I got impatient, so I went ahead and modified it and added it as a derivative. I have another variation of it that includes tabs for snapping in a small project board. (I'm using a Modern Devices RBBB to control it instead of an Arduino.) I have pictures posted, too.

We're printing my last part now... Do you have any recommendations for lengths of the threaded rods?

I am away from home so don't have mine handy. But I believe I used around 7" to 7.5" for my frame rods, a couple inches shorter for the idler rod. I believe.

Not 100% sure but that should be around right. you can always cut them a little longer than you need, so you can adjust down if need be.

Awesome -- thanks. The kids are busy assembling the bot now. :)

Anyone else getting a weird top layer on the end plate with slic3r?

That's odd... The file was literally a single contiguous 2D shape which was extruded. So it shouldn't have any bizarre geometry there. I sliced mine in KISSlicer, I haven't tried it in Slic3r so I can't comment. Perhaps someone else here has used it to slice the files.

You could try passing the STL through Netfabb free, or use the netfabb cloud service (which I've had good luck with STL wierdness, it seems extremely good at repairing even the most troublesome STL files).

The netfabb cloud service is at http://cloud.netfabb.com/http://cloud.netfabb.com/

Hope you get it to print!


Yep -- netfab worked. I started with some of the other parts, but alas -- now I'm nearly out of filament :/

Thanks for your great work on this -- can't wait to get it up and running!

cant get firmware to work arduino 1.0

Uploaded the 2 libraries one wasnt recognized

not sure which ide to use or which revision arduino?

In Arduino 1.0 you have to rename all includes of WProgram.h to Arduino.h

Im a noob and dont know what that means at all!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Any suggestions. I gotta study!

In the source files you will see occurrences of "WProgram.h" you need to edit the files and replace that with "Arduino.h" (I believe it's 2 occurrences with the spherebot firmware).

How long are the threaded rods?

Also can i use 5/16

what are the conversions to sae?


The rods I used were 5/16 SAE because I had them around. They are just a hair smaller than 8mm rods. I designed it for 8mm, but 5/16 should work fine. :)

The lengths I used for the frame rods is around 8"

The egg idler rod was a bit shorter, about 6"

Hmm for me it looks like all your nut traps and holes are way to small for M4 Screws and too big for M3 - did you form them for non-metric screws? No problem for the holes (using a drill) but the nut traps don#t work without heating them up and pressing the nut in that way which isn't that smart. did you use the exact dimensions from the nuts without giving a bit of extra space?

Yeah it's the slicer not compensating for extrusion width. A common problem with 3D Printing. Skeinforge supports a feature I think it's called Widen which compensates for hole size and such. I personally use KISSlicer which does a fantastic job. When I design a hole at 3mm it prints 3mm. (so to answer your question yes I design the holes to the exact spec. The trapped nut holes are designed to have clearance for the nut, but only about half a mm or so)

I'll upload the Sketchup files later tonight if I can find time :) so you can adjust if needed.

Thanks for the heads up!

Sketchup files uploaded as requested :)

Thanks Buddy, highly appreciated.

Thanks for your effort - i'm just waiting for things to come to my home (steppers, pololu,...) and will probably take the easter weekend to put something together. Any chance to get your source files? What did you use to construct? Sketchup? OpenSCAD? 8-)

I can post the skp files too, but I was going to wait until it was "done" (ie I've finished the electronics and printed on eggs with it) until then I'm just posting updated STL files and photos. Once it's done I'll release the sketchup sources.

hmm ok - i'll build mine on the weekend and hope everything fits. I thought having the skp files to edit some important stuff would be handy but you're the boss of course ;-)

Thingiverse is to 3d printing what smoke filled night clubs were to jazz. Awesome work!

I modeled this in Solidworks. Is this how it goes together?

Yes exactly! Can I use that image and add it to the thing directly? It will help with assembly instructions. I'll have pictures of the assembled bot by the end of the weekend (finishing off printing it right now).