|
KiCADKicad
|
|
|
arduino IDEArduino
|
Smart thermometer v2 using esp-01f
In one of the previous projects, I built a simple thermometer with ATTINY 85 which can last for 140days.
But it was a tiny bit clumsy when it came to the electronics and the programming. So, I built a version 2 on steroids with features nobody asked for, but by doing so I hope you will definitely learn plenty of electronics along the way.
Hardware Construction
I chose the esp-01f, which comes with 1MB of flash memory, which is 128times greater than the ATTINY 85. Along with this it also has features like WiFi, UART, higher clock speed up to 160MHz. Even though it won’t matter for this particular project we can flex the specs to make the thermometer look more muscular.
But it does come with a cost, the esp-01f is a very power-hungry module because of the onboard wifi connectivity, but this power consumption can be reduced greatly by putting the module to deep-sleep where it should consume just 20uA according to the datasheet.
The other components are similar to the thermometer version 1. For the display, I’m going to use the same 0.91inch 128X32 OLED display, for the temperature sensor DS18B20 probe, and finally for the battery a small 150MAh lipo battery.
Also to make it more capable I chose the CP2012. Which is a USB to the serial converter by silicon labs that is mostly used in the NodeMCU and the ESP32 development board and their pricing is pretty moderate compared to FTDI and also the size of the IC package is quite small which is perfect for our device.
Finally, there is one issue, the Lithium polymer battery. Since it’s a rechargeable battery we need to have a provision to charge it. One way we could do this is by just taking the battery out and charge it, and slap it back on when it’s done. But it gets us back to the old problem again. Beginning clumsy and not elegant. So, we’ll add a tp4056 IC and a micro USB to have an onboard charging circuit.
Web development
I kinda hate web development, but still anyway I managed to build a sloppy webpage with WebSockets to show some real-time temperature reading from the temperature sensor. It doesn't use any fancy libraries or fancy frameworks. It's written on HTML, CSS, and Vanilla Javascript (code).
3D Printing
I measured the exact dimension of the PCB and started designing a simple elegant case while still managing to have the same easy accessibility to the circuitry without any fasteners just like version 1.
Then the rest was just 3d printing and assembly!
Printer - Ender 3v2 (Cura slicer)
Supports - Turned on
Layer height - 0.2mm
Filament - PLA+
Nozzle Temperature - 210c
Nozzle Heat bed - 72c
Testing the Smart Thermometer
Let me quickly walk you through how it works.
Just click on the top button, this will reset the esp and wake it up from sleep mode. Once the device is active it will turn on an access point where we can connect. After connection opens any web browser and searches for the IP address assigned in the code or by searching "http://temperature.local". That’s it now we can measure the temperature by clicking the start and see the real-time data on the webpage.
You can also put the thermometer to sleep by click on the sleep button. Which would clear the display and put the thermometer to deep sleep.
If the device is turned on for more than a minute and nobody made the connection to the webpage the device will go to deep sleep automatically to save power.
You can watch the construction and full working/usage here :
The power consumption going to be higher than version 1, because of the ESP-01F. So, if you see the multimeter reading when the Access point is turned on and a client has connected, the power consumption is around 93mA. When the thermometer is in deep sleep it consumes around 1.8mA which is quite significant when compared to the previous version where it consumed under 60uA.
Considering the ESP-01F consuming around 20uA (from the datasheet), the total circuit should still consume less than 100uA. The reason why it consumes 1.8mA is because of the other features we added like the charging circuit and the onboard CP2102 USB to Serial programmer.
Final thoughts!
This device doesn't have much value when compared to the existing thermometer, but building a device with all the user-friendly interfaces like the buttons and onboard programmer is quite challenging for beginners and even for some intermediate learners. I hope at least this tutorial gave you few ideas about building a bit more sophisticated project and how to approach it.
So, if you like the tutorial make sure to check out my youtube channel as well: Youtube channel
Smart thermometer v2 using esp-01f
*PCBWay community is a sharing platform. We are not responsible for any design issues and parameter issues (board thickness, surface finish, etc.) you choose.
- Comments(0)
- Likes(6)
- Engineer Sep 15,2024
- Mr. Marsupial Oct 04,2023
- Kyosho_Tom Mar 16,2023
- Guang Ning Jan 04,2022
- Andrius Gailius Nov 29,2021
- Srinivasan M Sep 30,2021
- 2 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
-
9design
-
9usability
-
9creativity
-
9content
-
10design
-
10usability
-
10creativity
-
10content
More by Srinivasan M
- Wireless Sensor Network for Agriculture and Smart Greenhouse For a long time, I wanted to create something that was both environmentally conscious and interestin...
- Smart thermometer v2 using esp-01f In one of the previous projects, I built a simple thermometer with ATTINY 85 which can last for 140d...
-
-
-
kmMiniSchield MIDI I/O - IN/OUT/THROUGH MIDI extension for kmMidiMini
116 0 0 -
DIY Laser Power Meter with Arduino
165 0 2 -
-
-
Box & Bolt, 3D Printed Cardboard Crafting Tools
156 0 2 -
-
A DIY Soldering Station Perfect for Learning (Floppy Soldering Station 3.0)
569 0 3