Friday, July 17, 2026

DIY Cooling Box Using Arduino and TEC1-12706 Peltier Module

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

The components used for this project include an Arduino Uno R3, 2-channel relay module, TEC1-12706 Peltier module, 12V DC cooling fan with heatsink, 16x2 LCD I2C display, DHT11 sensor, breadboard, DC barrel jack adapter, jumper wires, 12V power supply, and thermal paste.

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.

Project Contributor: Nasiruddin Bin Nadzrin
Intern, Universiti Teknikal Malaysia Melaka (UTeM)

Friday, June 5, 2026

TCRT5000 3 Channel Line Tracker Sensor Module with Arduino Uno

The TCRT5000 3 Channel Line Tracker Sensor Module is widely used in robotics and automation projects for detecting lines and distinguishing between black and white surfaces. It uses infrared (IR) reflective sensors to measure the amount of reflected light from a surface.

TCRT5000 3-channel line tracker sensor module used with Arduino Uno.

In this project, we will interface a TCRT5000 3-channel module with an Arduino Uno and observe how the sensor responds to black and white surfaces using the Arduino Serial Monitor.


What is the TCRT5000 Line Tracker Sensor?

The TCRT5000 is an infrared reflective sensor consisting of an IR LED transmitter and a phototransistor receiver. When infrared light is emitted, the amount of reflected light depends on the surface color.

  • White surfaces reflect more infrared light.
  • Black surfaces absorb more infrared light.
Line detection principle based on reflected infrared light.

This principle allows the sensor to detect lines and is commonly used in line-following robots.


Components Required

Components needed for the TCRT5000 Arduino project.
  • Arduino Uno
  • TCRT5000 3 Channel Line Tracker Module
  • Dupont Jumper Wires
  • USB Cable
  • Cardboard
  • Black Electrical Tape

Wiring Connections

Wiring diagram between the TCRT5000 module and Arduino Uno.
  • VCC → 5V
  • GND → GND
  • L → A0
  • C → A1
  • R → A2

Arduino Code

Arduino sketch for reading three TCRT5000 sensor channels.
Upload the following code to the Arduino Uno. You can download coding click HERE.
int L = A0;
int C = A1;
int R = A2;

void setup() {
  Serial.begin(9600);
}

void loop() {
  int valL = analogRead(L);
  int valC = analogRead(C);
  int valR = analogRead(R);

  Serial.print("L: ");
  Serial.print(valL);

  Serial.print(" C: ");
  Serial.print(valC);

  Serial.print(" R: ");
  Serial.println(valR);

  delay(300);
}


How the Code Works

The program continuously reads the analog values from the three sensor channels.

  • Left sensor connected to A0
  • Center sensor connected to A1
  • Right sensor connected to A2

The sensor readings are displayed in the Arduino Serial Monitor every 300 milliseconds.


Sensor Testing

To test the module:

  1. Place the sensor above a white cardboard surface.
  2. Observe the indicator LEDs on the module.
  3. Move the sensor above the black tape line.
  4. Compare the readings shown on the Serial Monitor.

White Surface

Sensor positioned above a white reflective surface.

When the sensor is positioned above the white cardboard:
  • The infrared light is strongly reflected.
  • Indicator LEDs turn ON.
  • Higher sensor readings are observed.

Black Surface

Sensor positioned above a black non-reflective surface.

When the sensor is positioned above the black tape:

  • Less infrared light is reflected.
  • Indicator LEDs turn OFF.
  • Sensor readings change significantly.

This difference allows robots to detect and follow a black line on a white background.


Adjusting Sensor Sensitivity

Sensitivity adjustment using the onboard potentiometer.
The blue potentiometer on the module allows sensitivity adjustment.
  • Turn clockwise to increase sensitivity.
  • Turn counterclockwise to decrease sensitivity.

Adjust the potentiometer until the sensor can clearly distinguish between the black tape and white cardboard.


Applications

  • Line Following Robots
  • Automated Guided Vehicles (AGV)
  • Obstacle Detection Systems
  • Surface Color Detection
  • Industrial Automation Projects
  • Educational Robotics Projects


Conclusion


The TCRT5000 3 Channel Line Tracker Sensor Module is an inexpensive and effective sensor for line detection applications. By interfacing it with an Arduino Uno, we can easily monitor sensor readings and detect the difference between black and white surfaces.

This project demonstrates the basic operation of the sensor and provides a foundation for building line-following robots and automation systems.