The above are nearly all the tools and parts you’ll need to build your own itty bitty CNC drawing robot.1 If you have a 3D printer and a spare Arduino, the rest of the parts should cost you around $20. Right now this robot only has two axes, but in the very near future I hope to add either a Z axis or a pen lift. Without further ado the tools needed are:
- One small precision screwdriver
- 2x Micro Servo Motors
- 6x 3D printed parts, downloaded from Thingiverse
- 1x rubber band
- 1x pencil
You’ll also need an Arduino, some wire to connect your servos to the Arduino, and a USB cable to communicate with the Arduino.
Step 1: Print parts
There are only six printed parts necessary for this mini-CNC. If you’re careful, you’ll be able to fit all six on your MakerBot Replicator into a single build plate.
Step 2: Assemble the X axis stage
Grab your Micro Servo, the little screw that came with it, the flat gear (really, pinion), and the X axis stage. Just insert the Micro Servo into the X axis stage (it only fits one way), push the gear onto the Micro Servo’s motor shaft, and use the screw to secure the gear. It should look like this when done:
Step 3: Place the X axis stage on the large X axis rack
With the X axis stage gear-side down, rotate the gear clockwise until it stops.
Then place the gear into the X axis rack as show.
Step 4: Place the Y axis rack
Locate the Y axis rack and place it over the X axis Servo Motor.
Step 5: Assemble the Y axis stage
Just as with the X axis, gather the parts and assemble. This time, the servo motor goes into the stage (it only fits one way), the thick gear is then pushed onto the motor shaft with the gears toward the Y axis stage.
Step 6: Add the Y axis stage
With the Y axis stage gear-side down, rotate the gear clockwise until it stops.
Route the X axis servo motor wires through the rectangular hole in the Y axis stage.
Place the Y axis stage down, with the large rectangular hole around the X axis motor.
Step 7: Ready the pen holder
Place the rubber band around the pen holder as shown. You will probably have to wrap it around a few times.
Insert a pencil, pointy-bit down, into the pen holder.
Step 8: Admire your work
Your robot is done!
Step 9: Wire Robot to Arduino
To save you a little bit of trouble reading the Arduino sketch and figuring it out, here’s how you would connect your robot to the Arduino:
- Use a piece of wire to connect the orange wire from the bottom X axis servo to pin 13 on the Arduino
- Use a piece of wire to connect the orange wire from the top Y axis servo to pin 12 on the Arduino
- Connect the brown wires from the servos to the ground pins on the Arduino
- Connect the red wires from the servos to the 5v pin on the Arduino
Step 10: Draw!
Download my Arduino sketch to operate this robot. The movements of the robot are hardcoded at the moment, so please check back for updates. Also, if you don’t tape or glue or somehow affix the little bot to a heavy surface, it will literally jerk itself all around the table. (Although, in retrospect, I could have made it draw slower…)
It’s a little difficult to see the lines as the robot is drawing, but it really is drawing a grid in this short video:
Room for Improvement
I hacked this little project together just in time for the MAKE and GE Robot Hacks presentation on 11/20/2013, so I know there’s lots of room for improvement. Here are some things I’m working on:
- An entire Z axis or pen lift mechanism using a third servo
- A better pen/pencil holder
- Actual code to use XY coordinates instead of directly specifying the degrees for each servo
- Actual motion control software from Processing or Python
- A few adjustments to the Y axis stage for a better fit
- Possibly thicker gears so that I can use set screws
- A variation on the gears to use less plastic
- Getting the robot to work with my Adafruit Trinket!
I hope you enjoyed this quick to print and easy to use desktop drawing CNC!
- An Itty Bitty Drawing Robot
- Tiny CNC Drawing Robot - Cost Estimate
- How to Build a Tiny CNC Drawing Robot
- Better video of Tiny CNC Drawing Robot actually drawing
- Design considerations with the Tiny CNC
- Uses for a Tiny CNC Robot
- Tiny CNC - An Experiment in Commerce
- Tiny CNC - Going to 100
- Tiny CNC - now a 3 Axis CNC!
- Tiny CNC Software Update
- How to Build a Tiny 3-Axis CNC Drawing Robot
- Tiny 3-Axis CNC Drawing Robot - Software Update and Design version 0.29 postmortem
- Nine Drawing Robots On the Loose!
- Competing Design Ideals in a Drawing Robot
- The Tiniest Drawing Robot Actually Draws!
- Robot Friends: Tiny CNC and the WaterColorBot
- Tiny Drawing Robot Gallery
- TinyCNC Drawing Robot Software User Guide
- Drawing Robot AFRON 2013 Design Challenge Entry
- TinyCNC Two steps forward, one step back!
- Drawing Robot In A Box
- Drawing By Numbers
- TinyCNC: Too Many Ideas
- TinyCNC - Working Keypad UI
- Don't let SkyNet win! Take this poll!
- You’ll also need an Arduino and some bits of wire [↩]