Skip to the content
PCBKitNew board
4 layers416 × 130 mmHardware pruefadapter, the printed circuit board in 3D

Im Schuljahr 2025/2026 wurde im Rahmen der Ausbildung zum staatlich geprüften Techniker diese Technikerarbeit in Zusammenarbeit mit der Gottlieb Daimler Schule 2 in Sindelfingen sowie der SOTEC GmbH & Co KG in Ostelsheim erstellt.

Size
416 × 130 mm
Copper layers
4
Thickness
1.61 mm
Parts
454
Nets
398
Pads
1,473
Tracks, vias
2,859, 643
Pours
29
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
18 Jun 2026
Updated
21 Jun 2026

Overview

Hardware pruefadapter is an open-source printed circuit board by CodeByMika, from the CodeByMika/technikerarbeit2026-hardwarepruefadapter repository on GitHub. It is a 4-layer board of 416 × 130 mm with 454 parts on 398 nets, routed with 2,859 tracks and 643 vias.

It is built around the ADS1115IDGST, LP5018RSMR and DMP3068L-7, with the 0ZCJ0010FF2E, BS170FTA and 0ZCM0002FF2G among its other parts. Its parts include 211 resistors, 71 capacitors, 65 diodes, 20 ICs and 19 connectors. It belongs with the ESP32 boards of this library.

Main components

12

README

README.md

🛠️ Hardware Prüfadapter

C++17 PlatformIO ESP32 KiCad Testing

Portfolio-Projekt: Dieses Repository enthält die vollständige Hard- und Softwareentwicklung eines universellen Hardware-Prüfadapters. Das Projekt entstand als Abschluss-/Technikerprojekt im Rahmen meiner Ausbildung zum staatlich geprüften Techniker Elektrotechnik (Profil: Softwareentwicklung).


📖 Projektübersicht

Der Hardware Prüfadapter ist ein Embedded-System auf Basis eines ESP32-S3, das entwickelt wurde, um externe Hardwarekomponenten und Baugruppen automatisiert zu testen und zu simulieren. Das System stellt eine Brücke zwischen analoger/digitaler Hardware und modernen Web-Technologien dar.

Das Hauptaugenmerk der Entwicklung lag auf einer sauberen Systemarchitektur (Clean Architecture), extremer Ausfallsicherheit (Fail-Safe-Mechanismen) und einer hohen Testabdeckung durch systemunabhängiges Unit-Testing (TDD).

Blockschaltbild Prüfadapter

✨ Kernfunktionen & Features

💻 Software (VS Code)

  • Clean Architecture: Strikte Trennung von Hardware-Treibern (Adaptern) und Business-Logik. Alle Logik-Komponenten sind plattformunabhängig in C++17 geschrieben.
  • Web-Dashboard: Eine eingebettete Single-Page-Application (HTML/CSS/JS) direkt auf dem Mikrocontroller zur Steuerung und Überwachung der I/Os.
  • RESTful OpenAPI: Bereitstellung einer API zur Automatisierung sowie Server-Sent Events (SSE) für ein Live-Terminal und Echtzeit-Log-Streaming.

🔌 Hardware (KiCad)

  • Herzstück: ESP32-S3 für Netzwerkkommunikation und Logik.
  • Peripherie über I²C:
    • ADCs (ADS1115) für Spannungsmessung.
    • DAC (DAC8574) zur Ausgabe analoger Spannung.
    • LED-Treiber (LP5018) für das Status-Feedback direkt am Gerät.
  • Externe Schnittstellen: UART, RS232, RS485 für externe Gerätekommunikation.

Wichtig: Hardwareänderungshinweise beachten, diese sind in der V1.0 nicht enthalten.

🏗️ Software-Architektur

Die Firmware basiert auf dem EVA-Prinzip (Eingabe - Verarbeitung - Ausgabe) und läuft in einem deterministischen Zyklus.

  1. Input Sequence: Auslesen der ADCs, serielle Puffer leeren, asynchrone Befehle aus der Web-API (Mailbox) abholen.
  2. Process Sequence: Abgleich der Daten im ProcessImager, Anwenden der Filter, Auswerten der Safety-Regeln (Überspannung, Kurzschluss).
  3. Output Sequence: Setzen der DACs, Schalten der physikalischen GPIOs, Update der Status-LEDs.

Alle Hardware-Abhängigkeiten werden über Interfaces injiziert (Dependency Injection), wodurch die gesamte Logik auf dem PC simuliert und mit GoogleTest geprüft werden kann.

🛠️ Lokale Entwicklung & Testing

Das Projekt nutzt PlatformIO und ein Makefile für reibungslose Entwicklung unter Linux/WSL2 und Windows.

👨‍💻 Über den Autor

Dieses Projekt dient als praktischer Nachweis meiner Fähigkeiten im Bereich der hardwarenahen Softwareentwicklung, Systemarchitektur und Schaltungsentwicklung.

⚖️ Rechtliches & Haftungsausschluss (Disclaimer)

Zweck des Projekts: Dieses Projekt wurde ausschließlich zu Bildungs- und Demonstrationszwecken im Rahmen einer Weiterbildung zum staatlich geprüften Techniker entwickelt. Es handelt sich hierbei nicht um ein geprüftes, zertifiziertes oder für den produktiven Einsatz im industriellen oder privaten Umfeld zugelassenes Endprodukt.

Haftungsausschluss: Die Nutzung der in diesem Repository bereitgestellten Informationen, Quellcodes (Software) und Hardware-Designs (Schaltpläne, Gerber-Daten, KiCad-Files) erfolgt ausschließlich auf eigene Gefahr.

  • Der Autor übernimmt keinerlei Gewähr für die Aktualität, Korrektheit, Vollständigkeit, Qualität oder Sicherheit der bereitgestellten Informationen.
  • Haftungsansprüche gegen den Autor, welche sich auf Schäden materieller, immaterieller, personeller oder finanzieller Art beziehen, die durch die Nutzung oder Nichtnutzung der dargebotenen Informationen bzw. durch die Nutzung fehlerhafter und unvollständiger Informationen verursacht wurden, sind grundsätzlich ausgeschlossen.
  • Beim Nachbau oder Betrieb der Hardware wird mit teilweise gefährlichen elektrischen Spannungen gearbeitet. Ein Nachbau darf nur von qualifiziertem Fachpersonal unter Einhaltung geltender VDE- und Sicherheitsvorschriften durchgeführt werden.

Urheberrecht: Alle Rechte an diesem Projekt, dem Quellcode und dem Hardware-Design liegen, sofern nicht anders durch Lizenzen von Drittanbietern angegeben (z.B. Bibliotheken im /lib Ordner), beim Autor.

Parts

454
QtyValueFootprintReferences
4710kResistor_SMD:R_0805_2012MetricR210, R301, R305, R407, R420, R421, R509, R609, R701, R704, R1003, R1004, R1005, R1009, R1010, R1201 +31
271kResistor_SMD:R_0805_2012MetricR315, R503, R508, R516, R519, R603, R608, R616, R619, R739, R1109, R1110, R1203, R1204, R1301, R1302 +11
2030kResistor_SMD:R_0805_2012MetricR504, R512, R517, R520, R605, R612, R617, R620, R804, R814, R819, R824, R907, R908, R913, R916 +4
20BAV199LT1GPackage_TO_SOT_SMD:TSOT-23D501, D502, D503, D504, D601, D602, D603, D604, D801, D802, D803, D804, D901, D902, D903, D904 +4
19100nF/50VCapacitor_SMD:C_0805_2012MetricC203, C204, C205, C401, C405, C502, C602, C803, C1005, C1007, C1009, C1301, C1302, C1303, C1304, C1305 +3
17150352M17330001_Projektbibliothek_HardwarePruefadapter:WL-SFTW_3528_PLCC4D1001, D1002, D1003, D1004, D1005, D1006, D1007, D1008, D1009, D1010, D1011, D1012, D1013, D1014, D1015, D1016 +1
17150kResistor_SMD:R_0805_2012MetricR411, R502, R506, R514, R518, R602, R606, R614, R618, R901, R902, R909, R910, R920, R921, R929 +1
161µF/50VCapacitor_SMD:C_0805_2012MetricC501, C503, C505, C506, C601, C603, C605, C606, C901, C902, C906, C907, C909, C910, C911, C912
140RResistor_SMD:R_1206_3216MetricR401, R402, R403, R408, R409, R414, R424, R501, R601, R935, R1007, R1111, R1206, R1303
140RResistor_SMD:R_0805_2012MetricR201, R413, R505, R604, R801, R813, R825, R826, R903, R904, R1011, R1012, R1013, R1014
80ZCJ0010FF2E01_Projektbibliothek_HardwarePruefadapter:RESC3216X125NR703, R709, R713, R718, R722, R727, R731, R736
82.2kResistor_SMD:R_0805_2012MetricR202, R203, R204, R205, R206, R207, R211, R212
8BS170FTAPackage_TO_SOT_SMD:SOT-23Q701, Q702, Q703, Q704, Q705, Q706, Q707, Q708
8BZX84C10LT1G01_Projektbibliothek_HardwarePruefadapter:SOT95P240X111-3ND701, D703, D705, D707, D709, D711, D713, D715
8DMP3130L-701_Projektbibliothek_HardwarePruefadapter:SOT103P240X110-3NU701, U702, U703, U704, U705, U706, U707, U708
8MountingHoleMountingHole:MountingHole_3.2mm_M3H201, H202, H203, H204, H205, H206, H207, H208
7200kResistor_SMD:R_0805_2012MetricR208, R209, R802, R807, R816, R823, R1102
510uF/25VCapacitor_SMD:C_0805_2012MetricC804, C806, C1003, C1006, C1008
520kResistor_SMD:R_0805_2012MetricR404, R806, R815, R822, R827
54.7uF/50VCapacitor_SMD:C_1206_3216MetricC402, C403, C404, C413, C415
40RResistor_SMD:R_0603_1608MetricR307, R310, R311, R314
40ZCM0002FF2G01_Projektbibliothek_HardwarePruefadapter:FUSC1607X85NF801, F802, F803, F804
4100uF/6.3VCapacitor_SMD:C_1206_3216MetricC201, C802, C807, C1101
4186195901_Projektbibliothek_HardwarePruefadapter:PHOENIX_1861959J501, J601, J710, J801
41uF/50VCapacitor_SMD:C_0805_2012MetricC303, C1001, C1002, C1004
42.2KResistor_SMD:R_0805_2012MetricR513, R613, R919, R923
43.3KResistor_SMD:R_0805_2012MetricR515, R615, R922, R928
4330RResistor_SMD:R_2512_6332MetricR803, R805, R817, R818
44.7kResistor_SMD:R_0805_2012MetricR1104, R1105, R1107, R1108
45103308-301_Projektbibliothek_HardwarePruefadapter:61201621621J201, J202, J203, J204
46130XX21121_6130122112101_Projektbibliothek_HardwarePruefadapter:61301221121J702, J704, J706, J708
4ADS1115IDGSTPackage_SO:TSSOP-10_3x3mm_P0.5mmU502, U602, U903, U904
4SMAJ24A01_Projektbibliothek_HardwarePruefadapter:D_SMAD704, D708, D712, D716
4SMAJ5.0A01_Projektbibliothek_HardwarePruefadapter:D_SMAD702, D706, D710, D714
3150060GS7500001_Projektbibliothek_HardwarePruefadapter:WL-SMCW_0603_GreenD1102, D1204, D1304
3150060YS7500001_Projektbibliothek_HardwarePruefadapter:WL-SMCW_0603_YellowD1101, D1203, D1303
3186193301_Projektbibliothek_HardwarePruefadapter:PHOENIX_1861933J1102, J1201, J1301
33.3kResistor_SMD:R_0805_2012MetricR1001, R1002, R1008
35.1kResistor_SMD:R_0603_1608MetricR308, R309, R312
3LP5018RSMR01_Projektbibliothek_HardwarePruefadapter:VQFN-32_LP5018RSMRIC1001, IC1002, IC1003
3LSF0102DCTR01_Projektbibliothek_HardwarePruefadapter:SOP65P400X130-8NU202, U203, U1101
2100kResistor_SMD:R_0805_2012MetricR410, R417
2100nF/50VCapacitor_SMD:C_0603_1608MetricC305, C306
2100nF/50VCapacitor_SMD:C_1206_3216MetricC202, C1201
21206L010/60WRFuse:Fuse_1206_3216MetricF1201, F1202
212402012E212A01_Projektbibliothek_HardwarePruefadapter:AMPHENOL_12402012E212AJ301, J401
21uF/50VCapacitor_SMD:C_0603_1608MetricC307, C308
22.2uF/25VCapacitor_SMD:C_0805_2012MetricC408, C409
24.7pF/50VCapacitor_SMD:C_0805_2012MetricC414, C419
24.7uF/25VCapacitor_SMD:C_1206_3216MetricC301, C302
24.7uF/25VCapacitor_SMD:C_0805_2012MetricC416, C417
25.1kResistor_SMD:R_0805_2012MetricR406, R418
256kResistor_SMD:R_0805_2012MetricR422, R423
2BAS716,11501_Projektbibliothek_HardwarePruefadapter:DIO_BAS716_115D401, D402
2CBM321609U181TInductor_SMD:L_1206_3216MetricL1201, L1202
2OPA2990IDR01_Projektbibliothek_HardwarePruefadapter:SOIC127P600X175-8NU802, U804
2SMAJ12A01_Projektbibliothek_HardwarePruefadapter:D_SMAD1201, D1202
2SMAJ15CA01_Projektbibliothek_HardwarePruefadapter:D_SMAD1301, D1302
2WE-MPSB_181201_Projektbibliothek_HardwarePruefadapter:WE-MPSB_1812L301, L303
2~TestPoint:TestPoint_Pad_D1.5mmTP201, TP202
11.3MResistor_SMD:R_0805_2012MetricR415
1100pF/50VCapacitor_SMD:C_0805_2012MetricC406
110kResistor_SMD:R_0603_1608MetricR304
110uF/16VCapacitor_SMD:C_1206_3216MetricC410
110uH01_Projektbibliothek_HardwarePruefadapter:WE-LQS_3015L402
110uH01_Projektbibliothek_HardwarePruefadapter:WE-LQS_5020L403
1110kResistor_SMD:R_0805_2012MetricR412
1160kResistor_SMD:R_0805_2012MetricR419
1180kResistor_SMD:R_0805_2012MetricR416
1186194601_Projektbibliothek_HardwarePruefadapter:PHOENIX_1861946J402
1193319201_Projektbibliothek_HardwarePruefadapter:PHOENIX_1933192J1202
11MResistor_SMD:R_0805_2012MetricR1101
11RResistor_SMD:R_1206_3216MetricR1202
11kResistor_SMD:R_0603_1608MetricR303
11kResistor_SMD:R_1206_3216MetricR702
11uF/50VCapacitor_SMD:C_1206_3216MetricC304
12.4kResistor_SMD:R_0603_1608MetricR313
120KResistor_SMD:R_0805_2012MetricR1106
122uF/25VCapacitor_SMD:C_1206_3216MetricC411
124kResistor_SMD:R_1206_3216MetricR707

The 416 most common of 454 parts.

Questions

How big is the Hardware pruefadapter PCB?

It measures 416 × 130 mm and has 4 copper layers, 1.61 mm thick.

What parts does the Hardware pruefadapter use?

454 parts, built around the ADS1115IDGST, LP5018RSMR, DMP3068L-7 and 0ZCJ0010FF2E. 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 Hardware pruefadapter KiCad files?

From the CodeByMika/technikerarbeit2026-hardwarepruefadapter repository on GitHub, at the commit this page was made from: the board is Hardware/hardware-pruefadapter/hardware-pruefadapter.kicad_pcb and its schematic Hardware/hardware-pruefadapter/Analog-Eingaenge.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Hardware pruefadapter design in my own project?

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

Similar boards

  • 4 layers58.4 × 53.9 mmSensorControlBoard, the printed circuit board in 3D

    SensorControlBoard

    nfe19/Sensor_Board

    A PCB board with firmware to control sensors

    89 parts
  • 2 layers60 × 40 mmCrow mic pod v3, the printed circuit board in 3D

    Crow mic pod v3

    misko/prompt2device

    The separate vNext PCB skill and orchestrator package is available alongside the reference workflow below; existing projects keep their accepted toolchain until an explicit migration.

    44 parts3MIT
  • 4 layers114.3 × 108 mmPellet, the printed circuit board in 3D

    Pellet

    Mouse-GYM/auto-trainer-hardware

    Repository for hardware, firmware, and software related to the Mouse-GYM modules

    202 parts
  • 2 layers170.6 × 121.1 mmEIM, the printed circuit board in 3D

    EIM

    bhorst519/bluecar

    232 parts3
  • 4 layers85 × 76 mmValvedrivers, the printed circuit board in 3D

    Valvedrivers

    npgo22/APRL-Electrical-New

    To use the board templates, set KICADUSERTEMPLATEDIR by:

    145 parts
  • 4 layers85 × 76 mmPressuretransducers, the printed circuit board in 3D

    Pressuretransducers

    npgo22/APRL-Electrical

    PCBs for APRL electrical

    183 parts