Skip to the content
PCBKitNew board
2 layers92.1 × 76.6 mmTemperature controller, the printed circuit board in 3D

A PCB-based Digital Temperature Controller using STM32F103C8T6, LM35 sensor, 16x2 LCD, and Relay Driver designed in KiCad with Embedded C firmware.

Size
92.1 × 76.6 mm
Copper layers
2
Thickness
1.6 mm
Parts
23
Nets
53
Pads
125
Tracks, vias
345, 41
Pours
1
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
4 Aug 2026
Updated
4 Aug 2026

Overview

Temperature controller is an open-source printed circuit board by mayurdhang031, from the mayurdhang031/Digital-Temperature-controller-using-STM32- repository on GitHub. It is a 2-layer board of 92.1 × 76.6 mm with 23 parts on 53 nets, routed with 345 tracks and 41 vias.

It is built around the AMS1117-3.3 and BC547. Its parts include 8 capacitors, 4 resistors, 3 ICs, 2 connectors and 2 switches. It belongs with the STM32 boards of this library.

Main components

2

README

README.md

Digital-Temperature-controller-using-STM32-

Overview

This project implements a Digital Temperature Controller using the STM32F103C8T6 microcontroller. The system measures ambient temperature using an LM35 temperature sensor, displays the measured temperature on a 16×2 LCD, and automatically controls a relay when the temperature exceeds a predefined threshold.


Features

  • Temperature measurement using LM35
  • 12-bit ADC of STM32
  • 16×2 LCD display (4-bit mode)
  • Automatic relay control
  • BC547 transistor relay driver
  • Flyback protection using 1N4007 diode
  • Designed using KiCad 9
  • Embedded C firmware

Hardware Used

  • STM32F103C8T6
  • LM35 Temperature Sensor
  • 16×2 LCD
  • AMS1117-3.3 Voltage Regulator
  • BC547 NPN Transistor
  • 5V Relay
  • 1N4007 Diode
  • 8 MHz Crystal
  • Push Button
  • Capacitors
  • Resistors

Software Used

  • KiCad 9
  • Embedded C

Working Principle

  1. LM35 senses the ambient temperature.
  2. STM32 reads the analog voltage using its 12-bit ADC.
  3. Temperature is calculated in Embedded C.
  4. Temperature is displayed on the LCD.
  5. If the temperature exceeds the predefined threshold, the relay is activated.
  6. When the temperature falls below the threshold, the relay is deactivated.

Project Images

  • Schematic
  • PCB Layout
  • 3D PCB View

Future Improvements

  • User-adjustable temperature setpoint
  • Buzzer alarm
  • UART monitoring
  • Bluetooth/Wi-Fi connectivity
  • Data logging

Parts

23
QtyValueFootprintReferences
4100nFCapacitor_THT:C_Disc_D5.0mm_W2.5mm_P5.00mmC3, C4, C5, C6
310kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR1, R2, R3
210uFCapacitor_THT:CP_Radial_D5.0mm_P2.00mmC1, C2
222pFCapacitor_THT:C_Disc_D5.0mm_W2.5mm_P5.00mmC7, C8
11N4007Diode_THT:D_DO-41_SOD81_P10.16mm_HorizontalD1
11kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR4
1AMS1117-3.3Package_TO_SOT_SMD:SOT-223-3_TabPin2U2
1BC547Package_TO_SOT_THT:TO-92_InlineQ1
1Conn_01x02_PinConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ1
1Conn_01x02_PinTerminalBlock:TerminalBlock_bornier-2_P5.08mmJ2
1CrystalCrystal:Crystal_HC49-U_VerticalY1
1G5LE-1Relay_THT:Relay_SPDT_Omron-G5LE-1K2
1RC1602ADisplay:RC1602AU3
1R_PotentiometerPotentiometer_THT:Potentiometer_Bourns_3296W_VerticalRV1
1STM32F103C8TxPackage_QFP:LQFP-48_7x7mm_P0.5mmU1
1SW_PushButton_Switch_THT:SW_PUSH_6mmSW1

Questions

How big is the Temperature controller PCB?

It measures 92.1 × 76.6 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Temperature controller use?

23 parts, built around the AMS1117-3.3 and BC547. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Temperature controller KiCad files?

From the mayurdhang031/Digital-Temperature-controller-using-STM32- repository on GitHub, at the commit this page was made from: the board is temperature controller.kicad_pcb and its schematic temperature controller.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Temperature controller design in my own project?

Its repository states no licence, so its author keeps all rights: ask mayurdhang031 before reusing the design.

Similar boards

  • 2 layersNavigatorschema, the printed circuit board in 3D

    Navigatorschema

    maddevsio/mad-navigator

    Mad navigator is simple compass-like device shows direction to predefined geo point. This repository contains firmware source code and schematics for device.

    107 parts14
  • 2 layers45.7 × 60.2 mmPcb watch, the printed circuit board in 3D

    Pcb watch

    nithinmathewjoji/Schrodinger-Clock-PCB-Watch-

    An open-source ESP32-S3-based smartwatch with RTC, I2C display, buzzer, LEDs, and battery monitoring. Designed using KiCad, it features a compact PCB layout, Li-Po battery support, and USB charging

    58 parts4MIT
  • 2 layers79 × 78.3 mmLogic testing, the printed circuit board in 3D

    Logic testing

    josh-lambda/fencing-tester

    Fencing Tester is a tool for testing and analysing basic fencing equipment. It is intended for situations where you may not have access to a full piste setup to test equipment during repair or when you are tired of…

    58 parts3
  • 2 layers270.6 × 182.2 mmSmarthomeiot, the printed circuit board in 3D

    Smarthomeiot

    haripradhap14/ESP32-4CH-Relay-Controller-

    4-channel IoT relay controller using ESP32-WROOM-32E for home automation.

    31 parts1
  • 4 layers79 × 100 mmRoom, the printed circuit board in 3D

    Room

    souptik-samanta/LazyController

    I made this so my lazyaahh doesnt have to walk upto switches

    56 parts1
  • 2 layers77 × 42 mmRES Reflect Kart, the printed circuit board in 3D

    RES Reflect Kart

    ardayaman12/ARES-Reflect--PCB-Projesi

    TEKNOFEST 2026 Hareketli Uydu Terminali yarışması için Finale kalan projemiz PATH-ARES-Reflect için tasarlamış olduğum ESP32 tabanlı ana kontrol kartı (PCB) ve üretime hazır Gerber dosyaları.

    22 parts