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



    • Planter Challenge

      Planter Challenge
    • Woodworking Contest

      Woodworking Contest
    • Clocks Contest

      Clocks Contest

    We have a be nice policy.
    Please be positive and constructive.


    2 Questions

    Great instructable!

    Any suggestion on how to "set" the year?

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

    Best project I've seen this year!!! Which model/part number of Lego axis did you use? Also, what was the kit you used for the modified 7 segment display?


    First thank you !

    The clock kit I bought is this one:

    it's a very common and cheap clock kit.

    then the lego pieces are these long sticks which I cut to the correct length,

    but I also used these connectors to link lego axis to the motors (you can see them in step 8)

    finally the last round lego piece was glued into the top of the globe to insert the axis.

    I hope I helped you :)




    very nice work indeed.

    would be neat to see a time lapse video of it in operation.

    perhaps also a mode where it's sped up to do a full year in a few minutes or so. would be great for demonstration purposes.

    well done!

    1 reply

    Yes it's actually the functions of the 4 buttons :)
    for the time lapse it's complicated because my phone doesn't take good photo quality and my camera doesn't take timelapses
    so I don't really want to post a bad quality timelaps here :/

    A thought - regarding the rotational problem and the day motor interfering with the year clock (and vice-versa), would it be possible to use slip ring contacts between the circuit and the motors? Then there is no problem of spinning wires wrapping around other things. This is an awesome project, and would like to build it in the future. Adding the moon would be the real bomb! Keep up the good work - I think this deserves consideration for an award, no doubt...

    1 reply

    thanks !, it could also be possible to do it like that with motors, but I found easier to just add a reset rotation in the code, plus with some dust, there would be unwanted bad contacts with your method :/

    ahah I had that in mind but I quickly abandoned because the moon would have a diameter of 2.6 cm and would be at 3meters to respect the scale (and just for fun, the sun would be at 1.15km and with a diameter of 10m) !

    let's built a 6m diameter room !!

    Beautifully made project, woodwork and technology excellent! Great idea

    1 reply

    Definitly one of the BEST projects I've ever seen :D

    You got my vote!

    1 reply

    Wow thank you !


    Take that, flat earthers ;)

    1 reply

    Awesome job!

    Brilliant take of the one sold by MOMA Moon Lamp (which sells for over $1000).

    Love the multi-rotational angle design that makes it more unique and accurate than just one rotation point.

    I would love to see a version of this using an iPhone App in place of the analog control panel and a 3D printed Earth that could provide some interesting shadow texture (like the Moon Lamp).

    If you ever decide to crowd fund a version of this, then take my money, please! :-)


    2 replies

    That is awesome because I never seen the Moma moon lamp before ! And the led ring is almost the same !

    Good idea but at this scale the everest mountain is less than 0.1mm so the earth will be almost perfectly round :)

    It's really great.