I've seen various Arduino driven Etch-A-Sketch clocks on the web , but none with instructions (is it some kind of secret? Is someone planning on making it rich in the Etch-A-Sketch Clock global market?). I've used Arduino, but never used stepper motors, real time clocks, never coded to this level (turned out quite simple really), and never really built something from scratch. 

I took the code from someone who had made an EAS (Etch-A-Sketch) that drew random lines, then learnt from there (his code taught me how to drive steppers and how to use case statements).

It's all actually rather simple. The hardest part is defining each numerical digit in code as each EAS is slightly different. For example, when you turn an EAS knob left the "cursor" on the EAS goes left. You could measure this, and quickly write the code that "-1600" steps of the stepper motor draws 2cm of line on the EAS in the left direction.

You would then assume that "+1600" steps would give 2cm of line on the EAS in the right direction, but it won't. You'll probably get around 1cm. This is because the EAS is an "analogue" device with it's own analogue foibles. You'll notice that when you turn a knob in one direction, and then change direction, the drawing stylus will lag behind as slack in the internal mechanisms is taken up.

The exact distance each EAS knob moves the stylus/cursor on the EAS is dependent on what it last did! i.e. if the EAS just moved up, then the next move to the right will be different than if it just moved left. etc etc.

This means each number/digit has to be calculated manually. It was a lot of work. Not difficult, but it required patience. I did it over several evenings. You will notice the digits 8,9 and 0 are not so pretty as these were the last ones to do and I had lost my patience by then! You can fine tune them easily :-)

To work out the numbers I printed 0-9 in a "digital" font and then cut the numbers out. I then stuck them on the EAS and "drew" around them with the EAS test code (more on that later).

Step 1: BOM - Bill of Materials (Parts List for Us Brits!)

This is fairly fluid - I'll give you a few options at the end.

Perspex/Acrylic Sheet A3 - 3mm thick   £5
Perspex/Acrylic Sheet A3 - 4mm thick   £6.80

All of the below were from http://www.zappautomation.co.uk/en/
8mm smooth steel rod 300mm  SFC8  £3.60
8mm rod clamps x 2  SK08   £2.82
T2.5 32 tooth pulley for EAS rotation  £3.49
T2.5 Belt 6mm wide  145mm long for EAS rotation £3.96
Nema 17 motor SY42STH33-1334A for EAS rotation £11.00  (I found better since, read later)

These were from beltingonline.com
T2.5 6mm wide 177.50 long belts x 2  £6.98 for both
T2.5 30 tooth pulley x 2   £5.91 for both
T2.5 20 tooth pulley x 4  £10.94 for all 4 ( you only need 3)

ITC RTC DS1307 AT24C32 - Real Time Clock with rechargeable battery £2.85 Ebay Chinese seller
5v Stepper motor with ULN2003 driver x 2    £3.30 each or less - Ebay
EasyDriver - Arduino stepper motor driver (http://www.schmalzhaus.com/EasyDriver/)   £3.00 or less - Ebay (Chinese sellers)

Etch-A-Sketch - around £10 from Tesco online.
12V Power supply - at least 2 Amps - £varies

Arduino ATMega328 Arduino Uno chip kit   £3.50 - this is the Arduino chip, resistors, crystal, and 5V regulator kit. You could just as well buy any Arduino on a board. It doesn't matter. This is just the cheapest way.

Additional Notes:

The small stepper motors (x2) with the ULN2003 drivers cost next to nothing on Ebay. I bought them as I was experimenting and didn't even know if I was going to be able to get this to work at all so didn't want to commit too much money. They are slow. But they work. They also get very hot, but seem ok. They are slow enough that it takes around 2.5 minutes to draw the time. I then have the clock pause a while, then draw the time again. This way the motors can keep up, and the EAS is not constantly updating, which would surely wear it out in short order. My next step is to replace them with Nema 17 motors.

The stepper motor for the EAS rotation was a mistake. I didn't know what I was doing. It works, but only just! - It requires 1.3Amps per phase to run at full torque and is also quite a small motor. The EasyDriver stepper driver is only rated to around 750ma, so it can't run the stepper at full torque. With adjustment of the power screw on the EasyDriver it turns the EAS, but the weight of the EAS has to be balanced fairly well to take the work out of it.

I since bought some Nema 17 Stepper motors that are rated at 0.8amp per phase at 6v and they are unstoppable!

The easy driver can also be substituted with a generic L298N 4 wire stepper driver - but they cost nearly the same, and don't have nice smooth microstepping like the EasyDriver has, and they use more wires! I left the commented-out code in the main Arduino sketch so you can see where I 1st used one of these drivers to turn the EAS (before I burnt it out using the wrong motor!).

<p>BTW - it goes without saying - but this is a wonderful piece.</p>
<p>QUESTIONS:</p><p>Could you use a simple tensioner pulley to take up the slack, placed in between the driver and the knob, spring loaded in an outward direction? If done right it should pre-load the knob, pulling up the slack.</p><p>Or in the same vein, could you use some sort of tension sensing device in the same place with a simple leaf switch that would be depressed when the tension is taken up? The first driver motion would turn until the slack is removed, then begin the drawing motion.</p><p>Or, I would think already considered, is determining the number of motor steps required to re-tension the knob after a movement? It would probably need to be deterministic based upon how many steps the last move had made.</p><p>Or could you place a sensor underneath the EAS to determine where the needle is, thereby creating a closed-loop system based upon actual needle placement, rather than open loop where it guesses based on wheel turns?</p>
<p>What A Brilliant work.. </p>
<p>Very interesting! Thanks for posting!</p>
<p>I am very impressed with this project. The &quot;lag&quot; you are talking about with the dials is referred to as &quot;backlash&quot; and is common place in machining equipment (eg. lathes, milling machines). I wonder if you could research how DRO's (Digital Read-Outs) retrofitted to manual Bridgeport milling machines compensates for this and you might be able to add this functionality into your code. It's late and I am about to go to bed, otherwise I would investigate this concept further. Hopefully this helps!</p>
Absolutely wonderful! I've been wanting to do my first stepper motor project , this may be the one! Thx for sharing
<p>couldn't you change the pulley sizes to counteract the internal 1/64 gearing? or would that kill your resolution?</p>
I tried 1-1 pulleys (same small pulleys on the EAS knobs and the motors didn't always have the power to move the EAS. The motors I used are running at the max of their ability, with the the gearing to the EAS being as &quot;high&quot; as I could get away with :-) Like I've said though, a simple change to Nema 17 motors and it will fly along.
<p>Well there goes my idea of swapping the EAS and stepper pulleys to change from what looks like a 3:1 ratio to a 1:3 ratio.</p>
<p>I'm wondering if there isn't a way to re-use characters to limit the frequency of full-erasures. Either drawing over the last digit in such a way that it erases it enough to draw over it. Or turning a '1' into a '2', etc.</p><p>Some sort of second ticker might be nice too. Small movements to represent the progression of the current minute.</p><p>On the speed issue ... if you can't speed up the steppers you still might be able to change the gearing somewhat. Resolution may suffer a little, more software tricks could help with that. Or perhaps the steppers are simply too weak to gear up and still turn the knobs. Hmm.</p>
<p>If this is not the coolest, most creative digi-ana clock EVER, then I dunno which one is... So awesome!! I have a font that'd go perfect with it but unfortunately has curves and we all know what that means: hell to code the steps!!!</p><p>Awesome, simply awesome! Kudos!</p>
<p>Pretty cool...especially the screen clear.</p><p>An improvement would be to turn both knobs at once. Then you could draw some curvy numbers and make it even cooler!</p>
<p>I must admit I haven't a single use for this but think its very creative and a great gadget. I had a though, that part of the delay is the fact you wipe the whole display then have to redraw the same thing (or 75 % of it) thus if you change it every minute then the 10s of hours the hours and the tens of minutes get redrawn loads of unnecessary times. What about using two EAS ? one for hours and one for minutes this will speed it up no end or one EAS for each digit and it'll be super fast (relatively). </p>
<p>Ha!- I like the idea of 2 EAS - one for hours and one for minutes. Brilliant :-)</p>
<p>You could rotate them 90 degrees and make numbers you could see from across the room. Of course it would take so long to make the big numbers that the clock would be useless, but nothing is perfect.</p>
<p>What a brilliant way to waste time</p><p>and WHY did I give my EAS away ?</p>
The etch and sketch got my attention. I know nothing about this. But your instructable is very informative!! Good build!!! Voted for you. Might be a dumb question but is there a way to speed the controls up so it's not taking so long to tell the time?
<p>Thanks :-) - and no - those steppers won't go any faster. The only solution would be to replace them with NEMA 17 motors which will run 1:1 (the little steppers I used have a 64:1 gear reduction internally). I have everything ready to go, but I'm holding off as, to be honest, I kind of like watching it draw the numbers, as that , after all, is the magic of it. </p>
<p>Very nice project. But on a practical standpoint ...well...it isn't; it takes too long to tell the time. However, I understand about your issue with the gear reduction. I think it would be very cool if it were to run at break-neck speeds or have one normal speed that would be fast, and one demo speed which would be slow. </p><p> I imagine another application that captures an image into a laptop; the laptop vectorizes it and sends the commands via Bluetooth to your device which draws the portrait.</p>
<p>I hear you. But there is also the logic that if it drew the time in under a minute it would be rotating every minute, which isn't very relaxing after a short while :-) - I also like how the small steppers are dirt cheap. It makes it much more affordable. You could also use an RC servo to rotate the whole thing. </p><p>I will update it with fast steppers for the drawing soon, but I'm just playing with a new toy at the moment - a 3D printer :-)</p>
<p>Oh cool. What 3D printer did you get? I'm shopping for one. I bought a $100 PeachyPrinter just to get my feet wet (pun intended) but I also want to play with the big boys with an extrusion printer. There is a small delta type one, not for sale yet, that looks like a spider. Very cool. That project is still evolving.</p><p>To get back on subject, I was wondering how hard it would be to insert a mechanism, solenoid perhaps, into the EaS to lift the stylus off the glass (pen-up action)? Maybe the aluminum dust would pose a problem.</p>
<p>I am building a Prusa i3 (open source project) . All in it's costing me &pound;350. I could have done it for less but for some bits I paid for convenience rather than spending days selecting nuts and bolts to buy. </p><p>Opening an EAS is a messy business. I recommend against it big time. Aluminium powder gets everywhere and is a nightmare to clean. I think part of the point is to work within the limitations of what an EAS can do natively. </p>
<p>its really interesting i have my own etch screen laying in my closet was gifted to me when i was 7...wow about 40years ago). Now the problem for me is that it takes almost 3 minutes to display the whole thing.....just kidding. Thank you for brinking lost memories</p>
<p>So, I haven't read this 'ible as yet. I jumped straight to the video to watch the action. As I am watching, I'm wondering how in the world do you clear the screen. Then the whole device tilted. I literally laughed out loud! Nice!</p>
<p>I'm new to stepper motors and I'm a little confused about the drivers since you have 2 ULN2003 drives and one EasyDriver. If I used 3 NEMA 17 stepper motors would I need 3 EasyDrivers to control them or 1 EasyDriver and 2 ULN2003 drivers like you have?</p>
<p>The ULN2003's are just for those motors I used (well, they are only for 5 wire steppers). You are best forgetting about them as the EasyDriver is so nice to use, cheap, and uses only 2 wires to the arduino. If you use 3 Nemas then I'd use 3 EasyDrivers. My advice is to build a breadboard and experiment using an easydriver on one Nema, and play. You will find there are several ways to talk to the easydriver. You can use a loop like I have (slightly cumbersome for larger jobs, like drawing the numbers), you can use AccelStepper, or you can use the standard stepper library. I'm sure there are more ways. I'd get it working with one example, then try the other methods. Then choose the one you like coding with the best.</p>
Thank you! Voted by the way, this is awesome!
<p>Oh - if you hardly want to change the code at all then you can use L298N drivers. Like this: <a href="http://www.ebay.co.uk/itm/L298N-DC-Stepper-Motor-Dual-H-Bridge-Drive-Controller-Board-Module-for-Arduino-/251327517265?pt=UK_BOI_Industrial_Automation_Control_ET&hash=item3a84499251" rel="nofollow">http://www.ebay.co.uk/itm/L298N-DC-Stepper-Motor-D...</a></p><p>They use the same code as the ULN2003's. I'm not too keen on them though. They have no over current protection (so are easy to blow) and they are quite &quot;notchy&quot; at low speed as they don't do micro-stepping. </p>
<p>Thanks for the nice comments. I didn't intend to enter it into a contest, just wanted to share. Then saw the contest button ! </p>
<p>Very nice instructions and a very cool result! Voted :)</p>
<p>I so love this instructable. The challenge of overcoming the &quot;sloppiness&quot; in the etch-a-sketch is inspiring:) great documentation, and a beautiful build. One of my all time favorites! </p>
WANT. Such an awesome idea, and what great instructions! Thanks!
<p>Fantastic. I love it.</p>
<p>Hey thats pretty darn cool! I'm just getting into C+ for arduino and this would be a cool project for it!</p>

About This Instructable




More by dodgey99:Automatic Arduino Powered Pet Feeder Arduino Etch-A-Sketch Clock Easy, Consistent & Cheap Toner Transfer Method for Single & Double Sided PCBs 
Add instructable to: