MiniDV import video via Firewire ›

Thermometer from spare parts

2024-01-25 13:48 electronics

I found some left-over parts and put together this low-power thermometer.

It is using a MSP430G2553 microcontroller, a Nokia 5110 LCD and a DS18B20 waterproof digital thermometer (-55 to +125 °C). There are two AA batteries inside, a switch to turn it on and off and a push button that toggles the display backlight.

thermometer
thermometer
thermometer

Power consumption is very low - on average 1.3 milliwatts (0.43 mA @ 3 V). And with the backlight LEDs turned on it draws 3.72 mW (1.24 mA).

The firmware wakes up once per second to check the temperature. If it changed the display is updated. There is an internal log so that one can see the trend - if the temperature is rising or falling compared to one minute ago.

To make the display reliably initialise, I had to modify the file LCD_5110.cpp.

95a96
>   digitalWrite(_pinSerialClock, LOW);
97d97
<   delay(30);
99c99
<   delay(100); // as per 8.1 Initialisation
---
>   delay(50);
108d107
<   delay(10);

i.e. in the begin method, set the clock low before sending any commands (this is the important change), decrease the reset time from 100 to 50 ms and remove the 30 and 10 ms delays.

I used Energia to program the microcontroller, KiCad for the schematics and the case is modelled in OpenSCAD.


  MiniDV import video via Firewire ›