Introduction: Ambient LED Wall Clock

About: I am a high school student, also a hobbyist who is very interested in old CPUs,LEDs and mechanical design.

Recently I have seen many people building huge LED matrices which look absolutely beautiful,but they either consisted of complicated code or expensive parts or both. So I thought of building my own LED matrix consisting of very cheap parts and very easy to understand code, which is although a bit smaller. It can also act as a wall clock, which is useful for the people who don't want a huge display just lying around displaying its funky animations.

My aim with this project was to not include any soldering or power tools so that this project could be accessible to many people.

This project would be recommended to people with basic knowledge of electronics, coding and for people with a little experience working with acrylic :).

Step 1: Gathering All the Tools and the Building Materials

Step 2: Gathering All the Parts

Parts:

  1. 50 pcs WS2811 led chain (3 Sets)
  2. Arduino UNO
  3. DS3231 RTC Module
  4. Metal momentary switch with LED
  5. Jumper wires
  6. 5V 10A power supply
  7. A DC jack
  8. Multi-strand wire (16awg)
  9. 3 mm opal (translucent white) acrylic sheet
  10. 4 cm OD, thin wall PVC pipe (10 Meters)
  11. Black 6 mm acrylic

Step 3: Cutting the PVC Pipes to Length

In this step we will cut the PVC pipe into smaller cylinders. These small cylinders of PVC pipe will act as dividers between the pixels, since we don't want the light of an LED to bleed into the whole display. The LEDs will sit inside these cylinders and it will ensure that the light coming from each LED is focused in one particular region and will not bleed into other pixels.

To achieve the mesh of PVC pipes, we have to first cut the PVC pipes into the small cylinders of identical length. We chose a length of 6 cm as the height of the cylinders but you can choose any height around 6 cm as convenient for you. Just make sure that all the cylinders are of the same height.

Steps:

  1. Use any boxes or books to achieve a height of 6 cm (or anything around 6 cm).
  2. Keep a marker horizontally on the box, hold the PVC pipe against a wall and make the tip of the marker touch the pipe. Rotate the PVC pipe slowly using the support of the wall to make a nice and seamless line around the pipe.
  3. Cut on to the line using a hacksaw. Making sure the cuts are as straight as possible, which will be key to the quality of the diffusion.
  4. If there are any burrs/unevenness on the side of the cylinder we can use a sandpaper or box cutter to deburr one side. Deburring one side is enough however deburring both sides will be a nice-to-have.
  5. If you only have one deburred side mark that side with a "D". That side will face towards the diffuser sheet and the other side with a "L" indicating the side that the LED will be placed. If you have deburred both sides you could see whichever side sits more perpendicularly on the floor and mark that side with a "D" the and the other side with "L"
  6. Repeat 134 times :)

Step 4: Gluing All the PVC Pipes

Now as we have all the pipes cut to length, we can glue them into one huge mesh. For gluing all the tubes together we use cyanoacrylate which is commonly known as superglue.

Steps:

  1. We start by gluing two tubes together. Keep two tubes both horizontally on the table. Ensure that they both sit flush on the table and the side with the "D" written on it face the same way and are on the same level. Once everything is aligned, we can put 1-2 drops of superglue between the tubes.
  2. For gluing the third pipe, follow the same steps as given above. Keep the glued mesh on a table and place the third pipe on top of them. Ensure that the "D" side of the pipes are all facing in the same direction and in the same level. Apply 1-2 drops of superglue on each seam. If you have done everything right, when you keep the mesh vertically, with the "D"s facing downward, there should not be any rocking motion and the whole structure should be sitting flush on the table.
  3. For gluing the fourth tube and the remaining tubes we can easily keep the three glued pieces vertically (with the "D"s facing downward of course ^_^ ) and place the fourth tube on any side of the three glued pieces. Make sure the "D"s face the same way. Then we can simply glue the fourth piece to the three glued pieces, the same can be repeated for the rest of the tubes to achieve a structure as shown above.

Step 5: Cutting the Acrylic

To cut the acrylic sheet, mark the desired shapes using the dimensions given in the image. Else, you can print the SVG files provided and attach the pages on top of the acrylic sheet and use that as a guide for cutting.

Note:The dimensions might change if you have used a different diameter for the PVC pipes

Steps:

  1. If you are using the printouts of the SVG files, glue the printed pages to the acrylic sheets using any glue stick or just stick it on the the acrylic using a piece of tape.
  2. If you don't intend to use the printed pages you could use the above given dimensions to mark the shapes on the acrylic sheet.
  3. Use a scoring tool to score the lines to cut. Score until the score are almost as deep as half of the thickness of the acrylic sheet.
  4. When the scoring is done, keep the score line on the edge of a table and apply sharp pressure to the side of the acrylic sheet which is hanging in the air. This will snap the acrylic sheet along the score line. If the amount of pressure required to snap the acrylic is too high then try doing more scores on the line while using more pressure to score.
  5. Do this for all the required cuts.
  6. Using a 12 mm drill bit make a hole in one of the side panels for the push button

Step 6: Gluing the Frame to the Mesh

This step is extremely straight forward. We are gluing and acrylic frame to the PVC mesh that we just created. Since the PVC pipes look ugly we are enclosing them in a nice acrylic case.

Steps:

  1. Place the PVC pipe mesh on the floor while making sure the side with the "D"s faces down.
  2. You can place the side panel with the button on any side you wish. We decided to go with bottom right.
  3. Place all the acrylic panels around the PVC mesh while making sure that they sit flush with the floor. Make sure that the side with "D" written on the Acrylic pieces faces the floor. Make any changes with sizes of the acrylic sheets if any required.
  4. Use tape to hold all the pieces of the acrylic together, or ask a friend to help out by holding the acrylic pieces strongly to the mesh.
  5. Use some super glue or 2 component adhesive to glue all the acrylic sheets to the PVC pipe mesh.

Note: If you are planning to wall mount this display the amount of glue you should use should be a little more than usual because the whole weight will be supported on one acrylic panel and you don't want the to bend or even worse, fall apart.

Step 7: Gluing All the LEDs Inside the PVC Mesh

As per the amount of tedious work goes this should be the last process which is very work intensive,

Steps:

  1. Before starting with the gluing process, lay the LED chains on the ground sequentially. Each LED chain has 50 LEDs. Place the start of the next chain where the previous chain ends. Now, connect the JST connectors coming out of the last LED of the previous chain to the first LED of the next chain. By doing this, you should have a 150 LED long chain.
  2. Now you can hot glue the first led into the topmost & leftmost PVC pipe as shown in above. To identify the first LED of the chain, find the LED which has a connector coming out of it as shown in the picture which shows the gluing of the first LED.
  3. After gluing the first it is just a matter of following the above given diagram to glue all the LEDs in their respective places, for example the second LED will go into the tube right next to it
  4. After you have completed the first row by gluing all the LEDs in the first row, you can start with the second row, the first led of the second row will go into the tube which is immediately to the right and bottom of the first rows last LED as shown in guide
  5. By repeating this process fill the remaining tubes as per the given guide.
  6. After you have completed gluing all the LEDs into their respective tubes, you will still have some LEDs left over you can simple cut of the wire coming out of the last led to remove the excess of LEDs.
  7. After cutting of the wire you can use electrical tape to insulate the wires coming out of the last led just so that they don't create any shorts

Step 8: Distributing Power to All LEDs

From this step onward we will focus on the electrical side except for some minor gluing activities.

Steps:

  1. You'll see that you have 3 pairs of red and white cables coming out of the starting LED of each individual chain.
  2. Connect all the red wires together using a thick multi-strand wire. You can do this by simply twisting the ends of the wires or solder them together whichever is convenient for you. You'll get identical results in both cases.
  3. Do the same to all the white wires. Make sure to use a thick multi-strand wire, preferably a different color, to differentiate between the polarities.
  4. At the end you should have 2 wires coming out of the whole display for positive and negative

  5. Connect these thick multi-strand wires to the DC jack by twisting the ends or soldering. Make sure to insulate the ends with a piece electrical tape.

Step 9: Wiring the Arduino

In this step we will complete all the electrical connections.


Note: Your push button may not come with pre soldered wires, you might have to solder them or just twist them in place, whichever is convenient for you. Insulate the connections using some electrical tape. If yours doesn't come with pre soldered wires you could follow the pinout diagram given above to identify the respective pins.

Use the male to female and male to male wires to make all the necessary connections with the Arduino UNO as described below.

1. Connect DS3231 RTC module to Arduino

  • Connect VCC of RTC Module to VIN of Arduino
  • Connect SDA of RTC Module to Pin A4 on Arduino
  • Connect SCL of RTC Module to Pin A5 on Arduino
  • Connect GND of RTC Module to GND pin on Arduino

2. Connect Push button module to Arduino.

To identify the different pins on the push button,do as follows. The pin with the "+" sign next to it is the Button LED (+) pin and the one opposite to it is the Button LED (-) pin. The other two pins are the Button pins.

  • Connect any one Button pin to Pin 13 of Arduino
  • Connect the other Button pin to Pin 12 of Arduino
  • Connect Button LED (-) to Pin 11 of Arduino
  • Connect Button LED (+) to Pin 10 of Arduino

3. Connect LED chain to Arduino UNO

Identify the start LED of the complete LED chain.

  • Connect the Red wire of the connector to the 5V power supply
  • Connect the Green wire of the connector to Pin 5 of Arduino
  • Connect the White wire of the connector to the Ground

After finishing up the wiring, you can secure the push button to the side of the build side panel by fastening the button with the provided nut.

Note: We used hot glue on the connections to make sure they won't come out while it is finished and resting on a shelf

Step 10: Programming the Arduino

For programming the Arduino we have dropped the code below, the code is pretty well commented and pretty self explanatory, if you don't want any functionality or want to add some of your own it should be really easy to modify it yourself.

If you are planning on using the code without modifying the code itself, there is only one parameter which you need to set which is the time. The instructions to set the time are given in the code.

While uploading the code you must make sure that you have the FastLED library and the DS3231 library installed in your Arduino IDE.

Step 11: Finishing It All Up

We are almost done with our build, In this step we will just finish up all the small things left.

Managing the electronics

The electronics will look a lot messy and probably might even disconnect themselves if they are not glued properly into place. This is something which can be very easily avoided by gluing all the electronics inside our enclosure.

You could start by gluing the Arduino to the base of the display and the DS3231 module to the also to the base of the display. The DC jack can be positioned where it's most convenient taking into consideration where you want to mount the build, the length of wire of the power supply and other similar factors.

Wall mounting (optional)

If you want to mount this display on the wall you could drill the 5mm holes into the top plate and attach some "L" clamps to the top plate with some M5 bolts,washers and nuts, which would provide mounting holes to mount it on a wall. If you are intending to keep it on a shelf as we did, you don't need to add those "L" clamps for the mounting.

Gluing the diffuser sheet

The last and most easy step is to glue the diffuser sheet onto our huge PVC mesh. Check that you have removed the plastic protective sheet on the acrylic sheet before proceeding. Use 10-15 drops of hot glue spread across the sheet and press it against the mesh to stick the sheet. We use hot glue as it can be easily removed with a simple tug for any repairs.

PS: Peeling the plastic protective sheet off of the acrylic sheet is the most satisfying part of the build.

Back plate (optional)

If you want the back side of the matrix to be a little more elegant, you could cut a piece of 6mm black acrylic which has the same dimensions as the diffuser sheet and glue it to the back of the matrix using some hot glue

Finished

Now you should have a fully functional LED matrix which looks good in day time and amazing in the night time. I sincerely appreciate if you have made it this far. As this is my first instrucatable there are many things to be improved, especially the photos I took were not the best, which i will definetly try and improve in the future instructables(PS: My phone's camera doesn't really do justice to this display as it looks way cooler in real life ). If you were building along, i hope you enjoyed the build and had some fun time. Improvements are really welcome and I really can't wait to see what you guys can improve and do differently ^_^