Looking for an interesting Arduino project? In this project, we built a DIY Cooling Box using an Arduino Uno and TEC1-12706 Peltier module. The system monitors the temperature inside the box and controls the cooling system while displaying the current temperature on a 16x2 LCD. During testing, the temperature dropped from approximately 34°C to 30°C within several minutes.
| Building a DIY Arduino-Powered Cooling Box |
How the Cooling Box Works
The main cooling component is the TEC1-12706 Peltier module. When powered, one side becomes cold while the other side becomes hot. The cold side faces inside the cooling box, while the hot side transfers heat to a heatsink and cooling fan.
The Arduino Uno acts as the main controller. A DHT11 sensor measures the temperature inside the box, while a 16x2 LCD with I2C displays the current temperature and cooling status. A 2-channel relay module is used to switch the cooling system.
Components Used
![]() |
| Components Required for the DIY Cooling Box |
Wiring and Arduino Programming
![]() |
| Connecting the Components According to the Wiring Diagram |
Before installing the components inside the box, we connected everything according to the wiring diagram. Carefully checking the wiring before applying power helps prevent incorrect connections and makes troubleshooting easier.
![]() |
| Uploading the Arduino Code |
Next, the Arduino program was uploaded to the Arduino Uno. The program reads the temperature from the DHT11 sensor, displays the information on the LCD, and controls the cooling system. Click HERE to download.
Mock Testing
![]() |
| Testing the Circuit Before Final Installation |
Before installing everything into the cooling box, we performed a mock test. We checked that the LCD displayed correctly and that the relay, cooling fan, Peltier module, and temperature sensor were operating properly.
Installing the Cooling Fan and Heatsink
![]() |
| Preparing the Box for the Cooling System |
An opening was made in the cooling box to install the cooling fan and heatsink. Proper positioning of the heatsink and fan is important to effectively remove heat generated by the Peltier module.
Installing the Peltier Module
![]() |
| Installing the TEC1-12706 Peltier Module |
A thin layer of thermal paste was applied between the TEC1-12706 Peltier module and the heatsink to improve heat transfer. The hot side faces the heatsink, while the cold side faces inside the cooling box.
Installing the LCD Display
![]() |
| Mounting the 16x2 LCD I2C Display |
The 16x2 LCD I2C display was mounted on the outside of the cooling box using double-sided tape. This allows the temperature and cooling status to be monitored without opening the box.
Installing the DHT11 Sensor
![]() |
| Placing the DHT11 Sensor Inside the Cooling Box |
The DHT11 temperature and humidity sensor was placed inside the box to monitor the internal temperature. Its readings are sent to the Arduino and displayed on the LCD.
Final Wiring
![]() |
| Reconnecting and Organizing All Components |
After installing the components, everything was reconnected according to the wiring diagram. The wires were arranged neatly to keep the project organized and make future maintenance easier.
Testing the Cooling Box
![]() |
| Powering Up the Completed Cooling Box |
After completing the assembly, the system was powered on. We checked that the LCD turned on, the cooling fan was running, and the cooling system was operating correctly.
![]() |
| Temperature Drops from 34°C to 30°C |
During our cooling test, the LCD showed the temperature gradually decreasing from approximately 34°C to 30°C within several minutes. Actual performance may vary depending on the box insulation, ambient temperature, heatsink, airflow, and power supply.
Conclusion
This DIY cooling box is a great project for learning about Arduino programming, thermoelectric cooling, temperature monitoring, sensors, and relay control. The design can be further improved with better insulation, a larger heatsink, improved airflow, or a more accurate temperature sensor.

















