Picture of Arduino Etch-A-Sketch Clock
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).
slush-Man1 year ago

BTW - it goes without saying - but this is a wonderful piece.

slush-Man1 year ago


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.

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.

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.

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?

What A Brilliant work..

jensenr301 year ago

Very interesting! Thanks for posting!

j626no1 year ago

I am very impressed with this project. The "lag" you are talking about with the dials is referred to as "backlash" 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!

alinke1 year ago
Absolutely wonderful! I've been wanting to do my first stepper motor project , this may be the one! Thx for sharing
kjlpdx1 year ago

couldn't you change the pulley sizes to counteract the internal 1/64 gearing? or would that kill your resolution?

dodgey99 (author)  kjlpdx1 year ago
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 "high" as I could get away with :-) Like I've said though, a simple change to Nema 17 motors and it will fly along.

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.

rf1 year ago

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.

Some sort of second ticker might be nice too. Small movements to represent the progression of the current minute.

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.

Aristarco1 year ago

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!!!

Awesome, simply awesome! Kudos!

Pretty cool...especially the screen clear.

An improvement would be to turn both knobs at once. Then you could draw some curvy numbers and make it even cooler!

perfo1 year ago

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).

dodgey99 (author)  perfo1 year ago

Ha!- I like the idea of 2 EAS - one for hours and one for minutes. Brilliant :-)

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.

What a brilliant way to waste time

and WHY did I give my EAS away ?

Fuddmaster1 year ago
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?
dodgey99 (author)  Fuddmaster1 year ago

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.

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.

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.

dodgey99 (author)  alcurb1 year ago

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.

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 :-)

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.

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.

dodgey99 (author)  alcurb1 year ago

I am building a Prusa i3 (open source project) . All in it's costing me £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.

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.

agis681 year ago

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

jaybo20991 year ago

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!

invintive1 year ago

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?

dodgey99 (author)  invintive1 year ago

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.

Thank you! Voted by the way, this is awesome!
dodgey99 (author)  invintive1 year ago

Oh - if you hardly want to change the code at all then you can use L298N drivers. Like this: http://www.ebay.co.uk/itm/L298N-DC-Stepper-Motor-D...

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 "notchy" at low speed as they don't do micro-stepping.

dodgey99 (author) 1 year ago

Thanks for the nice comments. I didn't intend to enter it into a contest, just wanted to share. Then saw the contest button !

action pig1 year ago

Very nice instructions and a very cool result! Voted :)

kenbob1 year ago

I so love this instructable. The challenge of overcoming the "sloppiness" in the etch-a-sketch is inspiring:) great documentation, and a beautiful build. One of my all time favorites!

Mielameri1 year ago
WANT. Such an awesome idea, and what great instructions! Thanks!
CobyUnger1 year ago

Fantastic. I love it.

trailtrekr1 year ago

Hey thats pretty darn cool! I'm just getting into C+ for arduino and this would be a cool project for it!