The Earth Clock




Introduction: The Earth Clock

The Earth Clock is a project I made in order to visualize the face of the earth exposed to the sun in real time!

Step 1: The Sun

In the nature the sun-rays are almost parallels because the sun is far away, that is why the Earth is 50% in the light and 50% in the dark. The light source is complicated to make, because by using a simple LED (picture-1), light-rays won't be parallels and the globe won't well be lit, however if we use a light with the same diameter than the globe, the planet will be well lit (picture-2), I chose to make an LED ring with a diameter of 100mm (as my globe).

I bought warm white SMD LED (3200K) and I made a ring from wire, I decided to use 12 LED so I drew a circle and marks to place them correctly.

Then I bended a metal wire into a circle and I placed the 12 LED in the correct polarity, I glued them in place and added a second wire circle slightly smaller than the first one, I also glued it to LED, then I connected the 12 LED together: 3 groups in parallel with 4 LED each, and the two wires of the ring are the positive and negative.

Step 2: The Earth Globe

The globe is made with a clear plastic ball (⌀100mm), I printed an Earth origami and placed it into the ball, that way, I painted the continents with a great accuracy (with acrylic paint) the origami doesn't have beautiful colors so I used Google Earth to paint the real colors of the continents.

Then I removed the origami and I painted the inside of the ball with blue paint, I also painted the outside blue to avoid reflection from the LED ring.

Step 3: The Box

The box is made from 5mm plywood, you can see on the picture all the dimensions

all the pieces are attached with wood-glue

Then I stained the box with a dark oak stain and I vernished it.

Step 4: The Circuit

The circuit is composed of:

-1 Arduino uno,

-1 5V regulator,

-1 PWM signal module (step 5),

-2 Stepper motors (28BYJ-48),

-2 ULN2003 driver,

-1 Clock module,


-2 DC jack,


The Arduino board and the PWM board need 12V,

stepper motors and clock module run with 5V,

that is why I used a 5V regulator, but the 7805 heats up a lot, so I planned to buy a voltage regulator module.

Step 5: PWM Signal

A PWM signal (Pulse Width Modulation) is a square-wave signal with a variable duty cycle, it permit to adjust the brightness of the "sun" from 0% to 100% in the rotation of the potentiometer.

for this circuit you'll need:

-(1x) protoboard

-(1x) 10k potentiometer

-(2x) 1418 diode

-(2x) 100nF ceramic capacitors

-(1x) 555 timer chip

-(2x) 2 screw-connectors

-3 pins dupont connector (to deport the potentiometer to the front panel)

Step 6: The Clock Module

this module was a kit to weld, I modified it a little bit: added wires to the 7segments display and to the two buttons (which I changed for bigger ones) these wires allows me to screw the pcb on the bottom plate (part F of the box) and glue the display and attach buttons on the front panel (part B).

I also added Dupont connectors to make it completely demountable

Step 7: The Arduino Code

The code is available to download below.

I know it's not optimized but ...... it works fine.

It uses the pre-instaled library "Stepper.h".

As you can see there are two motors :"YearMotor" (doing one revolution per year), and the "DayMotor" (doing one revolution per day).

My motors are doing 2048 steps per revolution

and one year is 365.25 days, so 365.25x24x60x60x1000 = 31,557,600,000 ms.

2048 steps in 31,557,600,000 ms <=> 1 step every 15,408,984 ms (CW)

For the DayMotor it's a little bit more complicated :

In the geocentric reference table, the earth is doing 360°/24h

But because of the rotation around the sun, the earth (in the heliocentric reference table) is doing more than 360° it is actually doing 360+(360/365.25)°

for the motors 360° represent 2048 steps

so 360+360/365.25 is 2054 steps

2054steps in 24 hours <=> 1 step every 42,064ms (CCW)

You may notice that DayMotor is mounted on the YearMotor axis, so to prevent the DayMotor's wires to be coiled around the "year axis", the YearMotor will reset itself after one turn by doing a full revolution ccw

If you have any questions about this code, let a comment.

Step 8: Motors

The YearMotor was mounted on a plywood piece with a length of 130mm to fit in the box
LEGO pieces was used as axis to make the final clock easier to dismantle

The DayMotor is mounted on a bracket with an angle of 23° with little woodscrews.

There is a brass tube around the lego axis to make it look nicer (/!\ the first picture is not to scale /!\)

Step 9: The Earth Clock Is Done

I hope you liked this project ! if you have any request about it let me know in comments.

Thanks !



    • Furniture Contest 2018

      Furniture Contest 2018
    • Metalworking Contest

      Metalworking Contest
    • Audio Contest 2018

      Audio Contest 2018

    91 Discussions

    Sorry but I have to say no, I made one and I wont make another one.
    But I encourage you to build one yourself !

    Sorry to see you were not shortlisted. I voted for you!

    Great idea, great instructable ! Voted.

    1 reply

    Question 2 months ago

    Awesome idea and a beautiful result!

    I was just wondering about the reasons behind using an external PWM Circuit and 5V regulator instead of using the arduino's analog output and 5V output?

    1 more answer

    Hi I didn't want to overload my arduino, it already drives the motors so in order to keep the accuracy of the arduino I resorted to use an external PWM :)

    I absolutely love this clock and I would greatly like to make one...
    However, shaming as this is, I’m not at all fluent in the circuit board or how things work that way. My field of professional expertise you could say is medicine, artistic strengths are in wire sculpting/jewelry/welding beading drawing painting and design-my self taught useful skills are limited to plumbing and flooring and carpentry; my husband is the mechanic and would no doubt understand everything. I am however very good at following instructions learning new things etc. I was wondering where to start, where do I get all the materials for the circuit board? I plan to google most of your instructions so I understand them better...I know of a few parts stores my family uses (the guys anyway) for fixing engines and whatnot, but if there are specific places to go it would be a great help to point me in the right direction. If you also have a source of information for beginners ? I would like to make one for my husband for his birthday next month, and as I come from a long line of really smart dad/uncle/grandpas electrically and mechanically inclines, it’s high time I learned a little.
    I do have to apologize to you and the brilliant people below commenting on improvements or different approaches, (I do understand the science of the lighting/axial tilt etc, just not parts moving from power centres other than the brain) the simpleness of my questions. Thank you

    1 more answer


    That is a great idea, I have no doubt you'll successfully build that clock, however the big problem is TIME because a lot of components are shipped from china (aliexpress) and the shipping delay can be around 60 days !!
    personnaly I was lucky enough to recive all I ordered and in a delay of 20 days :)
    If you don't know where to start, for my clock I started by cutting the bottom wood piece (F) and I attached the differents electronic boards (arduino, uln2003, PWM, clock module and 5V regulator) with spacers, then I wired all boards as on the schematic (step 4) and I checked that all worked propriately, to do that I modified the code by replacing the 42,064ms by 1,000ms and the 15,408,984ms by 10,000ms in order to visualize the rotation of both motors and the reset feature of the YearMotor. When I saw that all was correct, I put the reals values in the code and I built the box :)
    Hope that was enough precise,
    Ask me if you want a order list with links of all products I used,