Skip to the content
PCBKitNew board
2 layers29.3 × 68.9 mmTheMainBoard, the printed circuit board in 3D

Part of the AQI Board Project by RolandThsive

Size
29.3 × 68.9 mm
Copper layers
2
Thickness
0.8 mm
Parts
31
Nets
39
Pads
141
Tracks, vias
390, 176
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
11 Jul 2026
Updated
4 Nov 2026

Overview

TheMainBoard is an open-source printed circuit board by RolandThsive, from the RolandThsive/Thermometer repository on GitHub. It is a 2-layer board of 29.3 × 68.9 mm with 31 parts on 39 nets, routed with 390 tracks and 176 vias.

It is built around the DRV8833PWP, PCA9546APWRE4 and SHT40-AD1B-R3, with the USBLC6-2SC6 among its other parts. Its parts include 11 ICs, 10 resistors, 8 capacitors, 1 diode and 1 transistor. It belongs with the ESP32 and RISC-V boards of this library.

Main components

4

README

README.md

The Thermometer

An analog temperature & dew point gauge — part of the AQI Board

The Thermometer (AQI Board)

Blog YouTube Onshape Instagram

ESP32-C3 PlatformIO KiCad Blender License: CC BY-NC-SA 4.0


Overview

This repository is a part of the AQI Board project by @RolandThsive — a wall of analog-style instruments (hygrometer, thermometer, AQI meter and VOC meter) that are as much a showpiece as they are useful.

The Thermometer shows room temperature and dew point with two independent mechanical ticks, each driven by its own N20 motor and tracked by its own absolute encoder.

TickShowsDrive train
Tick 1 — brass rodRoom temperatureN20 → crossed helical gear → two 22T spur gears → tick
Tick 2 — planetary setDew pointN20 → crossed helical gear → helical ring gear → planetary set

Both ticks are read 1 : 1 by AS5600 magnetic encoders on the main board, so the gauge always knows exactly where its needles are. Gear visibility and a symmetrical face were the top design priorities.


Features

  • Absolute positioning on both ticks with AS5600 magnetic encoders
  • Planetary gear set as the visual centrepiece of the face
  • Custom main board built around a Seeed Studio XIAO ESP32-C3
  • PCA9546A I²C multiplexer to talk to both encoders and the SHT40 sensor
  • DRV8833 dual motor driver, with reverse-polarity and ESD protection on the connectors
  • USART link (115200 baud) so the gauge can be polled and commanded by a master board
  • 125 mm glass front and a two-part 3D-printed housing with embedded nuts

Parts Gallery

Full AssemblyBoth Ticks EngagedMain Board
Top AssemblyBottom AssemblyTop Housing

Want to spin these around? The blog post has interactive 3D viewers for every assembly.


Instructions

For complete printing and assembly instructions, scroll all the way down to the 'Manufacturing' section on the official blog post: The Thermometer (AQI Board) Guide

[!TIP] Every part prints normally except the top housing, which has nuts embedded mid-print. The layer they sit on must be perfectly flat — use the Sharpie technique on the supports.


Bill of Materials (BOM)

QuantityItem Description
8xM2 x 16 mm Hex Head Allen Type Screws
8xM2 Nut
2xN20 motor
1xSet of 3D printed parts (Found in the CAD/Printables folder)
1xFully Assembled Circuit (Found in the Electronics folder)
1x2mm Brass rod (Cut to size)
6x15mm x 5mm N52 Neodymium magnets
1x120mm x 120mm PC fan
1x0.6mm PVC mesh (Cut to size)
1x1 set of 5-pin pogo pin connector
1xSKF 688 Bearing
2xNMB MR74 Bearing
2xNMB MR63 Bearing
1xNMB MR126 Bearing
4xSKF 696 Bearing

Electronics

ComponentRole
Seeed Studio XIAO ESP32-C3Main controller
SHT40Temperature & humidity sensor (dew point is calculated from these)
AS5600 ×2Absolute magnetic encoders, one per tick
PCA9546A4-channel I²C multiplexer
DRV8833Dual H-bridge motor driver
DMP3007LK3P-MOSFET for reverse-polarity protection
USBLC6-2ESD protection

Schematic PDF: Electronics/TheMainBoard_Schematic.pdf · KiCad project, custom symbol/footprint libraries, Gerbers and datasheets are all in Electronics/.


Firmware

Built with PlatformIO on the Arduino framework for seeed_xiao_esp32c3.

bash
cd Firmware/temperature_level_device
pio run -t upload
pio device monitor -b 115200
Command (over USART)Response
tReads the SHT40 and returns temperature and dew point as binary floats
wMoves the ticks to the latest temperature and dew point

Between commands the gauge refreshes itself on its own, so it also works standalone.

Firmware/Testing Programs/ holds the bring-up sketches used along the way: motor silence tests (plain and PID), USART master communication, and a PCA9546A device scanner.


Repository Structure

text
Thermometer/
├── CAD/
│   ├── Blender Projects/        # Source .blend files for every assembly
│   ├── GLB-GLTF FIles/          # Web-ready 3D models + model-viewer pages
│   ├── Printables/              # STL files to print
│   └── Step Files/              # STEP assemblies (with and without electronics)
├── Electronics/
│   ├── The Main Board/          # KiCad project + Gerber files
│   ├── Libraries/               # Custom KiCad symbols, footprints & 3D models
│   ├── Documentations/          # Component datasheets
│   └── TheMainBoard_Schematic.pdf
├── Firmware/
│   ├── temperature_level_device/     # Main firmware
│   ├── temperature_level_device_2/   # Alternate firmware revision
│   └── Testing Programs/             # Bring-up & test sketches
├── LICENSE.txt
└── README.md

The AQI Board Family

ProjectDescription
HygrometerAnalog humidity gauge with a globoid worm drive
Thermometer (you are here)Temperature & dew point gauge with a planetary gear set
AQI Meter · VOC MeterComing soon

Gallery

Full AssemblyThe Face
The MechanismThe Main PCB — AssembledThe Backside
The InternalsThe Main PCB — Front & Back

The Main Board Schematic

Click any picture to see it full size.


Connect With Me


License

CC BY-NC-SA 4.0

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

CC BY-NC-SA 4.0

Made with love by RolandThsive (@RolandThsive)

Parts

31
QtyValueFootprintReferences
84.7KΩResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR1, R2, R3, R4, R5, R6, R7, R8
3100nFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC2, C3, C4
20.01uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC7, C8
210uF BULKCapacitor_Tantalum_SMD:CP_EIA-3528-21_Kemet-B_HandSolderC5, C9
2200mΩResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR9, R10
2AS5600AS5600:SOIC8U5, U11
2~WireToPCB_footprints:2PinsOut_footU1, U12
12.2uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC6
1DMP3007LK3-13DMP3007LK3-13:DMP3007LK313Q1
1DRV8833PWPDRV8833PWP:IC_DRV8833PWPU2
1D_TVS_FilledResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderD1
1PCA9546APWRPCA9546APWR:SOP65P640X120-16NU3
1SHT40-AD1B-R3SHT40-AD1B-R3:SHT4XU4
1USBLC6-2SC6Package_TO_SOT_SMD:SOT-23-6U9
1XIAO-ESP32-C3-SMDSeeed_Studio_XIAO_Series_footprints:XIAO-ESP32-C3-DIPU7
1~WireToPCB_footprints:5PinsOut_footU10
1~WireToPCB_footprints:4WiresOut_footU6

Questions

How big is the TheMainBoard PCB?

It measures 29.3 × 68.9 mm and has 2 copper layers, 0.8 mm thick.

What parts does the TheMainBoard use?

31 parts, built around the DRV8833PWP, PCA9546APWRE4, SHT40-AD1B-R3 and USBLC6-2SC6. 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 TheMainBoard KiCad files?

From the RolandThsive/Thermometer repository on GitHub, at the commit this page was made from: the board is Electronics/The Main Board/TheMainBoard/TheMainBoard.kicad_pcb and its schematic Electronics/The Main Board/TheMainBoard/TheMainBoard.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the TheMainBoard design in my own project?

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

Similar boards

  • 2 layers42.8 × 86.2 mmPowerTiger, the printed circuit board in 3D

    PowerTiger

    codetiger/PowerTiger

    Home power monitoring system - Monitoring energy consumption with better granularity

    55 parts19MIT
  • 4 layers27.3 × 19.1 mmMotion play sensor strip, the printed circuit board in 3D

    Motion play sensor strip

    moclei/motion-play

    Motion sensing project for fast moving objects moving through a plane. With directionality.

    34 parts
  • 4 layers60 × 33.5 mmHome weather station esp32, the printed circuit board in 3D

    Home weather station esp32

    Norbixix/home-weather-station-esp32

    ESP32-based low-power home weather station PCB project

    49 parts2
  • 2 layers45 × 55 mmRoom sensor, the printed circuit board in 3D

    Room sensor

    arrow53/RoomTempHumidity

    A local whole-house temperature and humidity monitor. USB-powered room sensors send measurements over Thread to a Raspberry Pi base unit, which stores history and presents a touchscreen dashboard without requiring a…

    24 parts
  • 4 layers23 × 31.3 mmTemperature node, the printed circuit board in 3D

    Temperature node

    cegea/temperature_node_hw

    PCB design for a temperature sensor based on SHT and ESP32

    36 partsGPL-3.0
  • 4 layers76 × 85 mmSuperNicePCB, the printed circuit board in 3D

    SuperNicePCB

    laemo10/SuperNicePCB

    An integrated, multi-sensor UWB anchor PCB designed for real-time indoor object tracking (via Double-Sided Two-Way Ranging) and non-invasive human presence/occupancy monitoring.

    68 parts
  • 4 layers31.4 × 31 mmEsp32c6 ble sensor, the printed circuit board in 3D

    Esp32c6 ble sensor

    xmyoot/esp32c6-ble-sensor-coin-cell

    Ultra-compact 4-layer circular BLE sensor pod with ESP32-C6, CR2032 coin-cell power and environmental sensors

    71 parts
  • 2 layers19.3 × 14.2 mmEnvironmentSensor2, the printed circuit board in 3D

    EnvironmentSensor2

    satomm1/Robot

    This directory contains the electrical schematic for a breakout board for the Bosch BMI323 6-axis IMU. This IMU provides a 16 bit digital triaxial accelerometer, a 16 bit digital triaxial gyroscope, and a 16 bit digital…

    11 partsMIT