Secondary Menu

Drawbot!

This instructable will document the construction of a Raspberry Pi controlled drawing robot that allows you to turn any flat surface into a canvas. Once you've built the drawing robot you'll be able to calibrate and send drawings to it via WiFi.

*This was built in the Black & Veatch MakerSpace from plans created by MakerSpace patron and creative wonder Andy Wise. See the Drawbot project on Github by Andy for more information.

Notes: The suction cups need a long metal post to reach the motor mount.

First, attach the aluminum universal mounting hub to the stepper motor. Use the set screws included with the mounting hub and attach the hub close to the end of the stepper shaft.

Next, attach the 3D printed twist motor mount to the stepper motor using four M3 screws. The twist motor mount will have an indentation to indicate which side to mount the motor.

Now attach the 3D printed spool to the mounting hub with 4-40 screws.

For the suction cup mounts you’ll need to disassemble your Harbor Freight suction cup. Keep the rubber suction cup, spring and metal post. Drill a ⅛” hole in the suction dome and thread in your eye bolts or use the Suction Cup Dome with Hole. Place the 3D printed dome over the rubber suction cup. Attach the motor mount by pushing it down on the suction dome so you can thread the screw through the metal post.

Now do the same for the other motor mount.

Spool fishing line on the spools.

Notes: Harbor Freight suction cups are a must, they have a taller metal post than other suction cups. The item number is 62715.

Step 3: Pen Holder Gondola Assembly:

Glue the 3D printed servo extension arm to one of the servo arms supplied with the servo. -Ours eventually fell off so we used a paperclip that we snipped in half and taped it to the servo arm.

Use the ultra-handy twist tie to secure the servo to the gondola.

Next slot the bearing connector rings to the bearing connector arms. Push the bearing through the bearing connector assembly, our 3D printed parts needed a bit of clean up with a blade to allow the bearing to push down into the bearing connector.

Slide the bearings that now have the bearing conectors and arms on the gondola. The shaft on the 3D printed gondola needed to be sanded a good deal to allow the bearing to slide down.

Last is the gondola retainer that will keep everything together, use screws to secure it to the gondola shaft - these also will secure your pen while drawing.

Step 4: Software

If you've never prepared a Raspberry Pi start by checking out our guide.For this step I recommend referring to the Drawbot Github .

Notes: For testing to make sure the connections are correct it's recommended to breadboard first before soldering everything together.

If your Pi and/or EasyDriver doesn't include header pins solder them on now.

Connect the female USB breakouts to each EasyDriver using the motor section on the board. For this step hopefully, you have a datasheet or reference for your Stepper Motros. Make sure to keep the windings/coils together. The stepper here had pairs of Black & Green and Red & Blue. Here we kept "Winding A" to Ground and D+ on the USB breakout and "Winding B" to VCC and D- on the USB breakout.

Use jumper wires to connect the servo motor to the Pi GPIO. -refer to the information above.

Use jumper wires to connect the EasyDriver boards to the Pi GPIO. -refer to the information above

Connect the stepper motor wires to the Micro USB breakout again making sure the pairs are matched correctly.

The EasyDrivers need power. Connect the tip of the barrel jack to the "PWR IN" on the EasyDrivers and the sleeve of the barrel jack to the GND of the "PWR IN" on the EasyDrivers. We used a perfboard to split out our power and ground from the barrel jack to the EasyDrivers.

Step 6: Testing and Drawing!

Once your Pi, EasyDrivers and USB breakouts are connected either via breadboard or if you jumped right in by solder, it's time to test.

Setup and TestingStart the Drawbot controller software on the Pi. est the easier motor to control, the servo. Click the Pen button in the middle of the controller bulls-eye and hopefully the servo arm will rotate 90°. Use this test to make sure the servo arm is oriented correctly to lift the pen off the surface. This will also let you know if you're connected to the Pi and Drawbot controller software.

Next is the stepper motor. It's easier to start with one at a time. With a stepper motor connected click a coordinate on the Drawbot controller bulls-eye. The stepper should move smoothly. If the stepper stutters make sure the wiring is correct and the pairs are matched. Test the other stepper.

With the steppers disconnected find a nice flat, smooth surface and mount the steppers making sure they are level to each other. Extend some of the fishing line from each spool and connect it to the bearing arms on the gondola. Reconnect the steppers. Use the Drawbot controller to move the gondola. When clicking the upper right on the the bulls-eye the gondola should move to the upper right, if not adjust the config file. If the gondola moves opposite of what it should turn on mirroring in the configuration file on the Pi.

Measuring

Almost there. Next is measuring. We've found a small retractable measuring tape handy, all measurements will be in millimeters.

Click the settings icon in the Drawbot controller and there will be three values that are needed, "D", "X" and "Y". See the image for an illustration of how to measure. The first value, "D" is the distance between the spools. The next values are essentially the home location of the gondola. The "X" value is the measurement from the left spool to the position of the pen in the gondola. The "Y" value is the distance from the spool down to the gondola. Input these into the settings of the Drawbot software. Setting the home in the upper left corner is recommended.

Drawing

Finally drawing!!

Once everything is measured as accurately as possible and the pen in the gondola is lifted off the surface and homed it's time to feed the Drawbot a SVG to draw. Simply drag a single path SVG onto the bulls-eye of the Drawbot software to start a drawing, I've included a calibration drawing for your robot drawing pleasure. Enjoy!

Pocket Sized Contest

Build a Tool Contest

Weaving Challenge

9 Discussions

In theory yes. As long as you can trigger/power the solenoid and the solenoid plunger is long enough and strong enough to push the pen off the surface don't see why not. The gondola would need to be redesigned to hold the solenoid as well.

Seems like an interesting way to make a polargraph more portable/flexible being battery operated and almost everything included in the gondola without need of external power/connections. I'll be following your progress!

On the web server part you should check out the drawbot github, it uses a WebSocket.

Hi,I'm finally getting into steppers and such and wondering if you have any pointers for alternatives for the 3d printed parts, since I don't have a 3-d printer at all that I can use. Been looking for 5mm dia shaft pulleys, but most of them have gear teeth, which isn't really ideal.

Any suggestions of what I could buy pre-made? Or can I order stuff from thingverse? As you can tell, I'm clueless about 3-d printing issues.

Turns out my local library has a 3-d printer, so I've got one spool and waiting on a second. Now I've got the drawbot software running, but it's not actually talking to the GPIO pins at this time.

I've got a stepper.py script which I'm using to test, but I'd appreciate any debugging hints. I suspect it's because of my troubles getting the gpio nodejs module installed and working properly, even though I thought it was all set.

Is there a nodejs script I can run from the CLI to do a quick test to confirm it's all installed properly?

I imagine you could re-purpose some sewing machine thread spools, or just directly wind the fishing line on the stepper shaft. There are lots of hardware options for mounting steppers out there. Seems most gondolas are 3D printed or made from laser-cut wood or plastic. I've even seen some gondolas made from a Frisbee and PVC.