Skip to the content
6 layers62 × 77 mmBlack Body Temperature Sensor PCB, the printed circuit board in 3D

Black Body Temperature Sensor PCB

DylanLockyer/Black_Body1

Electrical system for black body MKID tester

Size
62 × 77 mm
Copper layers
6
Thickness
1.56 mm
Parts
217
Nets
196
Pads
763
Tracks, vias
1,491, 724
Pours
34
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
11 May 2026
Updated
24 Sep 2026

Overview

Black Body Temperature Sensor PCB is an open-source printed circuit board by DylanLockyer, from the DylanLockyer/Black_Body repository on GitHub, published under the MIT licence. It is a 6-layer board of 62 × 77 mm with 217 parts on 196 nets, routed with 1,491 tracks and 724 vias.

It is built around the STM32G431RBT6, LT1008S8#PBF and OPA376AIDBVR-MS, with the AD8421ARZ, LM334M and ABM8G-25.000MHZ-18-D2Y-T among its other parts. Its parts include 98 capacitors, 70 resistors, 20 ICs, 9 connectors and 6 transistors. It belongs with the sensors and measurement boards and the STM32 boards of this library.

Main components

12

README

Circuit Boards/Black_Body_Heater_Control_PCB/README.md

Black Body Heater Control PCB

Two-layer circuit board carrying the ESP32 microcontroller and all heater control electronics: current source, voltage/current sensing, and power supply. See the firmware README for how this board is driven, and the root README for overall project context.

Front Rear

Schematic: Black_Body_Heater_Control_Schematic.pdf

Microcontroller

An ESP32 was chosen for its high pin count and WiFi support, letting it self-host a web page for displaying readings and controlling the heater. It interfaces with the temperature sensor board over SPI (3 CS lines for 3 temperature probes). The microcontroller is programmed over USB, with exposed pads for UART programming as a fallback. Board-to-board interfacing uses Molex connectors (504050-0891 for the SPI link) since they could be sampled for free.

Heater Controller

The heater is 4x 10Ω resistors in series (40Ω total). A maximum output power of 10W requires a peak 12V at 0.3A, measured with a shunt resistor + amplifier (current) and a voltage divider (voltage), both read by the ESP32's internal 12-bit ADC. This gives a theoretical current step of 100µA (max 0.66A range) and a voltage step of 8mV (max 36V range).

The original design used an N-channel MOSFET with PWM to control heater voltage. Due to concerns about PWM noise interfering with the sensor board's measurements, this was replaced with an analog current source instead.

High Current Source

Output current vs. input voltage for the analog current source. A BJT and op-amp generate the current output, driven by a DAC that the microcontroller controls.

Shunt Current Measurement

The shunt resistor is 100mΩ with a 50V/V amplifier gain, giving 2.5V output at 0.5A and 0.25V at 0.05A. A low-pass filter on the amplifier output is largely unnecessary now that PWM isn't used, but is kept (with an easy jumper to bypass it) in case it's needed. Simulated filtering of a 10% duty cycle, 10kHz PWM signal on 20V is shown below:

Current Sense Simulation

Power Source

The board receives 12V from an external power supply. A buck converter steps this down to 5V at 2A, followed by an LDO to 3.3V for a clean, low-noise supply to the microcontroller and ADC.
Revision 1: Changed buck converter to newer module as the rev 0 as it broke and fried both boards.

Simulation

Heater and buck converter behavior were validated in PSpice before layout (see Simulations/Heater_Controller_PCB):

PSpice Heater Schematic PSpice Heater Results

Parts

217
QtyValueFootprintReferences
482u2Capacitor_SMD:C_0402_1005MetricC201, C202, C203, C204, C205, C206, C207, C208, C209, C210, C211, C212, C213, C214, C215, C216 +32
290.1ufCapacitor_SMD:C_0603_1608MetricC502, C503, C504, C505, C506, C507, C508, C509, C510, C511, C512, C513, C514, C515, C516, C517 +13
265.1kResistor_SMD:R_0402_1005MetricR201, R202, R203, R204, R205, R206, R207, R208, R301, R302, R303, R304, R401, R402, R403, R404 +10
810ufCapacitor_SMD:C_0603_1608MetricC601, C602, C606, C607, C609, C614, C615, C712
610kResistor_SMD:R_0603_1608MetricR412, R413, R505, R506, R703, R704
6TMUX1112PWRPackage_SO:TSSOP-16_4.4x5mm_P0.65mmQ201, Q202, Q301, Q401, Q402, Q403
6TestPointTestPoint:TestPoint_Pad_2.0x2.0mmTP401, TP402, TP403, TP601, TP602, TP603
54.7ufCapacitor_SMD:C_0603_1608MetricC608, C610, C611, C612, C613
5OPA376xxDBVPackage_TO_SOT_SMD:SOT-23-5U501, U502, U503, U504, U509
4180kResistor_SMD:R_0603_1608MetricR602, R603, R607, R609
31.33kResistor_SMD:R_0603_1608MetricR210, R211, R705
310MResistor_SMD:R_0603_1608MetricR305, R502, R504
333.2kResistor_SMD:R_0603_1608MetricR407, R605, R608
3500Resistor_SMD:R_0603_1608MetricR406, R606, R616
210nfCapacitor_SMD:C_0603_1608MetricC604, C605
213.3kResistor_SMD:R_0603_1608MetricR212, R213
2134kResistor_SMD:R_0603_1608MetricR214, R215
228pfCapacitor_SMD:C_0603_1608MetricC703, C705
2448kResistor_SMD:R_0603_1608MetricR611, R613
250Resistor_SMD:R_0603_1608MetricR501, R503
250kResistor_SMD:R_0603_1608MetricR612, R614
2569kResistor_SMD:R_0603_1608MetricR601, R604
2AD8421ARZPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU505, U506
2LM334MPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU201, U301
2SW_MEC_5E-switch:430471035826SW701, SW702
2Screw_Terminal_01x02-connector:CUI_TB002-500-02BEJ401, J402
11.33MResistor_SMD:R_0603_1608MetricR216
1100MResistor_SMD:R_0603_1608MetricR308
1100kResistor_SMD:R_0603_1608MetricR307
1133Resistor_SMD:R_0603_1608MetricR209
11MResistor_SMD:R_0603_1608MetricR310
11N457Diode_THT:D_DO-35_SOD27_P7.62mm_HorizontalD201
11N5819WSDiode_SMD:D_SOD-323D701
11ufCapacitor_SMD:C_0603_1608MetricC603
12.7kResistor_SMD:R_0603_1608MetricR311
1200pfCapacitor_SMD:C_0603_1608MetricC309
122.6kResistor_SMD:R_0603_1608MetricR306
1220nfCapacitor_SMD:C_0603_1608MetricC501
1226kResistor_SMD:R_0603_1608MetricR309
122ufCapacitor_SMD:C_0603_1608MetricC715
14.99Resistor_SMD:R_0603_1608MetricR405
1436500200-connector:436500200 2-pinP601
15040500891-connector:CONN_5040500891_MOLJ702
17.5kResistor_SMD:R_0603_1608MetricR610
1ABM8G-25.000MHZ-18-D2Y-T-oscillators:ABM8G-25.000MHZ-18-D2Y-TU702
1ADS131M04xPWPackage_SO:TSSOP-20_4.4x6.5mm_P0.65mmU507
1AMS1117-3.3Package_TO_SOT_SMD:SOT-223-3_TabPin2U705
1Conn_01x02_PinConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ601
1Conn_01x04_PinConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ704
1Conn_01x06_PinConnector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalJ701
1ISO7762FDBQPackage_SO:SSOP-16_3.9x4.9mm_P0.635mmU508
1LOGOLOGOG***
1LT1004-1.2Package_SO:SOIC-8_3.9x4.9mm_P1.27mmD301
1LT1008Package_SO:SOIC-8_3.9x4.9mm_P1.27mmU302
1LT3042xMSEPackage_SO:MSOP-10-1EP_3x3mm_P0.5mm_EP1.68x1.88mmU603
1LT3094xMSEPackage_SO:MSOP-12-1EP_3x4.039mm_P0.65mm_EP1.651x2.845mmU602
1LTC3260xMSEPackage_SO:MSOP-16-1EP_3x4.039mm_P0.5mm_EP1.651x2.845mmU601
1REDLED_SMD:LED_0603_1608MetricD702
1SMAJ24ADiode_SMD:D_SMAD601
1STM32G431RBTxPackage_QFP:LQFP-64_10x10mm_P0.5mmU704
1TXU0304Package_SO:TSSOP-14_4.4x5mm_P0.65mmU701
1USBLC6-2SC6Package_TO_SOT_SMD:SOT-23-6U703
1USB_C_Receptacle_USB2.0_16P-connector:UJ20-C-H-G-SMT-1-P16-TRJ703
1pogo programmer-connector:pogo_programmerP701

More from DylanLockyer/Black_Body

1
  • 2 layers57.5 × 42.8 mmBlack Body Heater Control, the printed circuit board in 3D

    Black Body Heater Control

    DylanLockyer/Black_Body

    Electrical system for black body MKID tester

    52 parts1MIT

Similar boards

  • 4 layers70 × 70 mmBlue interface board, the printed circuit board in 3D

    Blue interface board

    BetzDrive/interface-board

    Power and signal conditioning board for the Betz Drive system

    130 parts5
  • 6 layers139.7 × 88.9 mmIMX6-BareBones, the printed circuit board in 3D

    IMX6-BareBones

    a1wolfe/iMX6-BareBones

    i.MX 6ULL Open Source Development Board

    558 parts
  • 6 layers46 × 53.6 mmSideSolarPowerBoard, the printed circuit board in 3D

    SideSolarPowerBoard

    kongr45gpen/POQUITO-panels

    Solar panels with a Magnetorquer for a PocketQube

    31 parts
  • 4 layers146 × 95 mmEEZ DIB MIO168, the printed circuit board in 3D

    EEZ DIB MIO168

    eez-open/dib-mio168

    EEZ DIB Mixed I/O module

    279 parts8
  • 4 layers101 × 53.3 mmHackboard, the printed circuit board in 3D

    Hackboard

    AdamTuraj/Hackboard

    An extended Arduino Uno clone based on the STM32L476RG

    65 parts7GPL-3.0
  • 2 layersOpamp path lp, the printed circuit board in 3D

    Opamp path lp

    afkiwers/GroundTruth

    KiCad 10 plugin and CLI that simulates return currents, EMI, power stages, PDN impedance and thermal rise with a field solver, and suggests vias and design fixes.

    13 partsGPL-3.0
  • 2 layers90.4 × 89.6 mmPolicyBadge25, the printed circuit board in 3D

    PolicyBadge25

    mosfet0/policyatdc33

    Policy@DEF CON 33 Badge collaboration

    68 partsGPL-3.0
  • 4 layers73 × 94 mmWirelessBERA, the printed circuit board in 3D

    WirelessBERA

    NathansLab/WirelessBERA

    KiCad 10 project for the Wireless BERA v1.0 board.

    183 parts

Questions

How big is the Black Body Temperature Sensor PCB PCB?

It measures 62 × 77 mm and has 6 copper layers, 1.56 mm thick.

What parts does the Black Body Temperature Sensor PCB use?

217 parts, built around the STM32G431RBT6, LT1008S8#PBF, OPA376AIDBVR-MS and AD8421ARZ. 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 Black Body Temperature Sensor PCB KiCad files?

From the DylanLockyer/Black_Body repository on GitHub, at the commit this page was made from: the board is Circuit Boards/Black_Body_Temperature_Sensor_PCB/Black_Body_Temperature_Sensor_PCB.kicad_pcb and its schematic Circuit Boards/Black_Body_Heater_Control_PCB/Black_Body_Heater_Control.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Black Body Temperature Sensor PCB 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).