Skip to the content
PCBKitNew board
4 layers160 × 82 mmPCB Final, the printed circuit board in 3D

A temperature monitoring and alarm system built on a custom PCB. The DS18B20 sensor continuously reads ambient temperature and displays it on a 4-digit 7-segment display.

Size
160 × 82 mm
Copper layers
4
Thickness
1.6 mm
Parts
37
Nets
73
Pads
153
Tracks, vias
182, 14
Pours
3
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
11 May 2026
Updated
13 May 2026

Overview

PCB Final is an open-source printed circuit board by Blank127, from the Blank127/FireAlarm repository on GitHub, published under the MIT licence. It is a 4-layer board of 160 × 82 mm with 37 parts on 73 nets, routed with 182 tracks and 14 vias.

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

Main components

2

README

README.md

🔥 Fire Alarm — Temperature Sensor Alarm System

CMPE2700 — PCB Design Project STM32G0B1RETx · DS18B20 · DFRobot Gravity 7-Segment Displays · USB-C Powered


Overview

A temperature monitoring and alarm system built on a custom PCB. The DS18B20 sensor continuously reads ambient temperature and displays it on a 4-digit 7-segment display. When the temperature exceeds a configurable threshold, an alarm LED activates. The alarm must be manually acknowledged by pressing the onboard button.

A second 7-segment display shows the current alarm threshold for reference at all times.


Hardware

ComponentDescription
STM32G0B1RETxMain microcontroller
DS18B201-Wire digital temperature sensor
AMS1117-3.3LDO voltage regulator, steps down 5 V → 3.3 V
DFRobot Gravity 4-Digit LED Display (×2)TM1650-based 7-segment displays over I2C
USB-C ConnectorBoard power input (5 V)
SWD HeaderSTM32 programming and debug interface
Tactile ButtonAlarm acknowledge / reset
External LEDAlarm indicator

How It Works

  1. The DS18B20 reads temperature every second over the 1-Wire bus
  2. The current temperature is shown on Display 1 (I2C1)
  3. The alarm threshold is shown on Display 2 (I2C2)
  4. If the temperature exceeds the threshold, the alarm LED turns on
  5. Press the onboard button to acknowledge and clear the alarm

PCB

PCB Photo

📷 PCB photo — upload a JPG/PNG version of the image to add it here

Known Hardware Issue — J1 / J2 Header Pin Swap

⚠️ Workaround required — jumper wires needed

The I2C headers J1 and J2 were routed with the following pinout:

text
PCB Header (J1/J2):   5V · GND · SDA · SCL

However, the mating female connectors on the DFRobot Gravity displays use:

text
Display Connector:    5V · GND · SCL · SDA

The SDA and SCL lines are swapped between the PCB header and the display connector. As a result, the displays cannot be plugged in directly — they will not communicate.

Fix: Use jumper wires to cross SDA and SCL between the header and the display connector before plugging in.

This will be corrected in the next PCB revision by swapping the SDA/SCL positions on J1 and J2 in the schematic.


Firmware

The firmware is written in C using the STM32 HAL library and structured across three STM32CubeIDE projects:

ProjectDescription
Temperature sensor/DS18B20 driver development and test
SevenSeg/TM1650 7-segment display driver development and test
Temperature alert system/Final integrated alarm application

Firmware Repository Structure

text
Firmware/
├── Temperature sensor/         # DS18B20 test project
├── SevenSeg/                   # 7-segment display test project
└── Temperature alert system/   # Final alarm application
Hardware/
├── PCB_Final.kicad_pcb         # PCB layout
├── PCB_Final.kicad_sch         # Schematic
└── PCB_Final.kicad_pro         # KiCad project file

Programming the STM32

  1. Connect an ST-Link programmer to the SWD header on the PCB
  2. Power the board via USB-C
  3. Open the project in STM32CubeIDE
  4. Build and flash using Run → Debug or Run → Run

Pin Assignments

SignalSTM32 PinNotes
1-Wire DataPA (one_wire_data)DS18B20 with 4.7 kΩ pull-up
I2C1 SDA/SCLI2C1Display 1 — current temperature
I2C2 SDA/SCLI2C2Display 2 — alarm threshold
Alarm LEDPA (ext_led)Active high
Button (B1)PC13Active low, internal pull-up
Green LEDPA5Onboard status/heartbeat
USART2 TX/RXPA2 / PA3Debug output at 115200 baud

Author

Aldrich Dias — CMPE2750, 2026

Parts

37
QtyValueFootprintReferences
4Display1_MountMountingHole:MountingHole_3.2mm_M3H5, H6, H7, H8
4Display2_MountMountingHole:MountingHole_3.2mm_M3H9, H10, H11, H12
4PCB_Corner_MountsMountingHole:MountingHole_3.2mm_M3H1, H2, H3, H4
3100nCapacitor_SMD:C_0402_1005MetricC1, C2, C6
310uCapacitor_SMD:C_0805_2012MetricC5, C7, C8
25.1kResistor_SMD:R_0402_1005MetricR4, R5
110nCapacitor_SMD:C_0402_1005MetricC4
11MResistor_SMD:R_0402_1005MetricR6
11kResistor_SMD:R_0402_1005MetricR3
11uCapacitor_SMD:C_0402_1005MetricC3
1330Resistor_SMD:R_0402_1005MetricR2
14.7kResistor_SMD:R_0402_1005MetricR1
14.7nCapacitor_SMD:C_0402_1005MetricC9
1AMS1117-3.3Package_TO_SOT_SMD:SOT-223-3_TabPin2U3
1Alarm_LEDLED_THT:LED_D3.0mmD1
1Conn_ST_STDC14Connector_PinHeader_1.27mm:PinHeader_2x07_P1.27mm_VerticalJ3
1DISP_CURRENTConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ1
1DISP_THRESHOLDConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ2
1DS18B20Package_TO_SOT_THT:TO-92_InlineU1
1PWR_LEDLED_THT:LED_D3.0mmD2
1STM32G0B1RETxPackage_QFP:LQFP-64_10x10mm_P0.5mmU2
1SW_PushButton_Switch_THT:SW_Tactile_SPST_Angled_PTS645Vx31-2LFSSW1
1USB_C_Receptacle_PowerOnly_6PConnector_USB:USB_C_Receptacle_GCT_USB4125-xx-x-0190_6P_TopMnt_HorizontalJ4

Questions

How big is the PCB Final PCB?

It measures 160 × 82 mm and has 4 copper layers, 1.6 mm thick.

What parts does the PCB Final use?

37 parts, built around the DS18B20 and AMS1117-3.3. 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 PCB Final KiCad files?

From the Blank127/FireAlarm repository on GitHub, at the commit this page was made from: the board is Hardware/PCB_Final.kicad_pcb and its schematic Hardware/PCB_Final.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the PCB Final design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 2 layers123 × 87.5 mmFastLOGIC, the printed circuit board in 3D

    FastLOGIC

    Neumi/fastLOGIC

    An affordable Arduino-based board designed for straightforward (industrial) logic control, ideal for building small-scale automation and control solutions.

    180 parts23MIT
  • 4 layers130 × 102 mmCMM2-JLC, the printed circuit board in 3D

    CMM2-JLC

    Manawyrm/CMM2-JLC

    Colour Maximite 2 - unofficial PCB design for automated assembly

    111 parts10GPL-3.0
  • 2 layers240 × 174.3 mmFinal H00 panelicad pcb, the printed circuit board in 3D

    Final H00 panelicad pcb

    Vedatori/Time-O-Mat

    Addressable LED clock kit aimed for usage in STEM education. The ultimate solution to time telling...

    312 parts7
  • 2 layers100 × 50 mmEspled, the printed circuit board in 3D

    Espled

    Yottabits/espled

    THE one and only esp8266 LED Controller

    52 parts6
  • 4 layers100 × 100 mmLabathome pcb, the printed circuit board in 3D

    Labathome pcb

    klaus-liebler/labathome

    Der kleine Bruder von lab@home. Ermöglicht das Experimentieren mit PT1...PTn-Gliedern, die intern als RC-Kombination (entkoppelt über Operationsverstärker) ausgeführt sind.

    292 parts5MIT
  • 2 layers65 × 56 mmRaspberryPi UPS HAT, the printed circuit board in 3D

    RaspberryPi UPS HAT

    gvoigtlaender/RaspberryPi_UPS_HAT

    RaspberryPi UPS HAT

    63 parts4GPL-3.0
  • 2 layers60 × 100 mmPaLampa MoBo H00, the printed circuit board in 3D

    PaLampa MoBo H00

    Vedatori/PaLampa

    Mechanickou část lze rozdělit na dvě hlavní části - spodní krabici a horní lampu. Vnější části krabice jsou vyřezány z překližky na laserové řezačce a obsahují zámkové západky.

    80 parts4
  • 2 layers290 × 100 mmESP32-Wall Clock, the printed circuit board in 3D

    ESP32-Wall Clock

    SkullKill/ESP32-Wall-Clock-PCB

    ESP32 based 30cm Wall Mounted Clock. WiFi, NTP, SNMP, web interface, MicroUsb, Type-C, HG3613 Retrofit

    207 parts3GPL-3.0