Introduction: Shadow Clock

The Photon Clock is a fun way to make an awesome looking analog style clock without having to create complex gears that can only be made with a 3D printer or CNC machine! The concept works like this: light from the twelve LEDs around the border of the clock face shine towards the center, where a style casts a shadow that points to the correct time. This is the reason I called it the Photon Clock, it uses light to tell time. This is my version of the popular Bulbdial Clock, something I had seen several years ago and have wanted to make ever since. This is a green, cost-effective, project that makes use of simple household objects. The clock looks amazing, with its stylish lighting and futuristic look, but will work well with any decor! While making the clock, I created several versions that I didn't like, but finally settled on the version above (v4.1).

If you decide to make this project, I encourage you to view all the photos if you are confused about a step. I also encourage you to never give up! If something is not working properly, you don't understand a step, or you need advice, just put it in the comments section and I will reply ASAP, the comments are automatically emailed to me. Most of all, I hope you like this project, and enjoy making your own!



  • Yogurt container or something similar
  • An Arduino or microcontroller with at least 12 pins (unless you know multiplexing and sufficient programming)
  • 12 LEDs minimum (non diffused work best)
  • Wire (at least 10 feet)
  • Solder (alternativly a breadboard will do)
  • Wood
  • A milk jug or two (optional)
  • An RGB LED or two (optional)
  • Hot glue
  • Wood glue


  • Soldering iron
  • Hand saw
  • Drill
  • Hot glue gun
  • Scissors

Step 1: Design

I wanted a simplistic and somewhat modern styling, but at the same time, a retro-futuristic look. The original design featured a silver finish and a clear plastic front displaying the wiring.

This called for cleanliness, so I soldered everything to a protoboard that fit onto my arduino mega. Unfortunately I found out that some of the LEDs were much dimmer than the others, so I tried adding higher resistance to the brighter ones, but that resulted in light so dim that it couldn't cast a shadow. I also risked some of the LEDs by using no resistors, unfortunately those burnt out. I found a few cheap, broken flashlights lying around and took the LEDs out of those. To my dismay the legs of the LEDs were about half a millimeter long. I was able to solder wires to them, but it was difficult without a "helping hand." I found that non-diffused LEDs, or the ones that are clear, work best. They shine in one direction and cast a shadow perfectly! The diffused ones however dispersed the light, instead of directing it. Those are the ones that are colored, or have a whitish tint.

After working on the first design, I decided to try a new one. This design consisted of only square shapes, including the clock face, and after creating the enclosure for it, I decided to switch yet again. This design is what you see on the cover of the instructable, and features a black enclosure with ambient lighting.

If you chose to do the extra ambient lighting, during wiring, look at step eighteen, titled: "Extras."

Step 2: Prototyping

These are photos of the first prototype I made. The enclosure is made from a cardboard shoebox, and I have the speaker mounted to the side. I have the cord coming from the side, which I would change to the back. If you want to make sure everything fits, go to the woodworking step and make it out of cardboard! The cardboard prototype looked very nice, but wouldn't last too long. You should definitely test your program here and all your LEDs.

Step 3: Programming

I have used arduino for a few years now, but I still have a ton to learn about programming.

I included a program below that starts at twelve o' clock, and cycles through. It changes every five minutes, and is for a 12 LED project. If you include more, you will need to write your own program. I may update this with a version that will work with a 132 LED clock that includes a second hand and more accurate middle hand. I found only the need to have five minute intervals because whenever someone asks me the time, I round it to the nearest five minutes (unless they need precision). I tried to create a program using classes to keep each time display, but kept getting too many errors. If you would like to make your own better program, please feel free! You will need to change the variables "one" through "twelve" to whatever pins yours are connected to. If the LED you have is connected next to the number twelve, the shadow will be cast towards the number six. This is important to know because if you make the LED closest to twelve "twelve," the hour will change each time the minutes equal thirty. To set the time you will need a pushbutton set as INPUT to increase the delay speed, fast forwarding to the correct time. If anyone writes a better program, please share!

Step 4: Base

Cutting: To make the base part of the clock, cut a yogurt container in half. It should be around 4-5 inches in diameter.

Clock face: Next, print the attached clock face, I recommend using cardstock, and you can also make your own clock face. I got the image off a website saying that it was free. I then edited the picture with a circle in the center to guide me as to where to put the style (the part that casts the shadow) I don't think yogurt containers vary much in size, so chances are the size of the print will fit perfectly (unless you have a tiny, single serving container or "apocalypse size").

LED Holes: Next, using a marker or pen, mark on the outside of the container where all the numbers fall. This will guide you as to where to put the holes for the LEDs. I used a soldering iron (with aluminum foil wrapped around the tip to protect it) to melt the plastic holes, due to the fact that it's hard to drill and will probably crack the container.

Painting: Simply paint the inside black. I chose black because it won't reflect light, dimming shadows, and also won't reflect outside light.

Gluing: Glue the clock face to the inside of the container, matching the numbers with the holes. I used a small amount of hot glue. I had previously tried elmers glue, which caused the paper to wrinkle, casting unwanted shadows.

BE CAREFUL! Do not inhale the fumes, and use a fume extractor if you are indoors or in an unventilated area. Some plastics will do nothing if inhaled, but just don't.

Step 5: Adding LEDs

If the holes are slightly bigger than the LED, you will need to hot glue them in. I recommend soldering the LEDs first, because I found that if you solder objects with hot glue, the glue tends to melt all over the place, even dispersing on the wire preventing a solid connection.

Advice: Test each LED before moving on to the next. This way you can diagnose the problem more easily. I connected the ground on all the LEDs to one wire for the sake of simplicity and is sort of necessary. In the first picture I have an LED harvested from an old flashlight that had super short legs. You will need at least a 220 ohm resistor connected to ground. I tried a B 10K potentiometer to change the brightness, but it was just too dim even at max.

Step 6: Soldering

Soldering to the Ground Wire: Take some 20 gauge copper wire and twist it so that you get small loops each the distance from each other the same as the distance from the LEDs (This will improve the connection and make it easier to solder).

Now solder each of the LEDs ground pin (the shorter leg is typically the ground, sometimes the positive will be bent). Bend the pin so that it sticks up through the copper wire, the wire is only supported by the LEDs themselves.

Soldering to the Anode: Solder the positive ends to individual wires that you will connect to pins on the board. If you do not know how to solder, go to step twenty, at the bottom there is a tip telling you how to solder proper connections, and how not to solder connections.

After you have finished soldering the LEDs, take a length of wire about 1-2 feet long. This way you have plenty of error available for stripping the wire and accidentally breaking it. Twist the wire around the copper ground wire and solder. Next, solder to a 220 ohm or 330 ohm resistor. A 1K ohm resistor will do, but it's very dim. This is what you will connect to the ground pin of the arduino.

Safety: Along the way the room I was soldering in smelled very much like fumes! The fumes are not the lead solder evaporating, but instead the rosin core of the solder. It is still not a good idea to be constantly inhaling the fumes, so I found an old fan I had that appeared to be from a computer, but turns out it was from an old 1981 Sprite vending machine... I included a GIF.

Step 7: Wiring

Connecting the LEDs to the Arduino:

Protoboard: I found several ways to wire the LEDs to the arduino pins. First, I used a protoboard, which is like a breadboard you can solder to that can connect on top of the arduino.

Connector pins: You can also use connector pins. I tried soldering the wires to the top, but that's not what they're typically meant for and it caused some interference. I did try again with large spacing, which I am currently using alongside the protoboard. I used electrical tape to cover and separate connections from each other and also to keep the wires in one strand, this prevented a mess of wire, and also made it easier to diagnose issues.

Breadboard: You can use a breadboard if you like, but if the clock is jostled around the connections could pop out. I recommend using the protoboard because it's easy to use and is not messy. Just connect the ground to ground and each of the positive ends to individual pins.

Plain Wiring: This is a very messy option, but will work. All you need to do is twist the end of the anode wire and apply a tiny bit of solder to keep the strands together. The solder should flow between the strands filling in empty space. This is called capillary action.

Step 8: Testing!

Always test connections and programming before you put everything together! Simply plug in the arduino and upload the code.

Step 9: Enclosure

For this part of the instructable you will need to choose which design you prefer. You can even go with your own! Note:The dimensions will likely be different from mine, and even though I included dimensions, it is possible that everything will not fit.By increasing the dimensions proportionally, it should suitably fit any clock size. The three designs I have listed are in order above.

Step 10: Design 1

This design includes eight individual wooden parts made from 1/4" thick wood.


  • Two: 12" x 4.5"
  • One: 4.5" x 12.5"
  • Two: 4.5" x 4.5"
  • Two: 2" x 4.5"
  • One: 6" x 6"

Note: The yogurt container used for the clock module fit into the design, but I overlooked the wires sticking out! I ended up drilling a groove into the base of the wood to fit the clock in. It was still a very tight fit. If you want you can increase the size of all the parts by a half inch.

Step 11: Design 2

No dimensions are included, this is an unfinished concept.

This design starts with a simple box, with the dimensions much like the first. the difference here is that I had a square clock, versus the circular one. The square one was a little more complicated and dealt with angles, and isosceles trapezoids for the base part. I never finished this one, and barely made it through before switching, but it is still a nice design. While creating this version I accidentally invented a product that revolutionizes storage: the bottomless box, You can put as many things in it as you'd like and it never gets full! The product photo is the last picture.

Step 12: Design 3

This is still maybe my favorite design. It matches retro-futuristic styling and features an open front, allowing you to view the inner workings of the clock. Although never finished, I had an amp with a speaker for my iPod, and I had planned on putting a clear plastic sheet on front to complete the look. The dimensions for this are the same as the final product (design number one) and I had made it out of cardboard, which actually turned out very nicely. The paint is a metallic silver spray paint. Simply take out the 2" x 4.5" part and replace with clear plastic, covering the side parts.

Step 13: Woodworking

This took me a whole day, and is one of my favored accomplishments: Creating a near perfect circle using only a hand saw. I used a pattern displayed on the seventh photo, and cut along the straight lines, then sanded the edges to make it more round and smooth.

For the interior circle I drilled an estimated three billion and five holes, and proceeded in cutting away the rest. I only had two pieces of tattered sandpaper, and used a knife sharpener for part of the smoothing of the interior. The end result was less than appealing; however, on the second try I drilled with more precision and diligence and the final result was quite pleasing!

If you have a CNC machine I will update this project with an attached CAD file, though you will need to do the CAM, because I have no clue what machine you have. The CNC will undoubtedly make a better enclosure with a precise circle for the clock base.

Step 14: Making the Complex Circular Part

If you don't plan on adding any extra lighting, make the interior circle on a wooden piece 12.5" long and 5" tall

Cutting: For this you will need to trace the yogurt container from step five, and another circle around that about one inch wider. If you're not adding the optional lighting, make the second "circle" a rectangle fitting on the inside of the enclosure. In the second and fourth photo, you will see a line pattern that follows the circular edge, this is for a hand saw. Saw along the lines shown until you get a nice circular shape with a flat top and bottom.

Drilling: Mark around the edge of the inner circle several dots or "X"s. For this part you will need to be careful. The first attempt left me with several splintering parts and the whole piece almost fell apart. I found that slowly drilling on the highest speed left me with the cleanest result. After drilling enough holes along the edge, try to cut away the remaining pieces still holding the center circle (which will be discarded) with a drill, knife, or small saw.

Step 15: Side Pieces

These are the 2" x 4.5" parts. Draw a line arcing across the rectangle until you get a shape like the photos above. You will then cut these following the same pattern as the circular part in the previous step. Sand as needed until you get a nice, round edge.

For the optional lighting: Cut two 3" x 4.5" rectangles from part of a milk jug. During assembly, you will glue them to the curved parts.

Step 16: Painting

I used a glossy black spray paint, but any color will do. For some ideas, I thought about wood-burning a zentangle on the enclosure box, then painting the whole thing white with black for the wood-burned part. The wood burning creates more of a three dimensional design. You could also paint a fancy pattern such as the Tableau I by Piet Modrian. You could even laminate photos onto it.

Step 17: Assembly


  • The sides of the box are the 4.5" x 4.5" squares
  • The back is the 12.5" x 5" part
  • The top and bottom parts are the 12" x 4.5" rectangles
  • The curved 2" x 4.5" go on the front
  • The hoop shape will be glued to the front of the clock


  1. First, wood glue the sides to the top and bottom, where the side pieces rest on top of the bottom, rather than the sides being beside the bottom. clamp together, this will help the glue and keep it from falling apart.
  2. Glue the back on, clamping is also recommended.
  3. Glue the front of the clock container to the back of the hoop shaped part.
  4. Drill a hole in the back or side to fit the Arduino USB or barrel connector.
  5. Glue the arduino's connector to the inside of the enclosure.
  6. Fit the clock module into the enclosure carefully. (If you decided against extra lighting, this is the last step)
  7. Glue rectangle cut-outs from milk jug onto the back of the curved part, making sure it covers the gap between where the curved part will go, and the hoop.
  8. Glue the curved pieces adjacent to the wooden part of the clock module. View photos for guidance.
  9. Next, add the style. This is the part in the center that casts a shadow to display the time. I used a plastic bead, but you can use whatever you wish to use.

The build should now be complete!

Step 18: Extras

Clock Feet: If you have any delicate surfaces that you plan on putting the clock on, I added feet made of hot glue to act similar to rubber. This will prevent scratching and gives it a cool look. The feet I cut are one centimeter long and use thick hot glue sticks.

Ambient Lighting: You will need two RGB LEDs for this step. Wire them in parallel, cathode to cathode, blue, to blue, green to green, etc. Next, connect the cathode, the longest leg, to ground with a 220 ohm resistor in between. There's code on the arduino website for an RGB fader, titled Arduino RGB LED Tutorial. Here's the link: RGB Fader

Step 19: Tips

If you want to save money and/or don't have the supplies, here is a list of ways you can aquire parts:

  • If you have any old or burnt out Christmas lights, There is sometimes a ground wire as long as the lights themselves! I cut several of these and have a TON of wire. This will save a lot of money and is suitable for even some higher voltages.
  • I ran out of LEDs along the way (some burnt out and I couldn't even find my LED stash) and decided to use LEDs from cheap dollar store flashlights. The one problem is that the prongs of the LED (or wires) were extremely short. I was able to make a loop with wire and solder to the LEDs and it worked!
  • Go to your local dump. I have found so many things that were thrown away that either work or are in near perfect condition. I have a few flatscreens in perfect working condition, all found at the local dump. I have harvested electronic components from broken electronic components, such as capacitors and 8 segment displays (from old microwave ovens) and LEDs. I found a working graphics card once, although I looked it up and it was pretty old and not very powerful. I even found a huge 4K flatscreen that looked pretty good, it was an LCD and had no signs of dead pixels, but it would never have fit in the car.

For good solder connections, learn how to properly solder. I spent months "soldering" by putting solder on the soldering iron and bringing it to the connection, where I would spread it around. This will not create a good connection at all, and typically results in no electronic flow. Instead, tin the soldering iron by putting some solder on it, then wiping off any excess solder on a sponge. Next, hold the soldering iron to the connection you're trying to make and touch some solder to the wire/PCB, but not the iron. The wires should get hot VERY fast and the solder will melt onto the wire or PCB or whatever else.

If you decide to make your own instructable, I found that it is extremely time consuming deleting unwanted pictures from the photo area, I have over 200 total photos, and only 78 (if I remember correctly) show up at a time. I found it easiest to drag all the unwanted pictures to a new step, then deleting the step at the end.

Above is a design idea, and is also a picture of the startup where all the leds turn on individually in a sequence. This is mainly for effect and testing if any LEDs are burnt out.

Step 20: Conclusion

This project took me almost three weeks, but it was all worth it. It will probably not take you nearly that long to complete. Along the way I created three prototype enclosures, two clock modules, and tried several wiring techniques. I learned how to solder precisely and encountered the issue of soldering objects with hot glue on them. I ran out of solder and almost all my wire, burnt several LEDs, and accidentally melted part of the project. The end result is this instructable and an amazing clock, probably the most unique, picturesque, and fancy clock I have ever seen. The Photon Clock currently resides on my bed table, telling me the time in the dark. Due to the large, flat top, I have no problem putting stuff on top of it, whereas other digital clocks have just taken up space. This was a fun experience and taught me further not to be a professional-crastinator (procrastinator) as I finish writing this instructable just hours before the clock contest. Please vote for my project in the clocks contest if you feel it is worthy! Thank you for reading my instructable and if you built one yourself, enjoy and share in the "I Made It!" section. Once again, if you have any questions or comments please put them below!

Clocks Contest

Participated in the
Clocks Contest