Thermochromic Clock

3,908

58

14

Introduction: Thermochromic Clock

About: I am a physicist, part time maker and electronics enthusiast. My projects revolve mainly around daily-use items, toys and decoration with a focus on unconventional mechanisms and high standard of design.

If you have seen my other projects you know that I like clocks. So after building the thermochromic temperature and humidity display it was only natural to make a clock version.

This clock works by using a thermochromic foil based on liquid crystals that changes color with temperature. The foil is attached to a PCB with SMD resistors as heating segments.

At first, I tried to build a clock that was based on PCB heaters similar to my thermochromic temperature & humidity display. However, as the dimensions of the segments became smaller and therefore although their resistance, it was challenging to find proper drive electronics for so many channels that can supply enough current. Then the idea came to me to use SMD resistors instead.

Supplies

  • custom heater PCB (see my GitHub for Gerber and BoM)
  • custom driver PCB (see my GitHub for Gerber and BoM)
  • housing made from laser-cut acrylic (see my GitHub for dxf files)
  • Thermochromic Adhesive Sheet, 150x150 mm, 30-35°C (SFXC)
  • 4x M3x26mm bolts
  • 4x M2x6mm bolts
  • 4x 2.6mm long PCB spacer (3D-printed, see my GitHub for stl file)

Step 1: PCB Design

The PCBs were designed in KiCAD. There is one PCB for the heating segments and another PCB for the drive electronics. Both PCBs are connected using standard 2.54mm pin headers. I added a little bit of a twist to the design by having the hours and minutes arranged vertically and slightly offset to each other. I found these 2512 SMD resistors which are perfect as heating segments as they are very thin and can handle 1W. To drive the segments I chose the popular TPIC6B595 8-bit power logic shift register which can provide 150mA per channel (500mA total). The heating resistor value was chosen as 33Ohm, limiting the current to 150mA for a 5V power supply. The brains of the circuit is an ESP8266 dev board (Wemos D1 mini). This allows synchronizing the time via NTP using the onboard WiFi. Although the TPIC6B595 is only specified for 5V logic it also works with 3.3V from the ESP8266. Everything is powered through an USB-C plug.

The Gerber files and BoM can be found on my GitHub. I ordered my PCBs from PCBWay because you can choose a black solder mask that l wanted to have for the heater PCB.

Step 2: CAD Design

The enclosure is made from laser-cut acrylic and was designed in Fusion360. It uses alternating layers of black and transparent 3mm thick acrylic sheets stacked on top of each other. I wanted to have round edges so the alternatives would have been to bend the acrylic or use living hinges. I decided on the stacked layers and made the transparent layers a bit smaller to make the enclosure look like the fins of a heatsink. The layers are held together by M3 bolts and the driver PCB is attached to the bottom using M2 bolts.

The dxf files for the enclosure can be found on my GitHub. I ordered them from snijlab.nl.

Note: in the CAD model the top and bottom plate are both 5mm thick. This allows using standard 30mm length M3 bolts instead of the 26mm bolts I used.

Step 3: Assemble Heater PCB

I first soldered the SMD resistors using solder paste and a hot air soldering iron. Then the PCB headers were soldered. After that, I glued a 3D-printed frame to the PCB which matches the thickness of the SMD resistors. Finally, the self-adhesive thermochromic foil was added on top.

Step 4: Assemble Driver PCB

The driver PCB also contains a few SMD components such as resistors, decoupling capacitors and the USB-C plug. The rest are all handsolder friendly thru-hole components. The TPIC6B595 were attached using 20-pin DIL sockets while the Wemos board was directly soldered to the PCB.

Step 5: Upload Code

The code was written using the Arduino IDE. It connects to your WiFi and synchronizes time from an NTP server. You have to specify your WiFi SSD and password, NTP server, and timezone at the beginning of the code.

The segments are heated with a software-implemented PWM signal to limit the heating power and current consumption. You can play around with the duty cycle and heating time to optimize the color-changing effect of the foil.

The code can be found on my GitHub.

Step 6: Assemble Enclosure

At first, I had to thread the M2 and M3 holes into the bottom plate of the enclosure. Then the driver PCB was attached to the bottom plate using 3D-printed spacers and M2 bolts. Finally, the enclosure was stacked together and fixed with M3 bolts. The top late needs to be added after the PCB heater was attached.

Step 7: Closing Remarks

In my previous thermochromic temperature and humidity display the color change was limited to the segments, however, here the heat tends to spread out and causes the foil to change color almost all over. This is partially because I am heating the segments longer in order to have the digits visible for a longer time. In the end, I think it makes for a nice effect having the digits surrounded by a blur of colors.

The enclosure design needs a little bit of improvement. Some of the holes are very close to the edge and the hole diameter of the threaded holes turned out a bit too large. In addition, the opening for the USB-C plug is too small for some USB-C cables.

I am thinking about a watch version using even smaller SMD resistors and a thermochromic display using a matrix of diodes is also in preparation.

Colors of the Rainbow Contest

Participated in the
Colors of the Rainbow Contest

Be the First to Share

    Recommendations

    • Pets Challenge

      Pets Challenge
    • Meatless Challenge

      Meatless Challenge
    • Remote Control Contest

      Remote Control Contest

    14 Comments

    0
    TechnoGeek337
    TechnoGeek337

    Question 7 months ago

    Hello, I want to build this clock but I am an amature at pretty much all of this. When I look at your files, how do I know which ones I need to give to the manufacturer to build the pcb? Do I send all of those files?

    0
    mosivers
    mosivers

    Answer 7 months ago

    Cool that are building the clock!
    You have to send them the zip file in the Gerber folder. I also still have some spare PCBs I could send you. If you are interested just send me a pm.

    0
    TechnoGeek337
    TechnoGeek337

    Reply 7 months ago

    I really appreciate it! That won't be necessary though. And for the laser cut housing I would send all of the dxf files right? And it is a super cool clock! Once I build it I will post a picture of it here! :)

    0
    mosivers
    mosivers

    Reply 7 months ago

    Yes there are sites where you can just upload the dxf files and choose the material and thickness. I am glad that you like the clock and excited to see it when it's finished.

    0
    Design•Time
    Design•Time

    1 year ago

    Nice work! Thank you for sharing your project

    0
    Palingenesis
    Palingenesis

    1 year ago

    Very nice.
    Just an idea: If you have air gaps cut into the PCB. Do you think it would reduce the heat bleeding into the rest of the PCB?
    I have done a sketch to show what I meant.

    Thermal_Clock.png
    0
    mosivers
    mosivers

    Reply 1 year ago

    This is what I did for my other thermochromic projects where the heater traces were directly etched on the PCB. I think in this case the heat is mainly conducted by the foil itself.

    0
    Palingenesis
    Palingenesis

    Reply 1 year ago

    My apologies, I didn't take a close look at the others, I see it works well on your other ones.
    I have another theory, tell me straight if you think I am barking up the wrong tree.
    I see you have 3D printed the infill between the heaters.
    Have you tried it without it?
    So that the air can flow behind the crystal sheet.
    Or modify the 3D print so it has cooling channels to let worm air flow up out of the top, brining cool air from the bottom.
    Looking at the photo in step 7. The square area where you have no 3D printed material looks darker.

    0
    drtonis
    drtonis

    Question 1 year ago

    How is it with the UV light? How long can you use one Thermochromic Sheet? Will it loose its performance with time?

    I saw you temperature project some time ago and had already then the same questions.

    0
    mosivers
    mosivers

    Answer 1 year ago

    The manufacturer recommends keeping the foil away from UV light. I have been running my thermochromic temp.&humidity display indoors for over a year now and I don't see any degradation of the sheet.

    0
    drtonis
    drtonis

    Reply 1 year ago

    Good to hear, maybe I have to try it by myself too then.

    0
    themelispan
    themelispan

    1 year ago

    Clocks can be pretty boring but you took it to another level! Cool! 👍👍👍

    0
    kcraske
    kcraske

    1 year ago

    I also love clocks. This looks great. One question. Is the rate of cooling of the display affected by the ambient temperature?

    0
    mosivers
    mosivers

    Reply 1 year ago

    Thanks. The color change indeed depends on the ambient temperature. In my previous project I adjusted the heating time according to the measured temperature. In this case I am thinking about a Webserver based UI that let's you adjust the heating time and duty cycle