Rafael Fuentes, Carmen María Fuentes and Carmen Pérez decided to create this project that was submitted to ‘Creative Electronics’, a Beng Electronics Engineering module at University of Málaga, School of Telecommunications. The project consists of making an eggbot using an Arduino Uno development board.
This project was done for being a good introduction to CNC machines because you can clearly see and learn all the firmware and hardware concepts that involves them in a fun way. It was also decided to build the main frame from acrylic sheets in order to get our hands dirty in terms of the physical build.
The eggbot is a friendly art robot that can draw on spherical or egg-shaped objects. Your barebone version only needs two stepper motors, a micro servo motor to lift the pen, a bearing and some threaded rod. And of course, you’re going to need the electronic bits to drive it all.
Conceptually, one stepper rotates the egg around its axis of symmetry, the other rotates the pen’s axis so that it can travel north-south, and the servo lifts up the pen between strokes.
Supplies
Mechanical components:
- Lead Screw 8 mm x 150 mm (1x)
- KLF08 bearing (1x)
- M3 screws
- M3 nuts
Electronic components:
- CNC shield (1x)
- Arduino Uno (1x)
- A4988 Stepper Driver (2x)
- Nema 17 Stepper Motor (2x)
- SG90 Micro Servo (1x)
- Jumpers (6)
- 12V 2A Power Supply (1x)
- Male to Female Jumper Wires (3x)
Step 1: 3D Printing
This project is very little 3D printing demanding because all of the main frame is made from acrylic sheets. To print these pieces, I would recommend using PLA, 20% infill and 0.2 mm layer if you want good results.
Step 2: Pen Holder

The hinge between the top and bottom part is created by an M3 30 mm screw. Just line the parts up so, you can see through the hole and push the screw in and attach it on the other side with an M3 nut. The servo is attached using (2x) M2 12 mm screws and (2x) M2 nuts. In this case we sewed the servo to the piece because we didn’t have M2 screws.
Step 3: Stepper Motors

First of all, you have to attach the holders to the stepper motors using (4x) M3 8 mm screws. After that you can attach the egg holder and the pen holder to the stepper motors using (2x) X mm screws as shown in the picture.
Step 4: Bearing Holder

First you have to attach the KLF08 bearing to the 3D printed holder. It is held in place by (2x) M3 8mm screws and (2x) M3 nuts.
Then you have to attach the 3D printed egg holder to the Lead Screw using an X mm M3 and place an M3 nut in the rectangular hole to keep things in place.
Then you can adjust the Lead Screw using an Allen Wrench. You have to adjust this everytime you add an egg to the machine to adapt to the Egg’s shape.
Step 5: Electronics

Then you have to connect the (2x) A4988 drivers on the X and Y spots for them in the right orientation as shown in the second picture, you can now insert the wires from the stepper motors.
Now it is the time for the servo connections. First you have to somehow separate the wires that usually comes together. In this case we separated them using (3x) male to female jumper wires, and we attached them using tape. After that you have to identify the data wire (it is usually yellow coloured) and you have to connect it to the white SpnEn pin on the CNC shield. Finally, you connect the red pin to 5v5 and the brown or black to GND.
Step 6: Creating the Frame

Step 7: Programming the Arduino

1) Download the ARDUINO IDE (v 1.8.1 or above) here:
https://www.arduino.cc/en/Main/Software and install it.
2) Run the software. Select the Arduino/Genuino UNO(native USB port) board and the right COM PORT in the menu “tools->board”…
3)Open and Upload the Ejjduino_M0.ino code. CLICK HERE TO DOWNLOAD IT (decompress all the files inside the same folder, name it “Ejjduino_M0”).
Step 8: Controlling the Egg Bot (Inkscape)

Download and install the Inkscape software with the eggbot plugins already installed.
Please note that most of this information comes directly from the Evil Mad Scientist wiki webpage and jjrobots. We have basically adjusted it to our design. All the hard work has been made by Evil Mad Scientist and jjrobots for developing this and they should take all the credit.
The EggBot Control extension for Inkscape is the tool that you will use to help you test and align the EggBot, as well as transfer your drawings to an egg. First you’ll need to start Inkscape. Once Inkscape is running, you’ll have an Extensions menu, and on that menu will be a submenu labeled Eggbot. If you do not see an Eggbot submenu, you have not yet correctly installed the extensions; please back up and carefully reinstall the extension.
In the Eggbot submenu are several different extensions that perform various Eggbot-related tasks. By far the most important of these is theEggbot Control extension, which is the program that actually communicates with the Eggbot.
Now that we have all assembled and the software already installed you can start making your first plot.
In order to do that I would recommend taking a look at the Evil Mad Scientist wiki this is by far the most complete guide that you can find online and it will guide you to calibrate your machine and making your first plot. They also have uploaded a video explaining all of these little details that will make a difference on your drawings.
Step 9: Final Thoughts and Good Resources Online
We encourage you to try to make your own version of the Egg Bot. It is definitely a cool project, and trying to change a design already tested is always fun and challenging. In order to achieve that you can check the best resources we have come across online some of them gave us ideas and inspiration and they must take all the credit for it.
- Sphere-O-Bot. (one of the best desings so far there is a video assembling guide that you can find here using the same CNC shield that we used, you can even order the kit that includes the electronics from jjrobots)
- Evil Mad Scientist (the best machine if you can pay the $220 that it costs, they also have a very informative wiki)
Read more: Eggbot