Maker Pro

Custom PCB Temperature Indicator System

May 14, 2020 by Silícios Lab

In this project you will learn how to build a system to function as a temperature indicator for Arduino.

In many systems, there is a great need to measure and indicate process temperatures to users. In these processes, the temperature is a critical factor and may influence the safety of the systems.

Thus, systems that measure and indicate temperature are required. So, through this project, you'll learn how to construct your temperature indicator system using Arduino Nano and you'll obtain your PCB Project to construct your own Temperature Indicator System.


To construct this project you'll need:

The Project

The project is constructed through an Arduino Nano, DS18B20 sensor, and TM1637 display. Everything can be seen in the figure below.


Figure 1 - Electronic Project on the Protoboard.

Through this circuit is possible to see the temperature is indicating in the TM1637 display. The electronic schematic to construct your circuit is presented below.


Figure 2 - Electronic Schematic of the Temperature Indicator System.

Through this circuit, the printed circuit board was designed. And the electronic schematic is presented below.


Figure 3 - Electronic Schematic of the Printed Circuit Board.

After the electronic schematic circuit, was constructed the Printed Circuit Board presented in Figure 4.


Figure 4 - Printed Circuit Board of the temperature indicator.

Therefore, after constructing the printed circuit board, we'll offer the code to measure the temperature. The code is presented below.

#include <OneWire.h>
#include <DallasTemperature.h>
#include <TM1637Display.h>

#define ONE_WIRE_BUS 8 //Digital Pin to connect the DS18B20 Sensor

OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
DeviceAddress sensor1;

TM1637Display display(2,3);

const uint8_t DEGREES[] = {0x0, 0x0,
  SEG_A | SEG_B | SEG_G | SEG_F,  // Degree Symbol
  SEG_A | SEG_F | SEG_E | SEG_D,  // C

unsigned int temperature = 0;
byte PreviousValue = 0;

void setup()
    display.setBrightness(7);   // set display to maximum brightness

    if (!sensors.getAddress(sensor1, 0))
     Serial.println("Sensor not found!");

void loop()
    //Request sensor data

    int tempC = sensors.getTempC(sensor1); //Read temperature of DS18B20 Sensor

       if(tempC != PreviousValue)
        PreviousValue = tempC;
        display.setSegments(DEGREES); //Display the Variable value

From this code, you'll verify the temperature value in your system.


Through this project, you can apply in several projects like a brooder, incubator, liquid heating systems, and other projects. In addition to you can use a PCB like a shield for Arduino Nano, because it has pins to connect other devices.

You can download the files and create your own project.


Thanks to the PCBWay for supporting our YouTube Channel and providing the custom PCB.

The Silícios Lab thanks UTSOURCE for providing the electronic components.

Related Content


You May Also Like