Introduction: Plot Clock for Dummies.

Picture of Plot Clock for Dummies.


1. Added the DS1307 real time clock module instructions.

This is NOT my idea, but I will try to show how I got this to finally work.

Often, the brilliant guys that make these stuff, forgets that there are idiots (like me) around, that need a lot of help to really understand the principles, and to have this fed by small portions.

So, I will make my own Instructions , hopefully in a understandable format for everyone.

But first, I will have to inform you that you will need a 3d printer, or get someone to print or lasercut this for you. If you are not really a handyman in woodworking..!


Step 1: Collect Information

I found this project here : , and think this is a GREAT idea..!

As always, there is a lot of different approaches to this finished clock. And I will try to make my own version of this , and what I ended up to use of software and hardware.

I started up with this original (?) post on GitHub .

I am not an expert on Arduino, so I quickly found out that I had to do some more research on this one.

But at least I printed the parts for the clock from the Thingiverse page.

Put it all together, and got the servos to work in a way.

I only got some bigger servos at the time, so I adjusted the brackets for this.

But I think it got to heavy, and got really "wobbly"

Step 2: Re-mix

Picture of Re-mix

There is a lot of brilliant people out there, so I soon found better ways to make this clock.

Here in the remixes for this clock, I used this mix from "stylesuxx" This is all the parts you need for a good rigid clock. I hope its allright to share the files from Thingiverse here.

You will need some M3 and M4 screws and bolts. But it is easy to figure out. There is a lot of info about this in the original post, and in the re.mixes.

For servos, I used the Tower Pro 9g as suggested. After some troubles, I had to replace the up/down servo with a slightly bigger one with metal gears. I had problems with the servo arm slipping on the servo rod.

I also found out ,that I had to flip the servo to get it to work with the Arduino code.

Step 3: Assembly and Wiring.

Picture of Assembly and Wiring.

I can recommend the Fritzing software for making wiring diagrams for electronics. I had never used it before, but I managed to make this diagram in 5 minutes of how the wiring is done.

Its enough power from the USB cable. No need for external input, if you dont use extra big servos.


I used a Duemilanov , but I recon that you can use other like MEGA, UNO, and all that has the same pin out as required.

1. Download the Arduino software from

2. If you are completely new to Arduino, I recommend this BEGINNER ARDUINO instructable by amandaghassei

3. Run the .exe file, and install the Arduino software.

4. Open the plotclock_modded.ino file . Thanks to yajdlanor for this detailed instructions.

5. Choose Board and COM port used. Upload . All the needed librarys for this should already be installed.

6. Next, Calibration.

Step 4: Calibration.

Picture of Calibration.

THIS.... is the tricky bit.

I will try to explain as good as I can. But do read the instructions for this in the original post, and the remixes first.

You will have to make small ,step by step adjustment to the Arduino file, and make notes how its behaving between each upload.

1. Set the Plot Clock in calibration mode by removing // in front of #define CALIBRATION

2. Attach an arm to the LEFT Servo ,pointing Upwards, and one arm to the RIGHT Servo pointing to the Right. Do not tighten the screw yet.

3. Power up the Arduino. The arms will start to go back and forth.

4. Adjust the SERVOFAKTOR so both arms moves about 90 degrees each.

5. Adjust the SERVOLEFTNULL and the SERVORIGHTNULL so the LEFT arm will move from pointing to the left to pointing straight up.. And the RIGHT arm from pointing straight up to pointing to the right.

6. When you are happy with the calibration so far, add // to the #define CALIBRATION. This will put the code in clock mode.

7. Upload to the Arduino board. Observe that all 3 servos will move back and fort like it should do for writing the time WITHOUT attaching the servo arms.

8. Power off the Arduino board, and attatch the servo arms. Try to position the arms, so the pen holder will be centered over the sweeper position. DO NOT tighten the arms yet.

9. Power up the Arduino, and watch that the arms would do something similar to writing the time on the board..!

10. Check that the UP/DOWN servo is moving in the right direction between the letters. If not, you have to turn it over, and attach it in some way inside the housing.

11. Adjust in small increments the number values : LIFT0, LIFT1, LIFT2,PARKX, and PARKY to get the movement you like for the Whiteboard Marker.

12. When you are happy with the calibration, attatch the pen, and try it out..!

Step 5: Troubleshooting and Other Tips.

Picture of Troubleshooting and Other Tips.

I will try to list up what problems I encountered.

The small servos was difficult to secure to the arms. Use the original servo arms , and glue to the L1 arms and the UP/DOWN arm if possible.

I had to modify the casing to fit a bigger servo for UP/DOWN movement.

This code is not written for this case, so the UP/DOWN servo moved the wrong way. Not sure how to modify the code for this to work the way it is. So I flipped over the servo instead.

Instead of polishing the board for the whiteboard marker, I just covered it with clear tape. Works just perfect.

Had a lot of problems with the DS1307RTC library. So I just adjusted the time by uploading the code with the right time setting.

REMEMBER to do the calibration all over again if you have removed the arms, or they have moved themselves..!

The arms must be completely tighten, or else they will move out of position if they get some resistance.

Step 6: Add DS1307 Real Time Clock to the Arduino.

Picture of Add DS1307  Real Time Clock to the Arduino.

When you are comfortable with the clock, and are ready to add a clock module to the Arduino, then you can follow these steps:

1. Buy a real time clock like this from Adafruit.

2. Download the file.

3. Unpack,and put the DS1307RTC folder in to the library folder in your Arduino program location.

Wiring from DS1307 to the Arduino board:


VCC - 5v on Arduino

SDA - Analog pin 4

SCL - Analog pin 5

4. Run the Arduino software.

5. Now , the DS1307RTC library should show in File-Examples-DS1307RTC

6. Under File-Examples-DS1307RTC , there is is a "ReadTest", and a "SetTime" option. Choose "SetTime"

7. Upload to Arduino. Remember to pick the right board, and COM port.

8. When uploaded, open Tools-Serial Monitor. (Or ctrl+shift+m)

9. If the module is correctly wired, it should read the current time. If this is correct, you are finish.

10. Open the Plotclock_modded.ino again. Remove the // in front of #define REALTIMECLOCK

11. The clock should now use the DS1307RTC module to set the correct time.

If the time and date is wrong, follow these steps:

1. Open SetTime.ino from eGizmo with both the clock servos and the DS1307RTC module attached.

2. Upload to the Arduino board. Remember to check for correct board and COM port.

3. Open serial monitor. (ctrl+shift+m)

4. Follow the instructions for setting the time and date.

5. The date and time should now be correct.

6. Upload the Plot clock Arduino code again to check if the time is correct.

Good luck ... !


WhilferautomaticW (author)2017-03-27

This is my plotclock

Looks great.Could you share your STL files you used for this?

luzm made it! (author)2016-09-11

Hi! My codes are not working, even if I start the code several times. I ha the time map in the right place. :-(

I got this messsage every time.

WannaDuino (author)luzm2017-07-13

you have the clock librairy not installed in your arduino, see in the top of your code, that says with libs are used, type it in google, and install it via github, ask me to be specific. or if you have the clock lib, ad it manualy.

rubenzilzer made it! (author)2016-08-28

Works perfect, cut all the pieces by hand with a copyng saw.

Congratulations ! Hope you had fun building it :)

BeyzaB (author)2016-05-05

Hi Kjetil

I've done everything what is required but my plotclock won't work. It does only the movement of cleaning the board. I copy pasted the code but don't get why it does not work... Can you please help me with this? This is a project for my school so it is important for me. I used ds1302 instead of ds1307 after that I tried it without a RTC still don"t work I'm stuck with it.

Kjetil Egeland (author)BeyzaB2016-05-05

Hello...! The 1307 clock module does not do anything else than correcting the time. Otherwise it will always start to write the same default time. Are you sure that your not still in the calibration mode? You know you have to ADD the // before the calibration in the beginning of the code in order to get it into normal mode. Otherwise it will just go back and forth all the time.

 Sounds like this could be the case? Remember to do a good calibration to get it to work properly. And get the joints and servo attatchements as ridgid as you can.



BeyzaB (author)Kjetil Egeland2016-05-05

Firstly thank you very much for replying so fast ! I've done what you said but now it gives an error;

'minute' was not declared in this scope

if (last_min != minute()) {

'hour' was not declared in this scope


'minute' was not declared in this scope

Do you think it is up to the library of the ds1302 ?

Kjetil Egeland (author)BeyzaB2016-05-05

Sounds like a library is missing, or the wrong one. ... It can sometimes be tricky to get it right.

BeyzaB (author)Kjetil Egeland2016-05-05

Hi again I found the DS1307 and now it is working! My last question is what did you mean by doing a good calibration how can I do that ?


Kjetil Egeland (author)BeyzaB2016-05-05

Good ! Take a look at step 4. Calibration :)

BeyzaB (author)Kjetil Egeland2016-05-06

Great thanks for your help and your precious time !

JeanN6 (author)2015-12-01

Please, how can I make the arms write more clearly and bigger????

Kjetil Egeland (author)JeanN62015-12-14

The accuracy depends on how good the calibration of the servos and arms is. And I would think that you have to scale up the lengtht of the arms to get bigger number types. You can ask the guys that actually wrote the code.

ferjanyen (author)2015-10-10

Nice project but don't show it to the teacher!!

Foxhead (author)ferjanyen2015-11-24


Foxtrot70 (author)2015-10-09

Great work!!! This is an interesting project. At one time in my career I was a technician installing and repairing an analog version of this device. The analog version would transmit handwritten messages in real-time either point to point, or broadcast to multiple locations.

To the best of my knowledge here is a little history behind the project. The pantograph arms invention arrangement were accredited to Thomas Jefferson, Third President of the United States. He invented the pantograph machine as a method of making copies of documents and correspondence in the late 1770's, keep in mind there was virtually nothing electrical, except lightening, or electronic hence, no copiers, etc. Jump ahead to the late 1890's when telegraph was invented by Alexander Graham Bell, and the invent of dc motors, the electro-mechanically transmitted handwriting machine was invented. It was limited due to the length of wire that DC voltage could pass thru usually used several hundred feet within an office building. In the 1930's when vacuum tube was invented by Thomas Edison, then, the mechanical movement of the pantograph could be converted into sound and transmitted over telephone wires to receivers miles away. Because of the size of vacuum tubes the machine was the size of a small office desk. Jump ahead to the late 1960's after the transistor was invented by Bell Labs in the 1950's, the electronic hand writing machine came about. It is know as the Victor Comptometer - Electrowriter, its competition was the Tele-Autograph machine. The Electrowriter was the now reduced to the size of a large shoe box, Tele-Autograph was smaller. Both machines could send to a single receiver or broadcast to many receivers or, send and receive messages on one combination machine a transceiver.

There was also a spin-off machine, made by Signature Systems, which would record a person's signature, on the technology of the day 8-Track tape. When the tape was played back in the machine it would sign the person's signature. The accuracy of this machine and the Electrowriter and Teleaugraph was about 99%, 1% at best error due to mechanical slop in the pantograph mechanisms. This machine was used in mass mailings and also payroll departments. There was also a security problem i.e. forgery. The tapes and machine were usually kept in secure areas.

These machines were superseded by today's computer and the added function and hardware of pen graphic drawing. This arduino plotter project can be taken a step further. An arduino controlled message writer can be built with messages sent via teleco hardwire, WiFi or audio via cellphone or audio sent via VOIP. Hope you found this interesting.- Mike

Kjetil Egeland (author)Foxtrot702015-10-09

Thanks for the input..! I have seen many documentaries about the electricity and the development of this industry.

Its really interesting to read what you write my friend :)

You might have an idea yourself of a special Arduino project that uses "old" technology?

But...I have to arrest you about the invention about the vacuum tube. It came already 1904 , and was invented by (Sir) John Ambrose Fleming.


Foxtrot70 (author)Kjetil Egeland2015-10-10

I stand corrected about the vacuum tube and my apologizes to Sir Fleming for the mistake.

Thanks for the encouragement about updating "old technologies". I am amazed that ideas that are considered new today are sometimes updates and improvements of older ideas, both are very important.

Egrland, keep up the good work!

hondaman900 (author)2015-10-09

How long before the marker dries up?

How long is a rope ? :)

pau1han (author)2015-10-06

Wow, that's awesome. I wonder how fine a resolution can you get with that? There's no reason why that couldn't be a laser instead of a pen.

Kjetil Egeland (author)pau1han2015-10-08

Hello..., and thank you...! The resolution is relative. It is fairly stable when you get it running . But it depends on your calibration, and the movement of the arms. Just a minor slack in one arm would make a big effect with the pen. A laser..? Of course.....but you would have problems to make yourself a laser eraser, I would think....haha

laith mohamed (author)2015-10-08

Its unbelievable that is awesome .

CoryK (author)2015-10-08

awesome, great thanks for this, now you just need to make one for an eggbot and my life will be complete

Kjetil Egeland (author)CoryK2015-10-08

Thanks ....but do not give me any more ideas.,...! hmmm

ImmortalSoFar (author)2015-10-08

Eccles, my good man. Why do you have the time writted on a piece of paper?

Fantastic !!

ThomasK19 (author)2015-10-08

I saw a similar one on Berlin's Maker Faire last weekend. It used to plot into a small sand bowl which was shaken before drawing the next time.

SANUKI UDON (author)2015-10-05

I try to make me also.

FredO2 (author)2015-09-29

That is really cool!

Łukasz (author)2015-09-29

Machines that can write like people! What next, thats pretty cool

AnnieG7 (author)2015-09-29

Very nice, I am going to try it!

Butane Flame (author)2015-09-27

Nice work. I kinda got lost on the servo part.

Thanks ;) What was your problem with the servos ?

mario.julio (author)2015-09-28

if the board where is written the time is properly modified you can get out of there one cnc...

pyarion (author)2015-09-27

whooaaaaaa!! nice! thanks for sharing!!

Raphango (author)2015-09-27

Whoaa! Awesome!! =D

Nick_Tesla (author)2015-09-27

Be careful, someonemight think its a bomb!

kenbob (author)2015-09-27

Love this. thanks for sharing!

andrea biffi (author)2015-09-27


About This Instructable




Bio: I work offshore in Norway in the oil sector. Employed by Oceaneering as an ROV Supervisor. Education : Skilled Industrial Mechanic, Skilled Aircraft Mechanic (Boeing737) ,and ... More »
More by Kjetil Egeland:Plot Clock for dummies.Modify Velleman K8200 3d printer to laser cutting.How to Calculate the day of the week
Add instructable to: