Computer controlled Etch-a-Sketches are not rare things. In fact, there is at least one other such device made with the Raspberry Pi (see Fancois Dion's Pi-A-Sketch project on the Raspberry Pi site). However, I think my Etch-a-Pi design is pretty reasonable, so I'm describing how to build it here. Also, as a digital artist, not just a techie, I am quite keen on developing interesting creative uses for it and will be sharing my image-making software here on Bitbucket - as well as looking for contributions from other people. If there is enough interest I will be arranging an exhibition of the results through the Computer Arts Society.
I think this is a beginner to intermediate level project. However, it does involve soldering (to make the stepper motor interface) and the use of super glue (which is very dangerous stuff in the wrong/little hands). It can be made in a few hours.
How to Build the Etch-a-Pi
Things you need:
- A Raspberry Pi (details here).
- A full-size Etch-a-Sketch (from places such as eBay or Amazon). Up to £15 new.
- A stepper motor driver, such as this one from MyPiShop. They sell them on eBay for about £10 plus postage.
- My free Etch-a-Pi python scripts.
- Two 5v 28BYJ-48 stepper motors. £2 or so each from eBay.
- Two 12 teeth plastic cogs and two 58 teeth plastic cogs. Such as the ones available from eBay here. You may be able to make do with whatever you can find, so long as the gear ratio is around 5:1. The centre hole in the gears will need to be expanded to 5mm.
- Two half blocks (2x2) or lego (yellow in my picture) and two flat blocks (2x2 or 2x4) of lego (white in my picture).
- Some strong super glue suitable for sticking plastic and metal.
How to make the project:
- First set up your Pi and build the stepper motor driver. Instructions will be on the relevant sites. Plug the stepper motors in and use my Python code to make sure that everything works as expected.
- Use a screwdriver to force the white knobs off of the Etch-a-Sketch to reveal the metal spindles.
- Fix a large cog (58 teeth) to each spindle. You may need to use a drill bit or screwdriver to increase the size of the holes in the cogs to 5mm. I then used a hacksaw to make a couple of notches on the spindles and glued the cogs in place. The cogs should be completely level with the Etch-a-Sketch case and there must be a good 5mm gap between the cogs and the top of the case. If the cogs are crooked, or touch the Etch-a-Sketch case, the mechanism may not work properly. Use the glue sparingly (it must not drip down the spindle or you will be, er, stuck). Wait for it all to dry before proceeding. Once dry make sure the Etch-a-Sketch is still working OK, with the cogs used in place of the original white knobs.
- Now fit the small cogs (12 teeth) to the spindles of the stepper motors. As above, the holes in the cogs may need to be increased to 5mm. Be careful working with the little cogs, it would be easy to break or distort them. Again, glue them in place and make sure that they are level. Wait for the glue to dry and test them again via the Pi.
- Now stick the 2x2 lego blocks to the stepper motors. The block should be lined up with the plastic back of the motor and leave plenty of space between it and the little cog. Study my pictures if this is not clear. Wait for the glue to dry.
- Now the bit that requires some judgement. Connect the stepper motor to the 2x4 flat lego block. Don't glue them! Hold the combined mechanism in place next to the big cog on the Etch-a-Sketch and test to make sure that the stepper motors drive the Etch-a-Sketch OK. Only when you are sure that everything is going to work should you glue the 2x4 flat lego block to the Etch-a-Sketch. Wait for it to dry and you're done!
Things to watch out for:
The main thing that can go wrong is that you glue the stepper motors to the Etch-a-Sketch before making sure that they are in the correct place. If your cogs are not level you might think everything is OK and glue them down, only to find that the mechanism gets stuck after half a revolution of the big cogs. You may be able to trim the small cog on the motor to fix this (it worked for me). Otherwise you're going to have to work out a way of re-aligning everything.
The best thing about the design:
The two lego blocks do not need to be glued together since their natural bond is strong enough to resist the sideways force of the motors. This allows you to remove the motors and use the Etch-a-Sketch normally by rotating the big cogs directly. Hence you can still re-position the 'drawing head' manually when needed and remove the motors to shake/erase the Etch-a-Sketch. It's also handy when transporting the device.
I used the cogs because I discovered that my stepper motors were not powerful enough to drive the Etch-a-Sketch directly. You might be able to avoid the need for these by loosening the Etch-a-Sketch mechanism in some way or using more powerful motors and simply connecting the spindles of the motors to the spindles of the Etch-a-Sketch controllers. Both spindles are 5mm in diameter so a small piece of appropriately cut plastic pipe and some glue could be used to join them. You would still need to work out how to fix the motor in place though. See the Fancois Dion Pi-A-Sketch project for an example of this. By using the direct drive approach, however, you would also loose the ability to easily detach the motors.
The 5:1 gearing ratio means that in exchange for five times more power, the mechanism is one fifth of the speed of the motor on it's own. I quite like the speed it runs at, but you could try more powerful motors or a lower gear ratio to make it faster.
I hope people like this design. Let me know if you make one and send me - Sean Clark (email@example.com) - examples of your code of any pictures. Check my Bitbucket page to see how the software side of the project develops.