Do NOT let this happen!
I want to put some finishing touches on my TinyCNC drawing robot before Maker Faire, but I’m a little ambivalent about how best to show off it’s drawing/CNC abilities. There are several excellent ways to control such a robot – perhaps you can help me decide? My thought is that an IR remote would be really nifty, since I could just hand the “control” to someone and they could play with the robot, getting it to draw something. Then again, feeding gcode to the ‘bot and having it actually draw something semi-recognizable would also be great.
For context, here’s the links to the various possible ideas for control mechanisms:
Please vote above and let me know what you’d like to see working at Maker Faire!
If you’re still on the fence about trying to build your own drawing robot/plotterbot, take heart. (Skip to the bottom of the post if you want to check out the latest 3D printable files and Arduino code.) If a relative newbie such as myself can make a go of it, I’m pretty sure you can too.
Last night I finally got the little ‘bot to really make use of the keypad as a modest user interface. The robot is now using the USB cable purely for power purposes, rather than requiring the serial connection to the Arduino serial monitor as well drawing power from the USB port. Now I can just connect the USB cable to a random USB charging device and operate the robot in a meaningful way by using the keypad.
In addition to the keypad direction system described in a previous post, now the “*” and “#” keys also have a usage. The “*” key now starts and stops the Arduino from logging the inputs. Pressing the “#” key will play the most recently recorded inputs.
My record/playback system is super hacky and the ‘bot sometimes jitters before carrying out a command. I’ll also have to implement a few additional changes to the design of Y axis before it can hold a pen reasonably stead.
But, it works!
Download the latest stable 3D printable parts on Thingiverse, latest Arduino sketch from Github, and play with one for yourself!
I’ve been brainstorming ways to make the TinyCNC better:
- Drawing and Recording.
- My idea is to be able to control the robot through they keypad, perhaps going through the motions for a drawing or to perform a small task, and then have it “replay” the same motions. Ideally, press the “*” key to start “recording,” draw something with the keypad, press “*” to stop recording, and then press the “#” button to replay the motions. Could be nifty!
- Drawing by Remote Control.
- The Adafruit keypad I’m using is great! There are only two, very minor, problems with it. First, it requires 7 input pins, which means that I definitely need a full-fledged Arduino to run the robot, even though it can run off a tiny Adafruit Trinket or Digispark. Second, the buttons are a little difficult for my youngest daughter to press.
- Using an IR receiver sensor, I could use a small IR remote to control the robot – which would be great. Or, I could possibly even use an old remote control from a TV or VCR.
- Changes to Y Axis. The Y-axis tends to “droop” when it is fully extended. If the underside was slightly longer, it could just have a plastic runner that would keep it level.
- Changes to Z Axis. The current Z-axis sucks. It is very wobbly and not able to hold a pen very well. If it had a sliding slot/notch system like the XY axes do, it might not be as bad.
- Changes to X Pinion/Gear. If this were very slightly thinner, I wouldn’t have to raise the X rack slightly off the drawing surface. Or, of course, I could make the X rack slightly taller.
Draw by numbers! Plus the pound and star keys, if you want.
In preparation for Benicia Mini Maker Faire 2016 this last weekend I finally got my TinyCNC working with this sweet Adafruit numeric keypad! Now using the robot is so easy, even a 17-month old can operate it!
I’ve programmed the ‘bot to interpret to move as follows:
- 4 = Left
- 6 = Right
- 2 = Back
- 8 = Forward
- 5 = Up
- 0 = Down
I believe the directional keys move the ‘bot in 3mm increments, but this is easily adjusted in the code to whatever you prefer. I’ve also set the 1, 3, 7, and 9 keys to move in the four combinations of X / Y max / min travel.
Print a TinyCNC for yourself by getting the STL’s on Thingiverse. Also, I’m still getting the hang of this whole GitHub thing, but if you have a similar keypad and want to give the Arduino sketch a shot, check it out here. You’ll want the one entitled, “TinyCNC Keypad.”
Here I am!!!
Here’s where I am at Maker Faire! Back of the Expo Hall. Look for the booth decked out with lots of drawings!
My daughter brought her “How to Make Super Awesome Puppets” display and is sharing the space. You can’t miss us!
Draw on the go with a small Arduino-powered CNC robot!
Well, technically, ON a box.
The wiring is really simple. A small breadboard is used connect Arduino pins 10, 11, 12, power and ground to the three servos. The keypad is wired directly to pins 2 – 8 on the Arduino. That’s it.
Wait… that’s all there is to it?!?
Of course, it doesn’t work. Yet. 🙂
Join me at Maker Faire 2015!!!
Maker Faire Bay Area 2015 is just a few days away! I hope you’re as excited as I am!
I’ve made some minor improvements to my large drawing robot and am going to bring a tiny drawing robot as well. The changes to the big drawing robot are:
- “Feet” for Underside of Project Box
- My robot is built into a shallow wooden box. On the top of that wooden box there is a “holder” for a roll of paper. By adding little “feet,” as short as 1/8 inch or so, to the underside of the project box, the box no longer pushes against the roll of paper – which makes it easier to pull paper down when drawing.
- Revisions to Paper Roll Holder
- As it is, the paper roll holder is a little close to the project box, so the paper sometimes bumps against it. This isn’t much of a problem, but one that can be eliminated easily.
- A notch in the top of the paper roll holder. This way, rather than having to dismantle the robot, I can just lift the old paper roll out and drop in a new one.
- Batteries for Pen Holder
- The pen holder uses AA batteries, not for power, but for dead weight. Right now the batteries are held in place by hot glue. I would rather there was a slot on the holder for actually holding the batteries.
And, for those of you interested in seeing more of my TinyCNC, I’ll be bringing that too! I’ve been working on a little something there as well. Here’s what I’ve done:
- Mounted TinyCNC
- On a cigar box! The TinyCNC is bolted to the top of a cigar box kindly donated by a local smoke shop. A small solderless breadboard and Arduino now live inside the cigar box as well.
- Trying out New Interface
- I tried using the TinyCNC at first with an Arduino, feeding it Gcode-like commands over the serial interface. Then I tried saving designs as coordinates and flashing an Adafruit Trinket with the coordinates and drawing that. Since the Trinket doesn’t have a serial connection, this meant I lost a lot of the functionality of the tiny robot.
- This time I’m using a membrane 3×4 matrixed keypad to control the robot. The keypad is also mounted to the cigar box.
- Trying out New Code
- I can get the Arduino to recognize keypresses reliably, but I can’t get the ‘bot to move in response… yet. 🙂 Heck, I still have almost 36 hours until showtime, which is plenty of time. So far, it does absolutely nothing at all – except shudder. I’m not that worried about it though, I can always go back to an older version of the Arduino sketch.
As far as actually showing a working demonstration of the TinyCNC, I have a few ideas. Here’s what I’d like to show off, in descending order:
- Tiny robot, controlled by a numeric keypad, letting people draw on pieces of paper and take them home.
- Tiny robot, with several pre-programmed designs, letting people hit a number on a keypad, having it draw a pre-programmed design, and taking the piece of paper home.
- Tiny robot with a single push button mounted on box, which draws a single pre-programmed design when pressed, people take the piece of paper home.
- Tiny robot, connected to my laptop, drawing things sent from the laptop, and let people take a piece of paper with the drawing home.
What will be ready by Friday afternoon? I have no idea!!! You can either stop by and see for yourself or tune in on Monday night when I post a recap of the weekend.
Sometimes it can be difficult to figure out where to get started on a project. Once you’ve read through the build instructions, you’re going to need to get your hands on some parts. I’ve provided a “shopping list” of sorts below:
- Basic Shopping List
- Scavenge or Buy
- Optional Parts
- Best All-In-One-Kit
I’ve got more to say about each of these fantastic suppliers, but that is another post in and of itself. Feel free to shoot me an email or leave a comment if you just can’t wait.
The small robot from Diatom Studios called the Piccolo was the inspiration for my own TinyCNC. The Piccolo was first announced in February of 2012, but Diatom Studios just released a new video of their robot with lots more details. They’ve also released all the source under Creative Commons, so you can track down their source files on Github and follow their excellent building guides to create your own.
New Piccolo video:
Older Piccolo video: