PlexiClock

35,628

430

43

Introduction: PlexiClock

About: It's just me. myself and I...

The Plexiclock is an electronic clock, consisting of 28 engraved plexi glass sheets acting as four luminescent 7-segment displays in a wooden housing.

The digits are illuminated from the bottom with 28 individually controllable LEDs, which are built in the wooden housing. A microcontroller controls four shift registers that can turn each LED on and off individually. The microcontroller detects the current time by an RTC module, which is then shown using the illuminated plexi glass.

On each plexi glass sheet is one of the seven different segments of a 7-segment display engraved. Seven discs are mounted above each other and the bundles are adjacent to each other and embedded in the wooden cabinet. If all seven slices are illuminated from below, the light breaks in all engraved segments and an eight can be seen. By activating and deactivating the individual segments all numbers from zero to nine can be displayed. The Plexiglas bundles are embedded in a wooden cabinet containing the control electronics and power supply and a port for charging.

Plexiclock is powered by a lithium ion battery, but can also be connected with a USB cable to a different power source.

The wooden housing and plexi glass parts of Plexiclock were manufactured in the GCC Spirit GX in a Fablab in Vienna called "Happylab". 4mm poplar plywood was engraved and cut by vector template. The pieces of wood were glazed a few times. The thickness of the bundle was kept as low as possible therefore is a 2 mm thick plexi glass used for the segments.

Step 1: Preparing Parts & Tools

First, I hope you will have a lot of
fun with the following instruction! I also want to thank every author of the instructions which I used to manage this!

I apologize for not being word-perfect in English and if you have any question, don’t hesitate to contact me!

Before you begin to work, make sure you have all the parts together. You see all of the parts which I used in the first picture and there is a list with all of the parts following. I also included some links where you can purchase the parts and some other tutorials regarding each used circuit board.

------------------------------------------------------------------------------------------------------------------------------

Electric Parts:

  • 4x 8 Bit Shift Out Register Board 74hc595 (chainable)

Buy:

https://www.sparkfun.com/products/10680

(Us store)

http://www.exp-tech.de/shift-register-breakout-74h...

(German store)

https://electronics.semaf.at/Shift-Register-Breako...

(Austrian store)

Manual:

http://bildr.org/2011/08/74hc595-breakout-arduino/

  • 1x Arduino Micro

(or any other micro controller)

Manual:

https://www.arduino.cc/en/Main/ArduinoBoardMicro

  • 1x Seeed Studio LiPo Rider USB Charger Power Booster V1.3

http://www.exp-tech.de/seeed-studio-lipo-rider-usb...

(German store)

Manual:

http://www.seeedstudio.com/wiki/Lipo_Rider_V1.0

  • 1x Lipo Powercell

(to determinate the right output, see the chapter regarding the power cell in the following)

http://www.exp-tech.de/catalogsearch/result/?q=lip...

  • 1 x Mini USB extension cable

(this is optional, only necessary if there is not enough space in the housing to get the mini usb port of the Lipo charging board close enough to the outer wall to reach it with a cable from the outside to charge the board)

  • 1x Micro USB to USB cable

(to connect the arduino micro to your computer to upload the sketch)

  • 1 x Toggle Switch
  • 1 x Real Time Clock (RTC) Module

http://www.exp-tech.de/adafruit-ds3231-precision-r...

(German store)

Manual:

https://learn.adafruit.com/adafruit-ds3231-precisi...

  • 28 x LEDs (any mono color LED you want)
  • 28 x Resistors (fitting to the LEDs, see Step 6)
  • Wire & Tools

Parts for the housing:

  • 4mm Plywood sheets (or any thickness you want)
  • Any glaze or finish to make the plywood more robust and classy

Parts for the plexi bundles:

  • Thin plexi glass (2mm)
  • Sheet of any black foil
  • Hot glue gun

Step 2: Lasering Wood Housing

I decided to make the housing out of thin plywood (4mm) and lasering the parts with a CO2 Laser at a makerlab in my town!

I made a very simple housing for my clock but it’s up to you to design any housing you want! Just make sure you make square openings where the plexi glass bundles fit in. Also think about how many material your laser will burn away by lasering the parts out, so in my case there is a 0.1mm line to the inner lasered out by the laser. So if your hole should have a width of 40.0mm, for example, you have to draw a width of 3.8mm! But this depends on your laser and the power settings you use!

First part (from left) is the top of the housing and there are openings for the plexi glass. The second part is the bottom of the housing and I placed a big opening there to make sure I can reach the inner parts later! The next part is the back of the housing and you can see I also placed two openings, one for the switch and one for the mini usb cable extension. This port is used to charge the battery.

The other parts are used for the sides, the front and base. You can also add some engraving to style up your housing!

Step 3: Lasering Plexi Glass Parts

Now we come to the plexi parts. As you can see we need 7 sheets for each numeral of the clock, so 28 in total. I made the clock with hour and minute display, but you can also add two numbers for the seconds! But obvious you will need more LEDs, Shift Out Registers and so on!

Every plexi sheet will get one of the segments engraved! And we need every sheet four times! You have to try out what power settings you need to ensure a clean engraving and enough depth that the light of the LEDs breaks effectively! I placed the segments vertically not in the middle of the sheet. This is because the bottom part of the sheets will be stacked into the housing. I used 2mm plexi glass, the thinnest I could get, to minimize the thickness of the bundles. This is also because the thicker the sheets are the more blurred are the numbers when you see them from the side and not from the front!

You can find all of the lasering files attached to each step!

Step 4: Glaze Wood Housing

I used a glaze to get a classier look for the housing. You can use a lot of wood finisher and techniques, if you are not sure about it, you may ask some worker in the tool market! After glazing the wood and gluing everything together, I placed some tape around the housing, but this is just for optical reason!

Step 5: Bundle Plexi Sheets & Glue Leds on Plexi

Now it’s time to make the 4 bundles ready to get integrated into the housing! First I started with cleaning the plexi glass and putting them together in the right order. I used some very thin black foil from some paper binder to separate the sheets and the LEDs. Then I used some easy to remove tape to hold the plexi sheets together temporally. Now you have to glue the LEDs on the bottom of each segment. I used hot glue, because it’s easy to use, fast and you can remove it if necessary! This part is a little bit tricky, because there is not much space to work with the hot glue gun and you have to place the LEDs on the right spot where they can light up their segment best! And you need to glue all sheets together that they keep together after removing the tape!

Step 6: Solder Leds & Resistors

Now we can start with the soldering of the LEDs, you will need a resistor which limits the current for the LED. To determinate the right Ohm value you have to check the datasheet of the LEDs.

In my case I used a blue LED with 20mA, 3,5V forward Voltage and a 5V Power Supply:

R(resistor) = U(resistor) / I

U(resistor)=U(all)-U(led)=5V-2,4V=2,6V

R(r)=U(r)/I=2,6V/0,02A=130Ohms -> 150Ohms (closest in usual E series)

When you have your 28 LEDs and the 28 Resistors ready, it’s time for soldering all together. Therefore I soldered the resistor to the +pole of the LED and two wires to the other leg and to the other end of the resistor. Then I surrounded all open copper parts and the resistors with heat shrink tube. Then you have to strip the insulation of the endings of the cables to get them ready to connect them to the shift out registers!

Step 7: Connection Electronical Parts and Wiring

In this step we take a look at the electronical components and how to get all together! The arduino can drive up to 8 LEDs with each shift out register. I chained 4 registers in a row to drive up to 32 LEDs (I only used 28). The register communicates with the arduino by 3 pins (latch, clock and data) and you have to power the register with 5V and GND! Regarding the current time the arduino is communicating with an RTC by I2C, best way is to use a precision RTC to minimize failure. At Step 10 you see the picture which shows the ports of the arduino I used! But you can use any you want!

Now you have to solder the LEDs to the shift out registers or you may use a cable connector or something like this! To get everything together I soldered a simple circuit board with a drilled board to connect the arduino with the shift out registers. I made a very simple one with some terminals for the cables to connect the RTC and the Shift Outs to the arduino. Actually I don’t have any picture from the finished circuit board, but if you have any problem or question regarding this just contact me! You can use any connector, cable or something like this to connect the shift outs with each other. If you have your RTC soldered and the shift out chain ready, you can connect everything together to the arduino over your custom circuit board or just by cables!

Step 8: Power Supply

To power the whole project you will need a battery and some circuit board to charge the battery and boost the voltage from the battery to a constant level! I used a “Seeed Studio LiPo Rider” which also includes connection for a photovoltaic panel to charge the battery. This is optional and I didn’t use this function in this project. You can use any Lipo Charger or Booster, just take care that the Lipo battery and the charger board fits together and has a micro USB connection to charge and another to give power to the arduino! To determinate what type of Lipo you need take a look at your LEDs and how much current they need. Here is what I used:

28 x LEDs - 3mm 20mA, 5V

28 x 20mA = 560mA

This is just for the LEDs, the arduino and the RTC also need some current to work, but there are not all LEDs turned on at the same time and you can lower the LEDs by PWM to decrease the current they need! I used a 1000mAh Lipo which is adequate for me because the clock isn’t turned on the whole time, just when I want to check time. Another thing to think about is where you can add the switch, best is a charging board with an option to solder a switch to it or you can just put the switch directly in row to the + pole of the battery. Later I changed the “Seeedstudio Lipo Rider” to an “Adafruit Power Boost Charger”, because I needed the Lipo Rider for a photovoltaic project. The “Adafruit Power Boost Charger” is a very simple and well working charging board which I can recommend for all standalone devices with small or medium power usage.

http://www.exp-tech.de/adafruit-powerboost-1000-charger?___SID=U

When it comes to exact calculation for power supply, charging and battery I am also happy about other suggestions or ideas for improvement!

Step 9: Arduino Sketch & Function Test

This is the sketch I used to drive the LEDs and check the time by the RTC module!

If you have any problem compiling the sketch, you may need to install some libraries before.

https://www.arduino.cc/en/Reference/Wire

https://github.com/adafruit/RTClib

http://bildr.org/2011/08/74hc595-breakout-arduino/

Step 10: Fuse Electronic Components

Now it is time to bring all together and check if it works! Connect the Shift Outs and the RTC to the arduino. Then plug in the Micro USB cable into the arduino micro and the other end to the Lipo Rider. Connect the battery with the board and the switch and the mini USB extension cable to the charging port of the Lipo Rider. Now should everything light up and the right LEDs regarding the time should illuminate the plexi segments. To charge the battery you just have to connect the extension cable port to a power source or the Lipo Rider directly over mini USB for testing!

Step 11: Electronics Into Housing

Now it is time for the wedding of the inner parts and the housing. Put the plexi bundles through the opening in the top of the housing and store the electronic components inside. Glue the mini USB extension end and the switch to the openings in the back. Close the bottom and light it up!

As you see it is a little mess inside my housing because of the wires for the LEDs and the long USB cable, this was just for the prototype and I will improve this in the future.

Not the best quality, I know, better pictures coming soon!

Arduino Contest 2016

Second Prize in the
Arduino Contest 2016

Make it Glow Contest 2016

Participated in the
Make it Glow Contest 2016

Epilog Contest 8

Participated in the
Epilog Contest 8

1 Person Made This Project!

Recommendations

  • Potato Speed Challenge

    Potato Speed Challenge
  • Mason Jar Speed Challenge

    Mason Jar Speed Challenge
  • Bikes Challenge

    Bikes Challenge

43 Discussions

0
Jules1050
Jules1050

1 year ago

After 30 minutes of running the LEDs are pulsed down to 50%, if you dont want this feature delete the following lines:

if(counter > 30){
analogWrite(OEpin, 125);
}

You can adjust the brightness of the LEDs by setting the OEpin from 1 to 255 (x):
analogWrite(OEpin, x);

0
Richardt131
Richardt131

Reply 1 year ago

This code that shutting down LED's after 60 minutes.
Commented it out, now it works like it should !

thanks again !

if(counter > 60){
alle_aus();
}

0
smeek111
smeek111

2 years ago

Interesting build. You should look into multiplexing with arduino. Save all the shift registers and extra wiring.

0
Jules1050
Jules1050

Reply 1 year ago

Thanks, I already did but I thought working with shift register is more comfortable and at this time I did not know much about shift register, therefore it was a good training to work with them...

0
Richardt131
Richardt131

1 year ago

hi, i did build this nice clock ! display seems to not function as it should. it it possible to test units 1 by 1 (lit op 0 - 8) so i can find out what exactly goes wrong ?

0
Jules1050
Jules1050

Reply 1 year ago

Hi! Nice to hear that still somebody using my instructable! Yes you can check every LED one by one. Do you use the same components like me? Maybe read this article: https://learn.sparkfun.com/tutorials/shift-registe...
It should explain the usage of the shift register! The best way is to check part by part. First make a setup with only the LEDs and the shiftregister without the RTC. And check the RTC standalone. Just init the shift register lib and test a basic where you turn on LED one by one!

Maybe try this (but didnt tested):
//include libaries
#include <Wire.h>
// #include "RTClib.h"

#include <Shifter.h>

//define variables
#define SER_Pin 8 //rtc - SER_IN
#define RCLK_Pin 7 //rtc - L_CLOCK
#define SRCLK_Pin 6 //rtc - CLOCK

#define NUM_REGISTERS 4 //shift out registers - how many registers are in the chain

int Reset = 4; //shift out registers - Reset
int OEpin = 5; //shift out registers - OutputEnable Pin
int power = 9; //control

//shift out registers - initaize shifter using the Shifter library
Shifter shifter(SER_Pin, RCLK_Pin, SRCLK_Pin, NUM_REGISTERS);

void setup () {

pinMode(Reset, OUTPUT);//shift out register
pinMode(OEpin, OUTPUT);//shift out register
pinMode(power, OUTPUT);//control

digitalWrite(Reset, HIGH);
digitalWrite(power, HIGH);//turn on
analogWrite(OEpin, 0);//pwm leds 255

alle_aus();//all leds are turned off
}

Serial.println("Strip Test:");
shifter.setAll(HIGH);
shifter.write();
delay(2000);
shifter.setAll(LOW);
delay(2000);
shifter.write();
for(int o = 0; o < 28; o++){
change_one(o, 1);
shifter.write();
delay(1000);
}
shifter.setAll(LOW);
shifter.write();
glide();
}


void loop () {

}

void alle_aus(){

shifter.clear(); //set all pins on the shift register chain to LOW
shifter.write(); //send changes to the chain and display them

}
void change_one(int led, int led_status){


if(led_status == 1){
shifter.setPin(led, HIGH); //set pin x in the chain HIGH
}
else{
shifter.setPin(led, LOW); //set pin x in the chain LOW
}
}

void pulse(){
for(int o = 28; o > -1; o--){
change_one(o, 1);
shifter.write();
delay(50);

}
alle_aus();
}

void repulse(){
for(int o = 0; o < 28; o++){
change_one(o, 1);
shifter.write();
delay(50);
}
alle_aus();
}
void glide(){

for(int k = 0; k<4; k++){
alle_aus();
change_one(1+k*7, 1);
change_one(4+k*7, 1);
shifter.write();
delay(100);

alle_aus();
change_one(0+k*7, 1);
change_one(3+k*7, 1);
change_one(6+k*7, 1);
shifter.write();
delay(100);

alle_aus();
change_one(2+k*7, 1);
change_one(5+k*7, 1);
shifter.write();
delay(100);
}

}

-------------------------------------------------------------------------

In general you can use this for turnig LEDs on and off:

// do all setup like above
shifter.setPin(x, HIGH); //set pin x in the chain HIGH
shifter.write();

0
Richardt131
Richardt131

Reply 1 year ago

it is working now, had to change some index numers 1-7 9-15 17-23 25-31
now i have to set the clock and than it is working as ot should ! Thanks !

0
Jules1050
Jules1050

Reply 1 year ago

Sorry for the delay! Glad that you managed it by yourselve! Do you still need any help? Regarding the shut down after some minutes, i remember that i planed a power safe mode after some minutes, I am not sure if it is including in the code that I published. I will check the code and change it if necessary! Don't hesitate to contact me if you need any further help!

0
Richardt131
Richardt131

Reply 1 year ago

thanks for response, i am sorry i not a script goeroe :-( this sketch gives errors on alles_aus.... can you help me ?

0
Richardt131
Richardt131

Reply 1 year ago

hi, have 1 question. clock working fine now. I use a Arduino Nano. After some time (maybe a hour or so ) digits go dark, only thing clock shows is his reset just like time update, than goes black again. What coukld this be ? Allready replaced Nano, that did not do the job. Thanks !

0
KimS11
KimS11

3 years ago

Absolutely beautiful project. Its well thought out, and perfectly executed. My only problem is that very few readers have access to a laser engraving cad device to make the numbers for this..this aggravates me to no end.

0
Jules1050
Jules1050

Reply 3 years ago

You may try etching the segments into the plexi, I think there are some instructables around which describe how to etche plexi by hand... Just use a foil where you cut out the segments and then use some weak acid for etching, but I have no experience with that so maybe look out for a instructable. If I find one, I tell you!

0
KimS11
KimS11

3 years ago

Please don't let my comment detract from the fact that this is truly a beautiful, eligant project

0
RoguePirin
RoguePirin

3 years ago

Fantastic idea. Your clock turned out great.

I voted for this one.

0
Jules1050
Jules1050

Reply 3 years ago

Thanks for the vote! :)

0
Chrome98
Chrome98

3 years ago

What are the dimensions of each plexiglass piece?

0
Jules1050
Jules1050

Reply 3 years ago

round about 4cm width to 7cm height... you can get the exact dimensions from the lasercutter file...

0
Chrome98
Chrome98

Reply 3 years ago

I looked at all three slice file and didn't see any measurements.

0
Jules1050
Jules1050

Reply 3 years ago

Sorry I mean you can open the file with a vector program like illustrator and then your program should have an option for measuring. If you have any problem with that, just let me know and I will send you a file with dimension infos included!