Thermochromic Temperature & Humidity Display

25,970

142

23

About: Hi, I mainly like to build projects involving electronics. The devices are often not very useful, I am more focused on toys and decorative stuff.

I have been working on this project for quite some time. The original idea came to me after building a TEC controller demonstrator at work for a trade fair. To show the TECs heating and cooling capabilities we were using thermochromic paint that changes from black to transparent.

In this project I have taken the idea further and build a two digit 7-segment display using copper plates that are covered with thermochromic sheets based on liquid crystals. Behind every copper plate sits a TEC element that controls the temperature and thereby changes the color of the liquid crystal sheet. The numbers will show the temperature and humidity from a DHT22 sensor.

You may appreciate the irony of having a device that displays the ambient temperature by changing it's own temperature ;-)

Supplies:

  • 3 pcs, 150x150 mm liquid crystal sheet (29-33°C) (see here).
  • 17 pcs, copper plates, 1mm thick (dimensions see below)
  • 401 x 220 x 2 mm aluminium plate (grey/black anodized)
  • 401 x 220 x 2 mm acrylic plate (white)
  • 18 pcs, TES1-12704 peltier element
  • 9 pcs, TB6612FNG dual motor driver
  • 6 pcs, Arduino Nano
  • 2 pcs, 40x40x10 mm cooling fan
  • 18 pcs, 25x25x10 mm heat sink
  • 12 V, 6 A power supply
  • DHT22 (AM2302) temperature and humidity sensor
  • 6 pcs, 40 mm long PCB standoffs

In addition, I used this thermally conductive epoxy which was rather cheap and has a long pot life. A drill and dremel tool was used to make the necessary holes in the aluminium and acrylic plates. Holder for the arduinos and motor driver PCBs were 3D printed and attached with hot glue. Also, I used lots and lots of dupont wires to make all the connections. Furthermore, this PCB with screw terminals came in very handy to distribute the 12 V power supply.

Attention: Apparently, many of the TB6612FNG boards do have the wrong capacitors installed. Although all sellers specify the board for motor voltages up to 15 V, the capacitors are often only rated for 10 V. After I blew the capacitors on my first two boards, I desoldered all of them and replaced them with proper ones.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Making the Copper Plates

For the copper plates I used an online laser cutting service (see here) where I could upload the attached dxf files. However, since the shapes are not very complicated, laser cutting is not a must and there are probably cheaper manufacturing techniques (e.g. punching, sawing). In total, 14 of the segments, two circles and one dash are needed for the display. The thickness of the copper plates was 1 mm but could probably be decreased to 0.7 or 0.5 mm which would need less heating/cooling power. I used copper because the heat capacity and thermal conductivity is superior to aluminium but the latter should also work reasonably well.

Step 2: Attaching Liquid Crystal Sheet

The key component of this project is the thermochromic liquid crystal foil which I obtained from SFXC. The foil is available in different temperature ranges and changes color from black at low temperatures over red, orange and green to blue at high temperatures. I tried out two different bandwidths 25-30°C and 29-33°C and ended up choosing the latter. Because heating with a peltier element is easier than cooling the temperature range should be slightly above room temperature.

The liquid crystal foil has a self adhesive backing that sticks very well to the copper plates. The excess foil was cut around the plate using an exacto knife.

Step 3: Attaching TEC Element

The peltiers were attached to the center of each copper plate using thermally conductive epoxy. The plates are a bit larger than the peltiers so that they stay completely hidden behind. For the longer plate that constitutes the dash of the percent symbol I used two peltiers.

Step 4: Preparing Aluminium Plate

To save some money I drilled all holes in aluminium plate myself. I just printed out the attached pdf on A3 paper and used it as as drilling template. There is a hole for every segment where the TEC cables run through and 6 holes on the edges for attaching the acrylic plate later.

Step 5: Attaching Segments

One of the hardest parts in this project was to attach the segments correctly to the backplate. I 3D printed several jigs that would help me with the alignment of the segments but this only worked partially because the segments were constantly sliding away. In addition, the cables push on the peltier so that it loosens from the plate. I somehow managed to glue all the segments in the right place but one of the peltiers in the dash segment has very bad thermal coupling. It might be better to use self-adhesive thermal pads instead of epoxy although I suspect it may loosen over time.

Step 6: Attaching Heatsinks and Holders

My original idea was to just use the aluminium plate as heatsink for the peltiers even without any fan. I thought that the total temperature of the plate will only rise slightly since some segments are cooled while others are heated. However, it turned out that without additional heatsinks and no cooling fan the temperature will keep rising to a point where the copper plates cannot be cooled down any more. This is especially problematic since I do not use any thermistors to control the heating/cooling power but always use a fixed value. Therefore, I bought small heatsinks with a self-adhesive pad that were attached to the backside of the aluminium plate behind every peltier.

After that, 3D printed holders for the motor drivers and arduinos were also attached to the backside of the plate using hotglue.

Step 7: Uploading Code

Each arduino can only control up to two motor drivers since they need two PWM and 5 digital IO pins. There are also motor drivers that can be cotrolled via I2C (see here) but they are not compatible with 5 V logic of the arduinos. In my circuit there is one "master" arduino that communicates with 5 "slave" arduinos via I2C that in turn control the motor drivers. The code for the arduinos can be found here on my GitHub account. In the code for the "slave" arduinos the I2C address has to be changed for every arduino in the header. There are also some variables that allow changing the heating/cooling power and the corresponding time constants.

Step 8: Wiring Madness

The wiring of this project was a total nightmare. I have attached a fritzing diagram that shows the connections for the master arduino and a single slave arduino as an example. In addition, there is a pdf documenting which TEC is connected to which motor driver and arduino. As you can see on the pictures due to the large amounts of connections the wiring gets very messy. I used dupont connectors wherever it was possible. The 12 V power supply was distributed using a PCB with screw terminals. On the power input I attached a DC cable with flying leads. To distribute the 5 V, GND and I2C connections I equipped some prototype PCBs with male pin headers.

Step 9: Preparing Acrylic Plate

Next, I drilled some holes in the acrylic plate so that it can be attached to the aluminium plate via PCB standoffs. In addition, made some cutouts for the fans and a slit for the DHT22 sensor cable using my dremel tool. After that the fans were attached to the backside of the acrylic plate and the cables were fed through some holes I drilled. Next time I will probably make the plate by laser cutting.

Step 10: Finished Project

Finally, the acrylic plate and aluminium plate were attached to each other using 40 mm long PCB standoffs. After that the project is finished.

When connected to the power supply the segments will show the temperature and humidity, alternately. For the temperature, only the upper dot will change color while also the dash and lower dot are highlighted when showing the humidity.

In the code each active segment gets heated for 25 seconds while simultaneously cooling the non-active segments. After that the peltiers are switched off for 35 seconds so that the temperature can stabilize again. Nevertheless, the temperature of the copper plates will rise over time and it takes some time until the segments do a full color change. The current draw for a single digit (7 segments) was measured to be about 2 A so the total current draw for all segments is probably close to the maximum of 6 A that the power supply can provide.

One could certainly reduce the power consumption by adding thermistors as feedback to adjust the heating/cooling power. Going one step further would be to use a dedicated TEC controller with PID loop. This should probably allow constant operation without much power consumption. I am currently thinking about building such a system using Thorlabs MTD415T TEC drivers.

Another disadvantage with the current configuration is that one can hear the 1 kHz PWM output of the motor drivers. It would also be nice if one could get rid of the fans because they are also quite loud.

Metal Contest

This is an entry in the
Metal Contest

Be the First to Share

    Recommendations

    • CNC Contest

      CNC Contest
    • Make it Move

      Make it Move
    • Teacher Contest

      Teacher Contest

    23 Discussions

    0
    None
    ethansocks8

    14 days ago

    Wow. Just wow. This is super cool. Sure to get at least first prize.

    0
    None
    calcot

    23 days ago

    That is really, really cool!

    0
    None
    Makerneer

    23 days ago

    Cool project, thanks for sharing!

    0
    None
    ibrahimmusba

    4 weeks ago

    Really nice project. I want to replicate it. What was the approximate cost for this?

    1 reply
    0
    None
    mosiversibrahimmusba

    Reply 4 weeks ago

    Thank you. I have to calculate the costs and will add them later to the instructable, it should be around 200 EUR.

    0
    None
    DmitriyU2

    4 weeks ago

    Great display idea, but why you use expensive peltiers instead of simple heaters, as example you may make it on PCB? 2 UNOs also overkill, there are ways to extend one.

    1 reply
    0
    None
    mosiversDmitriyU2

    Reply 4 weeks ago

    That is a good point, I also thought about just using heaters. However, the peltiers were not that expensive (~ 2 EUR/pc) and I wanted some quick way to change the color of the segments back to black. Also you could operate the display at ambient temperatures above 29°C where the color change starts.

    0
    None
    mpcleverdon

    4 weeks ago

    Great project , to keep it cool I though that a peltier would heat/cool depending on the +/- configuration so no fans would be necessary, surely it's possible to invert the voltage?

    1 reply
    0
    None
    mosiversmpcleverdon

    Reply 4 weeks ago

    Thank you. You are correct, the peltiers will heat or cool the copper segments depending on the polarity of the applied voltage. The fans are just used to prevent the backplate from heating up too much over time.

    0
    None
    Gourdhead

    4 weeks ago

    I'm wondering if this would work outside. It seems to me that the temperature around the display would have to be maintained constant in order to prevent it's displaying the wrong temperature.

    1 reply
    0
    None
    mosiversGourdhead

    Reply 4 weeks ago

    If it gets too hot or cold outside the heating/cooling power of the peltiers will probably not suffice to completely change the color of the foil. One would also have to add a weather proof housing for the electronics.

    0
    None
    Helder Cabral

    4 weeks ago

    This gave me an amazing idea! I´ll post photos when I make it. Very nice.

    1 reply
    0
    None
    BerenV

    4 weeks ago

    Cool technology to use in a display! Have you heard of I2C PWM expanders such as the PCA9685? If you used those plus an I/O expander, you could run it all off only 1 Arduino, thus lowering the cost and complexity. Actually, come to think of it, the SX1509 is an awesome I/O expander that can also do more autonomous PWM stuff as well.

    1 reply
    0
    None
    mosiversBerenV

    Reply 4 weeks ago

    I have used the PCA9685 in a previous project. I will check out the SX1509 as well. Reducing the amount of components and wiring would be nice

    0
    None
    curiosity36

    4 weeks ago

    "In this project I have taken the idea further". There's no limit to the creative mind. Beautiful. Thanks for posting.

    0
    None
    randofo

    4 weeks ago

    This is very clever! Nice job :)

    0
    None
    Wo1fMane

    4 weeks ago

    That's awesome! It's mesmerizing, ironic and perfect.

    0
    None
    Leomiracle

    4 weeks ago

    Such a cool and hot project! Thumbs up!

    0
    None
    Hersoft

    4 weeks ago

    Wow, yes I know and used tecs but never thought of doing something like this.
    Great job!