IoT-enabled Smart Fridge with ESP8266 WebServer
IoT-enabled Smart Fridge or Refrigerator using ESP8266 & DS18B20 temperature sensors to monitor battery voltage, temperature on WebServer
- Suitable forB.Tech/Diploma ESP8266/IoT students
- Build time1-2 weeks
- LevelBeginner
- Available atAjvika Labs, Kakinada
About this project
Overview
In this project, we will build an IoT-enabled Smart Fridge with ESP8266 Microcontroller & multiple DS18B20 temperature sensors. With the advancement of the Internet of Things, devices are getting smarter and data collection can help make daily life easier. The Internet of Things (IoT)-enabled smart fridges or refrigerators are intelligent appliances that offer temperature optimization, diagnostics, and data collection features. This can maximize food storage and reduce product deterioration. It also provides owners with a more practical and efficient approach to overseeing their food storage.
In this project, we have built a tiny battery-powered smart device using the ESP8266 WiFi Module and a pair of DS18B20 Temperature Sensors. The device has very low power LDO to operate at lower temperatures. It also has a BMS IC to charge, manage, and protect the battery. Due to its tiny size, it can be put anywhere and requires very small space.
Regarding the data observations parts, the ESP8266 connects to a Wi-Fi network and generates a webpage. The webpage can be accessed from any Web Browser. The wepage displays the value of Battery Voltage, Battery Percentage, Fridge Temperature, and Freezer Temperature. The Web page is AJAX-based, hence data is updated without refreshing the webpage.
Bill of Materials
The following is the Bill of Materials for IoT-enabled Smart Fridge. Most of the components used here are SMD Components.
ID
Designator
Footprint
Quantity
Manufacturer Part
Capacitor 1uF
C3
C0805
Capacitor 47uF
C8
Electrolytic 47UF 16V
Capacitor 10uF
C4
C0805
Capacitor 4.7uF
C5,C6
C0805
Capacitor 22uF
C9
Electrolytic 22UF 16V
Capacitor 0.1uF
C1
C0805
Capacitor 470pF
C2
C0805
Resistor 330E
R6
R0805
Resistor 470E
R9
R0805
Resistor 12K
R1,R2,R3,R4,R5
R0805
Resistor 20K
R11
R0805
Resistor 2K
R10
R0805
Resistor 22K
R8,R7
R0805
Resistor 4.7K
R13
R0805
Resistor 100K
R12
R0805
LED
LED
LED0805-RD_RED
ESP-12E
U1
WIFIM-SMD_ESP-12E
ESP-12E
0.96" OLED Display
U2
0.96 OLED
0.96 OLED
HT7333 LDO
U4
SOT-89-3_L4.5-W2.5-P1.50-LS4.2-BR
HT7333-7
MCP73831 BMS IC
U3
SOT-23-5
MCP73831T-2ATI/OT
DS18B20 Sensors
U5,U6
DS18B20
DS18B20
Male Heades 1x6
PROG
HDR-TH_6P-P2.54-V-M-1
Header-Male-2.54_1x6
Slide Switch
SW1
SW-TH_MK-12D18-G040
MK-12D18-G020
Transistor BC847
Q1,Q2
SOT-23-3_L2.9-W1.4-P1.90-LS2.6-BR
BC847A 1E
MICRO USB
USB1
MICRO-USB-SMD_MICRO-09-GXPX-A2T2
MICRO-09-G2P1-A2T2
Push Button Switch
FLS,RST
SW-SMD_L4.0-W3.0-LS4.8
TS-1071AS-A1B3-D4
Battery Connector
CN1
BATTERY CONNECTOR
3.7V Lithium-Ion Battery
CN1
Hardware Design for IoT-enabled Smart Fridge
The schematic we’re looking at is for an IoT-enabled Smart Fridge with ESP8266 that runs on battery power.
We use the raw ESP8266 chip, specifically the ESP8266-12E/12F variant. The setup includes a low-power LDO, a battery management IC, and a USB port for battery charging, connectors for DS1B20 Temperature Sensors. There’s also a switch for powering the system on and off.
BMS & Charging IC MCP73831
Given that the device operates on battery power, it necessitates regular battery charging and management, a task handled by the
MCP73831
IC.
The MCP73831 IC devices are sophisticated linear charge management controllers suitable for applications with space limitations and cost concerns. They utilize a constant-current/constant-voltage charge algorithm, featuring selectable preconditioning and charge termination.
You can follow the
MCP73831 Application Circuit
for more about the IC.
Voltage Regulator & LDO HT7333
Many ESP8266-based boards come with voltage regulators like the AMS117, which has a voltage drop-out of 1.3V. This voltage drop-out is too significant for ESP boards powered by batteries.
Thus, a preferable alternative is the
HT7333
3.3V Linear Voltage Regulator IC, which has a drop-out of just 170mV and an exceptionally low quiescent current of 8uA. This makes it ideal for battery-powered applications. The IC receives input from the battery and delivers a regulated 3.3V output to the whole circuit, including the ESP8266 chip.
DS18B20 Waterproof Temperature Sensors
This is a pre-wired and
waterproofed version of the DS18B20 sensor
. Handy for when you need to measure something far away, or in wet conditions. The Sensor can measure the temperature between
-55 to 125°C
(-67°F to +257°F). These 1-wire digital temperature sensors are fairly precise, i.e ±0.5°C over much of the range. It can give up to 12 bits of precision from the onboard digital-to-analog converter. They work great with any microcontroller using a single digital pin.
The only downside is they use the Dallas 1-Wire protocol, which is somewhat complex and requires a bunch of code to parse out the communication. We toss in a 4.7k resistor, which is required as a pullup from the DATA to the VCC line when using the sensor. To learn more about this sensor you may refer to
DS18B20 Arduino
guide.
In this project, we are using two DS18B20 Temperature sensors as we will be measuring the internal temperature of fridge. One of the sensor is placed in fridge and other in the freezer. The sensor is connected to GPIO14 pin of the ESP8266.
ESP8266 Programmer Circuit
The discussed circuit comes equipped with an automatic programmer, eliminating the need for manual programming or the operation of push buttons. All it requires is an FTDI Module to program the raw ESP chip. The programming process is managed by two switches (FLS and RST), two BC547 transistors (Q1 and Q2), among other components.
The RTS signal is utilized for resetting the ESP8266, and the DTR signal puts the chip into flash mode. Transistors Q1 and Q2 ensure that the ESP8266 doesn’t reset when both DTR and RTS signals are low. When an upload command is detected, the ESP module automatically enters flash mode, facilitating the smooth upload of a new sketch. Without an upload command, the ESP-12E/F operates in normal mode, allowing the programmed ESP-12E/F board to be tested or deployed in an application.
Voltage Divider Network & ESP8266 ADC
The Battery Maximum voltage is 4.2V and the cut of voltage is 2.8V. The ESP8266 chip features a single analog pin with an input voltage range from 0 to 1V. Anything lesser than 1V will be easily supported by ESP8266 Analog Pin.
To manage voltages beyond this range, a voltage divider network, created by the R11(20K) and R12(100K) resistors, steps down the voltage. Consequently, in the above circuit, the battery’s output voltage is linked to the ESP8266 chip’s ADC (Analog-to-Digital Converter). Using some mathematical calculation, we can convert the ADC value into real voltage.
OLED Display (Optional)
The OLED Display is optional for this ESP8266 Based IoT Smart Fridge project. The OLED Display can be used for displaying Battery Charge, Voltage and DS18B20 Temperatures. We can use a 0.96″ I2C SSD1306 OLED Display or any other low Power display unit.
Project PCB Design, Gerber File & PCB Ordering Online
We have designed the
PCB
using the
EasyEDA Software
. It took quite a lot of time fixing all the issues in the PCB but still we managed to design a complete working custom PCB. The PCB design looks like this.
The PCB has SMD components with resistors, capacitors, and LED with an SMD package of 0805. The transistors, and push buttons are also in the SMD package. The components need to be mounted on both the front and back side of the PCB.
Front Side of PCB
Back Side of PCB
The Gerber File for the PCB is given below. You can simply download the Gerber File and order the PCB from
PCBGOGO
at
1$
only.
Download Gerber File
:
Smart Fridge Gerber File
You can use this Gerber file to order high-quality PCB for this project. To do that visit the
PCBGOGO
official website by clicking here:
https://www.pcbgogo.com/
You can now upload the Gerber File by choosing the Quote Now opt
In this project, we will build an IoT-enabled Smart Fridge with ESP8266 Microcontroller & multiple DS18B20 temperature sensors. With the advancement of the Internet of Things, devices are getting smarter and data collection can help make daily life easier. The Internet of Things (IoT)-enabled smart fridges or refrigerators are intelligent appliances that offer temperature optimization, diagnostics, and data collection features. This can maximize food storage and reduce product deterioration. It also provides owners with a more practical and efficient approach to overseeing their food storage.
In this project, we have built a tiny battery-powered smart device using the ESP8266 WiFi Module and a pair of DS18B20 Temperature Sensors. The device has very low power LDO to operate at lower temperatures. It also has a BMS IC to charge, manage, and protect the battery. Due to its tiny size, it can be put anywhere and requires very small space.
Regarding the data observations parts, the ESP8266 connects to a Wi-Fi network and generates a webpage. The webpage can be accessed from any Web Browser. The wepage displays the value of Battery Voltage, Battery Percentage, Fridge Temperature, and Freezer Temperature. The Web page is AJAX-based, hence data is updated without refreshing the webpage.
Bill of Materials
The following is the Bill of Materials for IoT-enabled Smart Fridge. Most of the components used here are SMD Components.
ID
Designator
Footprint
Quantity
Manufacturer Part
Capacitor 1uF
C3
C0805
Capacitor 47uF
C8
Electrolytic 47UF 16V
Capacitor 10uF
C4
C0805
Capacitor 4.7uF
C5,C6
C0805
Capacitor 22uF
C9
Electrolytic 22UF 16V
Capacitor 0.1uF
C1
C0805
Capacitor 470pF
C2
C0805
Resistor 330E
R6
R0805
Resistor 470E
R9
R0805
Resistor 12K
R1,R2,R3,R4,R5
R0805
Resistor 20K
R11
R0805
Resistor 2K
R10
R0805
Resistor 22K
R8,R7
R0805
Resistor 4.7K
R13
R0805
Resistor 100K
R12
R0805
LED
LED
LED0805-RD_RED
ESP-12E
U1
WIFIM-SMD_ESP-12E
ESP-12E
0.96" OLED Display
U2
0.96 OLED
0.96 OLED
HT7333 LDO
U4
SOT-89-3_L4.5-W2.5-P1.50-LS4.2-BR
HT7333-7
MCP73831 BMS IC
U3
SOT-23-5
MCP73831T-2ATI/OT
DS18B20 Sensors
U5,U6
DS18B20
DS18B20
Male Heades 1x6
PROG
HDR-TH_6P-P2.54-V-M-1
Header-Male-2.54_1x6
Slide Switch
SW1
SW-TH_MK-12D18-G040
MK-12D18-G020
Transistor BC847
Q1,Q2
SOT-23-3_L2.9-W1.4-P1.90-LS2.6-BR
BC847A 1E
MICRO USB
USB1
MICRO-USB-SMD_MICRO-09-GXPX-A2T2
MICRO-09-G2P1-A2T2
Push Button Switch
FLS,RST
SW-SMD_L4.0-W3.0-LS4.8
TS-1071AS-A1B3-D4
Battery Connector
CN1
BATTERY CONNECTOR
3.7V Lithium-Ion Battery
CN1
Hardware Design for IoT-enabled Smart Fridge
The schematic we’re looking at is for an IoT-enabled Smart Fridge with ESP8266 that runs on battery power.
We use the raw ESP8266 chip, specifically the ESP8266-12E/12F variant. The setup includes a low-power LDO, a battery management IC, and a USB port for battery charging, connectors for DS1B20 Temperature Sensors. There’s also a switch for powering the system on and off.
BMS & Charging IC MCP73831
Given that the device operates on battery power, it necessitates regular battery charging and management, a task handled by the
MCP73831
IC.
The MCP73831 IC devices are sophisticated linear charge management controllers suitable for applications with space limitations and cost concerns. They utilize a constant-current/constant-voltage charge algorithm, featuring selectable preconditioning and charge termination.
You can follow the
MCP73831 Application Circuit
for more about the IC.
Voltage Regulator & LDO HT7333
Many ESP8266-based boards come with voltage regulators like the AMS117, which has a voltage drop-out of 1.3V. This voltage drop-out is too significant for ESP boards powered by batteries.
Thus, a preferable alternative is the
HT7333
3.3V Linear Voltage Regulator IC, which has a drop-out of just 170mV and an exceptionally low quiescent current of 8uA. This makes it ideal for battery-powered applications. The IC receives input from the battery and delivers a regulated 3.3V output to the whole circuit, including the ESP8266 chip.
DS18B20 Waterproof Temperature Sensors
This is a pre-wired and
waterproofed version of the DS18B20 sensor
. Handy for when you need to measure something far away, or in wet conditions. The Sensor can measure the temperature between
-55 to 125°C
(-67°F to +257°F). These 1-wire digital temperature sensors are fairly precise, i.e ±0.5°C over much of the range. It can give up to 12 bits of precision from the onboard digital-to-analog converter. They work great with any microcontroller using a single digital pin.
The only downside is they use the Dallas 1-Wire protocol, which is somewhat complex and requires a bunch of code to parse out the communication. We toss in a 4.7k resistor, which is required as a pullup from the DATA to the VCC line when using the sensor. To learn more about this sensor you may refer to
DS18B20 Arduino
guide.
In this project, we are using two DS18B20 Temperature sensors as we will be measuring the internal temperature of fridge. One of the sensor is placed in fridge and other in the freezer. The sensor is connected to GPIO14 pin of the ESP8266.
ESP8266 Programmer Circuit
The discussed circuit comes equipped with an automatic programmer, eliminating the need for manual programming or the operation of push buttons. All it requires is an FTDI Module to program the raw ESP chip. The programming process is managed by two switches (FLS and RST), two BC547 transistors (Q1 and Q2), among other components.
The RTS signal is utilized for resetting the ESP8266, and the DTR signal puts the chip into flash mode. Transistors Q1 and Q2 ensure that the ESP8266 doesn’t reset when both DTR and RTS signals are low. When an upload command is detected, the ESP module automatically enters flash mode, facilitating the smooth upload of a new sketch. Without an upload command, the ESP-12E/F operates in normal mode, allowing the programmed ESP-12E/F board to be tested or deployed in an application.
Voltage Divider Network & ESP8266 ADC
The Battery Maximum voltage is 4.2V and the cut of voltage is 2.8V. The ESP8266 chip features a single analog pin with an input voltage range from 0 to 1V. Anything lesser than 1V will be easily supported by ESP8266 Analog Pin.
To manage voltages beyond this range, a voltage divider network, created by the R11(20K) and R12(100K) resistors, steps down the voltage. Consequently, in the above circuit, the battery’s output voltage is linked to the ESP8266 chip’s ADC (Analog-to-Digital Converter). Using some mathematical calculation, we can convert the ADC value into real voltage.
OLED Display (Optional)
The OLED Display is optional for this ESP8266 Based IoT Smart Fridge project. The OLED Display can be used for displaying Battery Charge, Voltage and DS18B20 Temperatures. We can use a 0.96″ I2C SSD1306 OLED Display or any other low Power display unit.
Project PCB Design, Gerber File & PCB Ordering Online
We have designed the
PCB
using the
EasyEDA Software
. It took quite a lot of time fixing all the issues in the PCB but still we managed to design a complete working custom PCB. The PCB design looks like this.
The PCB has SMD components with resistors, capacitors, and LED with an SMD package of 0805. The transistors, and push buttons are also in the SMD package. The components need to be mounted on both the front and back side of the PCB.
Front Side of PCB
Back Side of PCB
The Gerber File for the PCB is given below. You can simply download the Gerber File and order the PCB from
PCBGOGO
at
1$
only.
Download Gerber File
:
Smart Fridge Gerber File
You can use this Gerber file to order high-quality PCB for this project. To do that visit the
PCBGOGO
official website by clicking here:
https://www.pcbgogo.com/
You can now upload the Gerber File by choosing the Quote Now opt
Technologies used
Hardware components
- ESP8266
- Arduino
- DS18B20
- SSD1306
- OLED
Software & tools
- EasyEDA
What you get
- Working project / hardware kit, tested before delivery
- Complete source code with explanation
- Project demo and guidance for your viva
- Project report, PPT and IEEE paper support (on request)
Delivery & Payment
Delivery takes a minimum of two weeks from the date your inquiry is confirmed.
Payment is in two parts:
• 50% advance to start the project
• Remaining 50% before delivery
Note:
• Documentation and PPT are not included by default
• If you need documentation/PPT, it can be arranged for extra time and cost
We'll confirm the exact timeline and cost with you after reviewing your requirements.