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 !

Clocks Contest

This is an entry in the
Clocks Contest



    • Creative Misuse Contest

      Creative Misuse Contest
    • Water Contest

      Water Contest
    • Oil Contest

      Oil Contest

    2 Discussions

    This setting is approximation but we are almost at summer equinox so that give us an idea of the position of the year axis