Skip to the content
PCBKitNew board
2 layers131 × 125 mmIndustry temperature control, the printed circuit board in 3D

This project entails Dallas Temperature sensors sending data to the ESP32 which then determines the PWM output to the actuators after the PID engine runs.The ESP32 also sends telemetry to Firebase RTDB which then sends the data to The flutter app.The flutter app updates min,max and target setpoints in Firebase and the ESP32 accesses them.

Size
131 × 125 mm
Copper layers
2
Thickness
1.6 mm
Parts
32
Nets
46
Pads
116
Tracks, vias
211, 0
Pours
2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
4 Sep 2026
Updated
16 Sep 2026

Overview

Industry temperature control is an open-source printed circuit board by IaMdEvJaXoN, from the IaMdEvJaXoN/industry_temperature_control_system repository on GitHub. It is a 2-layer board of 131 × 125 mm with 32 parts on 46 nets, routed with 211 tracks and 0 vias.

It is built around the BOB-12009, DS18B20 and IRLZ44N, with the PN2222A among its other parts. Its parts include 11 resistors, 4 diodes, 4 transistors and 1 IC. It belongs with the ESP32 boards of this library.

Main components

4

README

README.md

Industrial Temperature Monitor

A complete, full-stack engineering project encompassing Firebase Real Time Database,custom printed circuit board (PCB) design, embedded C++ firmware ,simulations and a Flutter mobile application.

The system provides closed-loop temperature monitoring and PWM hardware actuation, synchronized globally with sub-second latency via Firebase Realtime Database (RTDB).

System Architecture

The project is structured as a monolithic repository integrating three distinct engineering domains:

text
industry_temperature_control/
├── hardware/     # KiCad EDA (Schematics, PCB layout, Gerbers)
├── firmware/     # PlatformIO C++ (ESP32 logic, RTDB sync)
├── software/     # Flutter Mobile App (Clean Architecture, Riverpod, Hive)
└── docs/         # System architecture, renders,wokwi simulation and media assets

High-Level Topology

System Block Diagram

Validation: Real-time synchronization between the ESP32 hardware simulation and the Firebase RTDB backend. Wokwi Firebase Integration


Hardware (KiCad)

The physical controller is a custom 2-layer PCB designed to handle both high-current 12V industrial loads and sensitive 3.3V digital logic.

Core Specifications:

  • Microcontroller: DOIT ESP32 DEVKIT V1 -30 pin
  • Power Delivery Network (PDN): 12V main input, regulated to 5V via an onboard LM2596 Buck Converter. High-current traces routed at 0.8mm width.
  • Logic Level Translation: BOB-12009 bidirectional shifter (5V ↔ 3.3V) for I2C LCD communication.
  • Sensors & Actuators: DS18B20 (1-Wire) digital temperature sensor, with MOSFET-driven PWM outputs for external fans and heating lamps.
  • Trace Topology: 0.4mm logic lines routing across Top/Bottom copper planes with continuous ground pours for EMI shielding.

PCB Top Render PCB Bottom Render PCB Bottom Render


Firmware (PlatformIO & Wokwi)

Written in C++ for the ESP32, the firmware manages real-time hardware interrupts, sensor polling, and network communication.

Key Features:

  • Hardware Debouncing: 200ms software debouncing for mechanical inputs.
  • Delta-Driven Telemetry: Pushes raw JSON string payloads to the /telemetry RTDB node to minimize bandwidth (Tracking processTemp, pcbTemp, actuationState, and pcbCoolingState).
  • Config Listener: Subscribes to the /config RTDB node to dynamically update operational setpoints (Target, Max, Min limits) pushed from the mobile app.

Hardware Simulation

A live capture of the logic execution in Wokwi:

Hardware Simulation


Software (Flutter Mobile App)

A mobile frontend built for performance.

Technical Stack & Architecture:

  • Architecture: Strict Clean Architecture (Data, Domain, Presentation layers) utilizing Domain Use Cases to enforce boundary separation.
  • State Management: Fully manual Riverpod (AsyncNotifier and StreamProvider), ensuring memory-safe stream disposal without code generation overhead.
  • Data Layer: Direct Firebase RTDB streams (zero FCM/push notifications) for real-time telemetry, and Hive local storage mapping raw strings for history logging.
  • UI/UX: Custom state-based routing, dynamic implicit animations driven by hardware states, and a Vantablack/charcoal design system.

Telemetry Dashboard Configuration Hub History Logs


Getting Started

To view the Hardware:

  1. Install KiCad 10.0+.
  2. Open hardware/industry_temperature_control.kicad_pro.

To compile the Firmware:

  1. Open the firmware/ directory in VS Code with the PlatformIO extension installed.
  2. Create your firebase project and manually add your database URL and API_KEY-I removed mine for security purposes.
  3. Build the environment to pull the required C++ dependencies.

To run the Mobile App:

  1. Navigate to the software/ directory.
  2. Use your own firebase URL,the RTDB structure is already defined in the README.md of the software folder,you only need to create the Firebase project and create the nodes as they appear in the README.md in the software folder.
  3. Run flutterfire configure command to configure your flutter app to the Firebase project.
  4. Run flutter pub get.
  5. Provide your own google-services.json (Android) from your Firebase console.
  6. Run flutter run.

Designed and engineered by Jackson Asiligwa

Parts

32
QtyValueFootprintReferences
5220Resistor_THT:R_Axial_DIN0309_L9.0mm_D3.2mm_P20.32mm_HorizontalR2 220, R3 220, R6 220, R8 220, R10 220
310kResistor_THT:R_Axial_DIN0309_L9.0mm_D3.2mm_P20.32mm_HorizontalR7 10k, R9 10k, R11 10k
3IRLZ44NPackage_TO_SOT_THT:TO-220-3_VerticalQ2, Q3, Q4
21N4007Diode_THT:D_DO-41_SOD81_P10.16mm_HorizontalD3, D4
24.7kResistor_THT:R_Axial_DIN0309_L9.0mm_D3.2mm_P20.32mm_HorizontalR4 4.7k, R5 4.7k
2IR26-21C_L110_TR8LED_SMD:LED_1206_3216MetricD1, D2
11kResistor_THT:R_Axial_DIN0309_L9.0mm_D3.2mm_P20.32mm_HorizontalR1 1k
1BOB-12009BOB-12009:CONV_BOB-12009logic level shifter
1BuzzerBuzzer_Beeper:Buzzer_TDK_PS1240P02BT_D12.2mm_H6.5mmBZ1
1Conn_01x02_Socket(PCB fan)Connector_PinSocket_2.54mm:PinSocket_1x02_P2.54mm_VerticalPCB fan
1Conn_01x02_Socket(process fan)Connector_PinSocket_2.54mm:PinSocket_1x02_P2.54mm_VerticalProcess cooler
1Conn_01x02_Socket(process lamp)Connector_PinSocket_2.54mm:PinSocket_1x02_P2.54mm_VerticalProcess Heater
1Conn_01x03_Socket(Process sensor)Connector_PinSocket_2.54mm:PinSocket_1x03_P2.54mm_VerticalProcess sensor
1Conn_01x04_Socket(LCD)Connector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_VerticalLCD
1DC-DC BUCK CONVbuck_conv:LM2596 DC-DC moduleU4
1DS18B20Package_TO_SOT_THT:TO-92_InlineDS18B20
1ESP32-DEVKIT-V1ESP32-DEVKIT-V1:MODULE_ESP32_DEVKIT_V1DOIT ESP32 DEVKIT V1-(30 PIN)
1PN2222APackage_TO_SOT_THT:TO-92_InlineQ1
1SW_Push(Fan)Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical Cooler btn
1SW_Push(Lamp)Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalHeater btn
1Screw_Terminal_01x02TerminalBlock_4Ucon:TerminalBlock_4Ucon_1x02_P3.50mm_VerticalPower Input

Questions

How big is the Industry temperature control PCB?

It measures 131 × 125 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Industry temperature control use?

32 parts, built around the BOB-12009, DS18B20, IRLZ44N and PN2222A. 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 Industry temperature control KiCad files?

From the IaMdEvJaXoN/industry_temperature_control_system repository on GitHub, at the commit this page was made from: the board is hardware/industry_temperature_control/industry_temperature_control.kicad_pcb and its schematic hardware/industry_temperature_control/industry_temperature_control.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Industry temperature control design in my own project?

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

Similar boards

  • 2 layers273.9 × 208.8 mmPlaca todo en uno, the printed circuit board in 3D

    Placa todo en uno

    NicolasSchkurko/Controlador_Termotanque_Solar_PF_ISJ

    Controlador de termotanque solar: ATmega328P maestro + ESP8266 WiFi, con interfaz fisica LCD y web, programacion horaria y guardado en EEPROM. Proyecto Final de 6.º año, Instituto San Jose A-355 (2022).

    50 parts1
  • 2 layers101.6 × 53.4 mmFilter shield, the printed circuit board in 3D

    Filter shield

    OE9SAU/SAUBerry9

    SDR TRX from Radioberry

    27 parts4
  • 2 layers67.4 × 42 mmFlipperZeroModule, the printed circuit board in 3D

    FlipperZeroModule

    ComplacencyKillz/GhostMesh

    Meshtastic + Flipper Zero integration for offline red team comms — remote Bad USB, killswitch, and mesh-based C2 over LoRa

    23 parts5MIT
  • 2 layers80 × 120 mmMppt arduino, the printed circuit board in 3D

    Mppt arduino

    anupam-dubey/Solar-MPPT-Charge-Controller

    Arduino SOlar MPPT chrage controller

    34 parts
  • 2 layers148 × 85.2 mmThesis KiCad, the printed circuit board in 3D

    Thesis KiCad

    drewsix9/Thesis_KiCad

    24 parts
  • 2 layers64 × 50 mmSpectre tht, the printed circuit board in 3D

    Spectre tht

    mkrmx/spectre

    Sensor de iluminación por medio de Hall + LDR

    51 partsMIT
  • 4 layers99.5 × 76.7 mmROCKET, the printed circuit board in 3D

    ROCKET

    Pingu207/ROCKET

    Designing and building a TVC rocket controlled by a custom PCB wired to a ESP32-WROOM board

    113 parts
  • 2 layers94.1 × 85.5 mmMaatherboard, the printed circuit board in 3D

    Maatherboard

    wwwansarmhd2-ctrl/Cryofrost-PCB

    A single-sided PCB controller motherboard designed for an environmental test chamber (CryoFrost) driven by an ESP32, featuring precision temperature/humidity control, thermoelectric Peltier cooling, ultrasonic…

    44 parts