Skip to the content
PCBKitNew board
4 layers75.7 × 34 mmSDT board, the printed circuit board in 3D

Benchtop thermometer with SCPI and USB.

Size
75.7 × 34 mm
Copper layers
4
Thickness
1.59 mm
Parts
41
Nets
56
Pads
187
Tracks, vias
471, 167
Pours
1
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
15 Mar 2026
Updated
18 Jun 2026

Overview

SDT board is an open-source printed circuit board by bartkepl, from the bartkepl/SDT_board repository on GitHub, published under the MIT licence. It is a 4-layer board of 75.7 × 34 mm with 41 parts on 56 nets, routed with 471 tracks and 167 vias.

It is built around the LDI1117-3.3U, USBLC6-2SC6 and HDLO-2416, with the SFV4R-3STBE1HLF and SMF5.0CA among its other parts. Its parts include 15 capacitors, 7 resistors, 5 ICs, 5 connectors and 4 diodes. It belongs with the sensors and measurement boards and the STM32 boards of this library.

Main components

5

README

README.md

SDT — SCPI Display Thermometer

Benchtop USB thermometer with a SCPI interface and an 8-character LED display, built around an STM32C071CBT6 (ARM Cortex-M0+). Measures temperature (and optionally humidity), shows it on the display, and exposes a full instrument control interface over USB.

SCPI Display Thermometer

📖 Full documentation: https://bartkepl.github.io/SDT_board/ (PL)


Status — WIP

  • First revision of schematic and PCB done
  • PCB and parts ordered
  • Prototypes assembled and tested
  • Firmware (v3.1)

Features

  • 4-layer PCB
  • ARM Cortex-M0+ MCU, LQFP48 (STM32C071CBT6)
  • USB 2.0 device — USB-TMC class, SCPI (IEEE 488.2) command set
  • TMP117 and/or SHT45 for temperature (and humidity) measurement, auto-detected
  • 8-character LED dot-matrix display (2× DLR2416)

Repository layout

PathContents
pcb/KiCad project — schematic, layout, 3D models, fabrication jobsets
prod/Production outputs — Gerbers, drill files, schematic/PCB PDFs, interactive BOM
firmware/STM32C071 firmware (STM32CubeIDE project) — bundles TinyUSB + scpi-parser
software/PC host app (Python/Tkinter) — SCPI GUI, plotting, CSV logging, DFU flashing
doc/MkDocs documentation source (deployed to GitHub Pages)
media/Board photos

Firmware

The firmware is an STM32CubeIDE project in firmware/USB-TMC_src/.

  1. Open the project in STM32CubeIDE (File → Open Projects from File System…).
  2. Build (Project → Build All).
  3. Flash via ST-Link, or over USB DFU (the device exposes a SYSTem:DFU command and the host app has a one-click flash helper).

Vendored dependencies are included in-tree so the project builds without extra setup:


Host software

A desktop companion app lives in software/:

bash
cd software
pip install -r requirements.txt
python main.py

It provides a live readout and plot, a SCPI console, sensor/display configuration, CSV logging, and a DFU flashing helper. See software/README.md for details.

You can also talk to the board from any VISA-capable environment:

python
import pyvisa
rm = pyvisa.ResourceManager('@py')          # VID=0xCAFE, PID=0x4000
inst = rm.open_resource('USB0::0xCAFE::0x4000::SDT_YOURHASH::INSTR')
print(inst.query('*IDN?'))
print(inst.query('SENSor:TEMPerature?'))

Documentation

The full hardware, firmware, and SCPI command reference is published at https://bartkepl.github.io/SDT_board/ and authored in doc/ (MkDocs Material). Build it locally with:

bash
pip install -r doc/requirements-docs.txt
mkdocs serve -f doc/mkdocs.yml

License and credits

Idea based on SCPI Capable Thermometer.

Display part & footprint from kicad-intelligent-displays by 74hc595.

USB-TMC stack from TinyUSB. SCPI parser from scpi-parser by Jan Breuer.

Released under the MIT License. Open to contributions in both software and hardware!

Parts

41
QtyValueFootprintReferences
15100nFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC1, C2, C3, C4, C5, C6, C7, C9, C10, C11, C12, C13, C14, C15, C16
4MountingHole_PadMountingHole:MountingHole_3.2mm_M3_PadH1, H2, H3, H4
2100KResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR4, R5
210kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR6, R7
222RResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR1, R2
2HDLO-2416Display_IntelligentAlpha:DL2416D1, D4
2SFV4R-3STBE1HLFSamacSys_Parts:SFV4R3STBE1HLFJ4, J5
12KResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR3
1Conn_01x02Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ3
1LDI1117-3.3UPackage_TO_SOT_SMD:SOT-89-3_HandsolderingU2
1LEDLED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolderD3
1PolyfuseFuse:Fuse_1206_3216Metric_Pad1.42x1.75mm_HandSolderF1
1SHT4xSensor_Humidity:Sensirion_DFN-4_1.5x1.5mm_P0.8mm_SHT4x_NoCentralPadU6
1SMF5.0CADiode_SMD:D_SMFD2
1STM32C071CBTxPackage_QFP:LQFP-48_7x7mm_P0.5mmU5
1TC2030Connector:Tag-Connect_TC2030-IDC-NL_2x03_P1.27mm_VerticalJ2
1TMP117xxDRVPackage_SON:WSON-6-1EP_2x2mm_P0.65mm_EP1x1.6mmU4
1USBLC6-2SC6Package_TO_SOT_SMD:SOT-23-6_HandsolderingU1
1USB_BConnector_JST:JST_PH_B4B-PH-K_1x04_P2.00mm_VerticalJ1

Questions

How big is the SDT board PCB?

It measures 75.7 × 34 mm and has 4 copper layers, 1.59 mm thick.

What parts does the SDT board use?

41 parts, built around the LDI1117-3.3U, USBLC6-2SC6, HDLO-2416 and SFV4R-3STBE1HLF. 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 SDT board KiCad files?

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

Can I use the SDT board 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 layers26 × 23 mmADXL345BCCZ, the printed circuit board in 3D

    ADXL345BCCZ

    lessthan00/ADXL345BCCZ_RL7_a

    kicad ADXL345 IIC SPI model

    18 parts
  • 2 layers61.9 × 65.9 mmTutelPad, the printed circuit board in 3D

    TutelPad

    0xCB-dev/0xCB-TutelPad

    An 8-key macropad

    40 parts6
  • 2 layers95 × 55 mmWifi geiger counter, the printed circuit board in 3D

    Wifi geiger counter

    atomicra1n/wifi-geiger-counter

    A DIY Geiger counter PCB which can detect ionizing radiation and log readings over Wi-Fi. Built with an ESP32, and a HV multiplier circuit that steps up 3.7V to 400V for the GM tube.

    64 parts
  • 2 layers160 × 100 mmRDE board, the printed circuit board in 3D

    RDE board

    bartkepl/RDE_board

    Resistance DEcade with SCPI, UART, USB, RS485 and ETHERNET in 3U eurocard format

    388 partsMIT
  • 4 layers56.8 × 100 mmUCB board, the printed circuit board in 3D

    UCB board

    bartkepl/UCB_board

    Control board for testing concepts with SCPI, UART, USB, RS485 and ETHERNET in pseudo 3U eurocard format

    202 partsMIT
  • 2 layers120 × 90 mmPLC STM32 Modbus, the printed circuit board in 3D

    PLC STM32 Modbus

    danhmanu/PLC-STM32F407VET6

    Mạch nguyên lý KiCad 10 cho bộ PLC: điều khiển qua LAN bằng Modbus TCP (module W5500 Lite), nạp code qua USB‑C (CH340C), 16 ngõ ra transistor cách ly quang, 10 ngõ vào analog 4–20mA.

    264 parts
  • 2 layers70 × 150 mmMaster, the printed circuit board in 3D

    Master

    KaiManabe/mixer-fader

    85 partsMIT