What is Arduino CNC Shield Detail

Eggbot with Arduino control: A Corona project

I use the business inactivity forced by a drop in orders to work through all the projects, some of which I've had here for a long time. The Eggbot, a CNC-controlled egg painting machine, has long been dreamed of being realized for a long time. A good opportunity to integrate my other projects - 3D printer and CNC milling machine. And my children.

The possibilities available to the hobbyist - called modern maker - today are almost unlimited. Makers come up with the craziest ideas and put them into practice. The Internet offers instructions for every conceivable application, from the inclination sensor, which can be used to monitor beer fermentation at home brewers, to the five-axis milling machine with Arduino control. Often these instructions are so good that with a little skill and minimal electronics knowledge you can make the best machines. And most of the time, the projects are under an open source license so that everyone can participate.

By recreating open source projects, I came up with my first 3D printer, which in turn led to a completely new subject area in my professional work. This was followed by a book called “CAD for Makers”, which in turn led to my building a CNC milling machine - and this in turn was the trigger for my second book “CNC Milling for Makers”.

For me, it should now be an Eggbot - basically a 2.5-axis CNC machine with a rotary axis. The machine is fed with a "flat" CNC program and paints all around on eggs, Christmas tree balls and everything else that is approximately spherical. The X and Y axes are driven by stepper motors, the Z axis forms a servo that lifts the felt pen on its arm away from the egg and lowers it.

The right electronics (Arduino Uno, CNC shield and motor driver) can be found for prices from 13 euros on ebay or at various retailers, plus various M3 and M4 screws, motors, a micro servo, small parts and of course 3D printing - and wooden parts. That gave me the opportunity to use my self-made devices - 3D printer and CNC milling machine - that I had built for my book projects.

Bruce Shapiro had the idea for the Eggbot in 1990, and it was more of an art project than a machine. In 2009 the idea arose to sell a kit commercially. The EggBotBoard, a control specially designed for this hardware, was created for this purpose. To create the templates in SVG format, the original Eggbot, like its clones, uses the open source vector painting program Inkscape, which is supplemented with a plug-in to control the Eggbot. The communication between the plug-in and EggBotBoard runs via its own protocol.

There are now a myriad of Eggbot versions - some can be completely 3D printed - many of which have been switched to an Arduino controller. This includes its own firmware called EggDuino.

The Swiss Gaetan Collaud at Fablab Friborg has developed an alternative, he uses firmware that understands G-Code and an adapted version of the Gcodeender software. To do this, however, you need software that converts SVG images into G-Code. Inkscape also offers a plug-in for this, but I never got it to work.

The "official" workflow with Arduino firmware:

Inkscape -> Eggbot plugin> Eggbot special protocol -> EggDuino


Inkscape with G-Code-Plugin -> G-Code -> GCodesender -> EggBotArduino

The difficulty is now: The current firmware for the Eggbot is designed for the EggBotBoard and is not compatible with an Arduino with CNC shields. Again and again many people with know-how deal with this firmware and create a version that is Arduino-compatible. But which firmware fits which Inkscape plug-in? Github is full of guides on many different variants, it took me two days to find a working pairing.

The DXF data of the frame and a sketchup file with the 3D printed parts can be found on the website of Christoph Reinhardt, who built Eggbots for the Fablab Zurich. I also liked Arne Langer's website, who uses a different Eggbot design but the same controls. In the second and third parts of his Eggbot article, Arne describes in detail how the electronics are connected and, above all, which combination of firmware and Inkscape plug-in he uses.

Here and on the firmware page of Plex3r I finally gathered a working combination. Finally, I owe Arne the reference to a capacitor that has to be plugged into the Arduino so that it finally makes contact with Inkscape. On the EggDuino Github page of Plex3r there was the saving hint to use the Ebbot plugin version 2.50 - so it finally worked to paint eggs, just a week after Easter ...

The current combination is not optimal because the pen falls unchecked onto the egg, which causes the tip to suffer. A number of EggDuino variants can lower the tip more slowly, which in turn did not harmonize with the plug-in version 2.50.

The wooden parts were made from 3mm plywood on the CNC milling machine that I built for my book “CNC Milling for Makers”. I mainly use Estlcam, a simple but powerful CAM program, to create the control program from the DXF data. The 3D printing was done by my tried and tested, self-made Mendel90. I spent a few nice hours with my children, the two sanded the wooden parts and soldered the connections between the motors and the servo as well as the controller.

The result is impressive - in the meantime a whole series of great painted eggs has been created. By the way, on Thingiverse there are dozens of examples and pictures of how to feed the Eggbot.

And what do you learn from such a corona project? On the one hand, a lot about CNC controls, on the other hand, once again, that the open source scene suffers far too often from aborted, failed, but still accessible projects. Finding the right, working combination of firmware and control software was a real feat. On the other hand, there is hardly anything more meditative than watching the Eggbot paint an egg., And if it's also a family project - so much the better.