Skip to the content
PCBKitNew board
2 layers48 × 74 mmZigbeeTemperaturReaderHW, the printed circuit board in 3D

ZigbeeTemperaturReaderHW

jwillner/ZigbeeTemperaturReaderHW

Batteriebetriebener Zigbee-Sensor für die Wand. Er misst mit zwei DS18B20-Fühlern die Vorlauf- und Rücklauftemperatur einer Heizung, zeigt sie auf einem kleinen OLED-Display an und meldet sie per Zigbee an Home…

Size
48 × 74 mm
Copper layers
2
Thickness
1.6 mm
Parts
16
Nets
24
Pads
75
Tracks, vias
55, 49
Pours
2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
11 Sep 2026
Updated
18 Oct 2026

Overview

ZigbeeTemperaturReaderHW is an open-source printed circuit board by jwillner, from the jwillner/ZigbeeTemperaturReaderHW repository on GitHub. It is a 2-layer board of 48 × 74 mm with 16 parts on 24 nets, routed with 55 tracks and 49 vias.

It is built around the RT9080-33GJ5, CC1206KRX7R9BB104 and FC68133, with the CC1206KKX7RDBB102 and TL1105BF160Q among its other parts. Its parts include 5 capacitors, 4 resistors, 2 ICs and 1 switch.

Main components

5

README

README.md

ZigbeeTemperaturReader – Hardware

Batteriebetriebener Zigbee-Sensor für die Wand. Er misst mit zwei DS18B20-Fühlern die Vorlauf- und Rücklauftemperatur einer Heizung, zeigt sie auf einem kleinen OLED-Display an und meldet sie per Zigbee an Home Assistant.

Dieses Repository enthält die Hardware: Schaltplan, Platine und Gehäuse. Die Firmware liegt in einem eigenen Repository, siehe Software.

3D-Modell: Gehäuse V3 mit Acryldeckel, eingesteckten Temperaturfühlern und USB-C-Kabel

3D-Modell ohne Rahmen und Deckel: Platine auf dem Träger, Abstandshülsen und Schrauben
Ohne Rahmen und Deckel: Platine auf dem Träger, darunter der Batteriehalter.

Aufbau

BaugruppeBauteil
MikrocontrollerWaveshare ESP32-C6-Zero (Zigbee, Wi-Fi 6, USB-C) auf der Platine
AnzeigeOLED 0,96", SSD1306, I²C
Temperaturfühler2× DS18B20 (wasserdicht) an 3,5-mm-Klinkenbuchsen (Cliff FC68133), gemeinsamer OneWire-Bus
Versorgung3× AAA im Halter unter der Platine → LDO RT9080-33 → 3,3 V
BedienungTaster TL1105, durch den Deckel per Stößel bedienbar
Gehäuse3D-Druck (PETG) mit gelasertem Deckel aus 3-mm-Acryl, an die Wand geschraubt

Zusammenspiel mit der Software

Die Firmware muss genau die Pins verwenden, an die die Platine die Signale führt:

Signal (Netz im Schaltplan)ESP32-C6Firmware (src/main.cpp)Funktion
ONE_WIREGPIO2ONE_WIRE_PIN 2Datenleitung beider DS18B20
SENSOR_POWERGPIO3SENSOR_POWER_PIN 3schaltet die Fühler ein und speist den 4,7-kΩ-Pull-up
OLED_SDAGPIO18OLED_SDA_PIN 18I²C-Daten Display
OLED_SCLGPIO19OLED_SCL_PIN 19I²C-Takt Display
PAIRINGGPIO4– (Firmware nutzt BUTTON_PIN 9)Taster auf der Platine, siehe Offene Punkte
–GPIO8LED_PIN 8RGB-LED auf dem Modul, Statusanzeige

So arbeiten Hardware und Firmware zusammen:

  • Über SENSOR_POWER kann die Firmware die Fühler samt Pull-up abschalten. Bisher schaltet sie sie beim Start dauerhaft ein. Im Batteriebetrieb lohnt es sich, sie nur zum Messen einzuschalten.
  • Beide Fühler hängen am selben Bus und haben je eine eigene ROM-Adresse. Die Firmware ordnet sie bisher nach ihrer Reihenfolge auf dem Bus zu und meldet sie als zwei Zigbee-Endpoints: 10 = Vorlauf, 11 = Rücklauf.
  • Das Gerät arbeitet als Zigbee End Device. Home Assistant empfängt die Werte über Zigbee2MQTT oder ZHA wie bei einem gekauften Temperatursensor. Für Zigbee2MQTT gibt es im Software-Repository einen eigenen Converter.

Software

Die Firmware liegt in jwillner/005_ZigbeeTemperatureReader (Branch master):

PfadInhalt
src/main.cppFirmware: Sensoren, Display, Zigbee-Endpoints, LED
platformio.iniBuild-Umgebungen: esp32-c6 (ESP32-C6-Zero, 8 MB) und esp32-c6-4mb
zigbee2mqtt/externer Converter für Zigbee2MQTT

Gebaut wird mit PlatformIO in VS Code (Arduino-Framework, pioarduino-Fork von espressif32). Geflasht wird über die USB-C-Buchse des ESP32-C6-Zero:

sh
pio run -t upload

Mit eingebauter Platine bleibt die USB-C-Buchse durch den Ausschnitt im Rahmen erreichbar. Zum Flashen muss das Gehäuse also nicht geöffnet werden.

Inhalt dieses Repositorys

PfadInhalt
ZigbeeTemperaturReaderHW.kicad_pro / .kicad_sch / .kicad_pcbKiCad-Projekt: Schaltplan und Platine (74 × 48 mm)
gerber/, ZigbeeTemperaturReaderHW-Gerber-JLCPCB.zipFertigungsdaten für JLCPCB
bom/ibom.htmlinteraktive Stückliste: im Browser öffnen, zeigt beim Bestücken jedes Bauteil auf der Platine
gehaeuse/v3/aktuelles Gehäuse: FreeCAD-Modell, STL zum Drucken, DXF/SVG für den Acryldeckel, Bauanleitung
gehaeuse/v2/, gehaeuse/ältere Gehäuseversionen V2 und V1
Schaltplan-Entwurf.md, Bauteile.mdNotizen aus der Entwurfsphase

Die Bauteilbibliothek (Symbole, Footprints, 3D-Modelle) liegt in einem eigenen Repository und wird über KICAD_USER_TEMPLATE_DIR eingebunden.

Gehäuse

Kurzfassung. Alle Details, die Kaufteile und die Montage stehen in gehaeuse/v3/README.md.

  • Boden: wird an die Wand geschraubt und trägt 4 Einschmelzmuttern M3.
  • Träger: hält oben die Platine und unten den Batteriehalter.
  • Rahmen: wird von vorn über die Elektronik geschoben. Er hat Ausschnitte für USB-C und die beiden Klinken.
  • Deckel: klares Acryl, 3 mm, gelasert. Er liegt bündig in einem Falz des Rahmens; Display und LED sieht man hindurch.
  • Verschraubung: 4 Schrauben M3 × 35 mit Torx gehen durch Deckel, Abstandshülsen, Platinenecken und Träger bis in die Einschmelzmuttern im Boden.
  • Batteriewechsel: Deckel abschrauben, Rahmen abziehen, Träger herausheben. Der Boden bleibt an der Wand.

Außenmaße: 52,8 × 82,7 × 38,6 mm.

Das Gehäuse wird vollständig vom Skript gehaeuse/v3/gehaeuse_v3.py erzeugt. Es baut das parametrische FreeCAD-Modell auf, prüft alle Teile auf Kollision (auch mit Platine, Steckern und Schrauben) und exportiert STL, STEP und die Laserdateien.

Offene Punkte

Vor der nächsten Platinenbestellung klären:

  • Klinkenbuchsen JP1/JP2: ONE_WIRE liegt an Pin 3. Das ist bei der FC68133 der Schaltkontakt der Spitze, der beim Einstecken öffnet. Richtig ist Pin 2 (Spitze). Für schon gefertigte Platinen hilft eine Drahtbrücke von Pin 2 nach Pin 3.
  • Widerstände R1–R4: Im Schaltplan steht 1206W4F4701T5E (4,7 kΩ). Die Platine ist noch nicht aus dem Schaltplan aktualisiert und führt den alten Wert. In KiCad deshalb Werkzeuge → Platine aus Schaltplan aktualisieren (F8) ausführen, bevor Stückliste und Bestückungsdaten erzeugt werden.
  • Taster: Der Taster auf der Platine hängt an GPIO4 (PAIRING). Die Firmware wertet bisher den BOOT-Taster (GPIO9) auf dem Modul aus, den man im Gehäuse nicht erreicht. Dafür BUTTON_PIN in der Firmware auf 4 ändern.

Belegung der Klinkenstecker (nach Korrektur): Spitze = Daten, Ring = VDD, Hülse = GND.

Parts

16
QtyValueFootprintReferences
4CC1206KRX7R9BB104Passive:C_1206_3216MetricC1, C2, C4, C5
4RC1206JR-7W1RLC19632287Passive:R_1206_3216MetricR1, R2, R3, R4
2FC68133Connectors:JY039-5PJP1, JP2
1CC1206KKX7RDBB102Passive:C_1206_3216MetricC6
1RT9080-33GJ5Power:TSOT-23-5_RIT-LU2
1TL1105BF160QMechanical:SW_TL1105BF160QS2
1~Mechanical:BatteryHolder_3xAAABAT2
1~Modules:Waveshare-ESP32-C6-ZeroU1
1~Modules:OLED-0.96-SSD1306-I2COLED2

Questions

How big is the ZigbeeTemperaturReaderHW PCB?

It measures 48 × 74 mm and has 2 copper layers, 1.6 mm thick.

What parts does the ZigbeeTemperaturReaderHW use?

16 parts, built around the RT9080-33GJ5, CC1206KRX7R9BB104, FC68133 and CC1206KKX7RDBB102. 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 ZigbeeTemperaturReaderHW KiCad files?

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

Can I use the ZigbeeTemperaturReaderHW design in my own project?

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

Similar boards

  • 2 layers82.5 × 127 mmPower supply, the printed circuit board in 3D

    Power supply

    nunosousa/SCART-switcher

    An old school SCART switcher. Its main purpose will be to automaticaly detect and switch the video output to the active input video source.

    59 parts
  • 2 layers46 × 46 mmMbadge25, the printed circuit board in 3D

    Mbadge25

    Makerville/makerville-badge

    Makerville Badge is a simple PCB with a OLED and a ESP32C3

    65 parts6CERN-OHL-P-2.0
  • 2 layers238 × 114 mmPanel, the printed circuit board in 3D

    Panel

    sbarisic/MagMouse

    Open source hall-effect based mouse - no mechanical contacts - no failure points

    384 parts2
  • 2 layers281.6 × 255.2 mmSynthia, the printed circuit board in 3D

    Synthia

    Engineering-House/Project-Synthia

    The programs used are as follows: - STMCube32MX - Visual Studio Code - STM32CubeIDE for Visual Studio Code (Extension Pack)

    236 parts
  • 2 layers95 × 27 mmCardbot Controller, the printed circuit board in 3D

    Cardbot Controller

    makr-group/cardbot

    Cardbots are simple and fun cardboard based robots! Great for kids age 10 and up.

    6 partsCC-BY-SA-4.0
  • 2 layers70.2 × 46.7 mmRemote, the printed circuit board in 3D

    Remote

    nathancritchfield/senior_project

    40 parts
  • 2 layers100 × 76 mmEmc flyback, the printed circuit board in 3D

    Emc flyback

    ChengminLi/AI-PCB-layout

    AI agent skill for designing and reviewing power-electronics PCBs, with a human review gate after every step

    90 parts31CC-BY-4.0
  • 4 layers120 × 80.6 mmStm32mp1-custom devboard, the printed circuit board in 3D

    Stm32mp1-custom devboard

    voloviq/stm32mp1-custom-devboard

    Custom development board for stm32mp1-visionsom from Somlabs

    195 parts7