Skip to the content
4 layers130 × 78.3 mmAD Wandler Validation Board, the printed circuit board in 3D

AD Wandler Validation Board

DerZaske/adc_validation_platform

A precision ADC validation platform for characterizing anlog front-end performance, signal integrity, and coversion accuracy.

Size
130 × 78.3 mm
Copper layers
4
Thickness
1.6 mm
Parts
246
Nets
157
Pads
583
Tracks, vias
847, 241
Pours
20
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
27 Apr 2026
Updated
20 Aug 2026

Overview

AD Wandler Validation Board is an open-source printed circuit board by DerZaske, from the DerZaske/adc_validation_platform repository on GitHub, published under the MIT licence. It is a 4-layer board of 130 × 78.3 mm with 246 parts on 157 nets, routed with 847 tracks and 241 vias.

It is built around the 74AHCT125D, INA240A1D and AD7265BCP. Its parts include 51 capacitors, 46 resistors, 12 ICs and 9 connectors.

Main components

3

README

README.md

ADC Validation Platform

A modular testbed for evaluating analog signal chains in motor control applications


⚠️ Development Status

Work in Progress: This repository is actively developed as part of my Master’s project at HTWG Konstanz. The current README is a draft and will be expanded with hardware designs, firmware, and validation results.


📌 Overview

This repository provides design files, firmware, and validation tools for a custom ADC validation board, developed as an extension to my Bachelor’s thesis the "DIY Power PCB" (HTWG Konstanz, 2025). While the original thesis used the ESP32’s internal ADC (limited by nonlinearity and noise), this platform focuses on:

Core Objectives

  1. External ADC Validation:

    • Replace the ESP32’s internal ADC with a MCP3208/MCP3008 (12/10-bit, 8-channel) or an AD7265 (12bit, dual 3-channel SAR) to quantify improvements in noise floor and linearity for current measurements.
    • Key question: Does an external ADC justify the added complexity/cost in motor control applications?
  2. Full Analog Chain Analysis:

    • Evaluate the entire signal path:
      • Shunt-based current sensing + Operational amplifier (e.g. [MCP6002], [TLV906],...) for low-side measurement
      • Shunt-based current sensing + Currentmeasure amplifier (INA240) for inline measurement
      • Phase current sensors (e.g., [ACS712], [ACS723]...)
    • Goal: Identify the weakest link in the chain (ADC vs. sensors vs. OPVs) and optimize cost/performance trade-offs.
  3. BLDC Motor Control Context:

    • Target application: Precise phase current measurement for FOC (Field-Oriented Control) of BLDC motors.
    • Compare budget vs. high-end components to determine where to invest for maximum accuracy.

🔗 Related Work

  • Bachelor’s Thesis: "DIY Power PCB" (PDF, German) – Foundation for this project, focusing on the ESP32-based power distribution board.
  • Master’s Project: Extends the thesis by adding modular ADC validation and analog chain analysis.

🛠️ Features

  • Hardware: -Analog to Digital Converter(ADC):
    • [MCP3208] with [12]-bit resolution, 100ksps, 8-channel
    • [AD7265] with [12]-bit resolution, 1MSPS, dual 3-channel differntial(=2 seperate 6-channle single-ended)
    • [ESP-32] with [12]-bit resolution, 25ksps, 18-channel
    • optional [MCP3008] with [10]-bit resolution, 200ksps, 8-channel (shares Footprint with MCP3208) -Current measurement
    • [Shunt]
      • [INA240]
      • [MCP6002]
      • [TLE]
  • Firmware:
    • Written in C/C++ using [ESP-IDF]
    • Supports SPI communication and PWM calibration
  • Validation:
    • Automated test scripts (Python)
    • Noise floor analysis and linearity plots

📂 Repository Structure

text
adc-validation-board/
├── hardware/          # KiCad schematics, PCB layouts, BOM
├── firmware/          # Source code for MCU
├── software/          # Test scripts (Python/MATLAB)
├── docs/              # Datasheets, thesis excerpts, results
└── images/            # Photos, plots, diagrams

🚀 Getting Started

Prerequisites

  • Hardware: [List components, e.g., ADC chip, MCU, power supply]
  • Software:
    • KiCad for PCB design
    • Python 3.8+ for test scripts

Installation

  1. Clone the repository:
bash
 git clone https://github.com/your-username/adc-validation-board.git
  1. Open the firmware in [your IDE] and flash it to the MCU.
  2. Run validation tests:
bash
 cd software/tests
 python3 noise_analysis.py

📊 Validation Results

Key findings from the thesis:

  • Noise floor: [X] µV RMS @ [sampling rate]
  • INL/DNL: [Y] LSB (see plot [blocked])
  • Temperature drift: [Z] ppm/°C

Example: Noise spectrum of the ADC at 1 kSPS

🔗 Full results in the thesis [blocked]


🎓 Thesis Summary

Abstract

[2–3 sentences summarizing your thesis goals, e.g.:
"This work evaluates the suitability of the [ADC Model] for precision applications in embedded systems. A custom validation board was designed to measure noise, linearity, and temperature effects, achieving [key result] under [conditions].")

Key Contributions

  • Designed and assembled a low-noise ADC validation platform.
  • Developed firmware for automated calibration and data logging.
  • Validated performance against industry standards (e.g., [reference]).

📄 Download the full thesis (PDF)


🔧 Built With

  • Hardware: KiCad, [ADC Model], [MCU Model]
  • Firmware: C/C++, [ESP-IDF/PlatformIO]
  • Analysis: Python (NumPy, Matplotlib), [MATLAB/Octave]

🤝 Contributing

Contributions are welcome! Open an issue or submit a pull request for:

  • Bug fixes
  • Additional test cases
  • Documentation improvements

📜 License

This project is licensed under the MIT License – see LICENSE for details.


📬 Contact

Fabian Zaske – your.email@example.com
🔗 Portfolio/Website | LinkedIn


"Precision matters – in bits and in life."

Parts

246
QtyValueFootprintReferences
77TestPointTestPoint:TestPoint_Pad_D1.0mmTP1, TP2, TP10, TP11, TP12, TP13, TP14, TP15, TP16, TP17, TP18, TP19, TP20, TP21, TP22, TP23 +61
29SolderJumper_3_OpenJumper:SolderJumper-3_P1.3mm_Open_Pad1.0x1.5mm_NumberLabelsJP1, JP2, JP10, JP11, JP12, JP13, JP14, JP15, JP16, JP17, JP18, JP21, JP22, JP23, JP24, JP25 +13
140.1µFCapacitor_SMD:C_0805_2012MetricC3, C5, C9, C10, C11, C12, C13, C14, C19, C20, C45, C47, C49, C50
131nFCapacitor_SMD:C_0603_1608MetricC6, C7, C8, C16, C17, C31, C32, C33, C34, C35, C36, C37, C38
12100RResistor_SMD:R_0603_1608MetricR25, R26, R27, R28, R29, R30, R37, R38, R39, R40, R41, R42
1210nFCapacitor_SMD:C_0603_1608MetricC25, C26, C27, C28, C29, C30, C39, C40, C41, C42, C43, C44
12NetTie_2Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmNT7, NT8, NT9, NT10, NT11, NT12, NT13, NT14, NT15, NT16, NT17, NT18
847RResistor_SMD:R_0603_1608MetricR31, R32, R33, R34, R35, R36, R43, R44
8~ADC_Validation_Board:691313510002J1, J2, J3, J4, J5, J6, J7, J8
61k 0.1%Resistor_SMD:R_0603_1608MetricR7, R8, R9, R13, R14, R15
620k 0.1%Resistor_SMD:R_0603_1608MetricR10, R11, R12, R16, R17, R18
6SolderJumper_2_OpenJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP19, JP20, JP30, JP31, JP32, JP35
3100nFCapacitor_SMD:C_0805_2012MetricC22, C23, C24
310KResistor_SMD:R_0603_1608MetricR22, R23, R24
310mResistor_SMD:R_2512_6332MetricR4, R5, R6
310µFCapacitor_SMD:C_0805_2012MetricC1, C4, C15
31µFCapacitor_SMD:C_0805_2012MetricC18, C21, C48
32KResistor_SMD:R_0603_1608MetricR19, R20, R21
3ACS712_20A/ACS723_20APackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU1, U2, U3
3INA240A1DPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU5, U6, U7
3NetTie_2NetTie:NetTie-2_SMD_Pad2.0mmNT1, NT2, NT3
210kResistor_SMD:R_0603_1608MetricR2, R3
2470nFCapacitor_SMD:C_0603_1608MetricC46, C51
2MCP6002/TLV9062/OPA314-8pin-SOICPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU4, U8
11.2kResistor_SMD:R_0603_1608MetricR46
1120uFCapacitor_SMD:CP_Elec_6.3x5.9C2
1680RResistor_SMD:R_0603_1608MetricR45
174AHCT125Package_SO:SO-14_3.9x8.65mm_P1.27mmU10
1AD7265Package_QFP:TQFP-32_7x7mm_P0.8mmU11
1Conn_02x04_Odd_EvenConnector_PinHeader_2.54mm:PinHeader_2x04_P2.54mm_VerticalJ9
1ESP WROOM-32 CH340C ExinkoADC_Validation_Board:ESP-32 DIP30U12
1FerriteBead 600R@100MHzInductor_SMD:L_0603_1608MetricFB1
1MCP3008/3208Package_SO:SOIC-16_3.9x9.9mm_P1.27mmU9
1R_TrimPotentiometer_THT:Potentiometer_Bourns_3266Y_VerticalR1

More from DerZaske/adc_validation_platform

1
  • 2 layersAD Wandler Validation Board, the printed circuit board in 3D

    AD Wandler Validation Board

    DerZaske/adc_validation_platform

    A precision ADC validation platform for characterizing anlog front-end performance, signal integrity, and coversion accuracy.

    50 partsMIT

Similar boards

  • 4 layers231 × 67 mmBESC G2, the printed circuit board in 3D

    BESC G2

    galpavlin/BESC-G2

    BESC second generation

    300 parts58
  • 6 layers76 × 46.4 mmRp2350 driver, the printed circuit board in 3D

    Rp2350 driver

    sequoia-hope/rp2350-motor-controller

    An RP2350 based brushless motor controller

    291 parts39
  • 4 layers55.5 × 0 mmGesc, the printed circuit board in 3D

    Gesc

    CTSchorsch/gesc

    DC Motor Controler based on Benjamin Vedders VESC

    159 parts17
  • 4 layers47 × 47 mmMotor Gen2, the printed circuit board in 3D

    Motor Gen2

    RoMeLaUCLA/romela-motor-driver

    Motor driver PCB and firmware designed for RoMeLa actuators.

    151 parts6MIT
  • 4 layers10 × 22.5 mmCircle, the printed circuit board in 3D

    Circle

    osrf/slow_bldc

    52 parts4Apache-2.0
  • 4 layers100.3 × 50.3 mmGreenmobi drive, the printed circuit board in 3D

    Greenmobi drive

    G-Pereira/greenmobi-drive

    A FOC motor drive compatible with VESC

    160 parts1CERN-OHL-S-2.0
  • 2 layers76 × 53 mmSepic, the printed circuit board in 3D

    Sepic

    aguscsc/Model-Predictive-Control-Strategies-for-Fourth-Order-Power-Converters

    This repository contains the design an implementation of a SEPIC (Single-Ended Primary-Inductor Converter) to test and compare the application of model predictive control on fourth-order power converters.

    27 parts
  • 4 layers230 × 152 mmSENTINEL TRM, the printed circuit board in 3D

    SENTINEL TRM

    ajisrawi/sentinel-uhf-radar

    Reference design of a two-face UHF early-warning phased-array radar: system sizing, MoM antenna simulation, seven KiCad PCB projects, Blender site model

    144 parts

Questions

How big is the AD Wandler Validation Board PCB?

It measures 130 × 78.3 mm and has 4 copper layers, 1.6 mm thick.

What parts does the AD Wandler Validation Board use?

246 parts, built around the 74AHCT125D, INA240A1D and AD7265BCP. 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 AD Wandler Validation Board KiCad files?

From the DerZaske/adc_validation_platform repository on GitHub, at the commit this page was made from: the board is Hardware/AD-Wandler-Validation-Board/AD-Wandler-Validation-Board.kicad_pcb and its schematic Hardware/AD-Wandler-Validation-Board/AD-Wandler-Validation-Board.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the AD Wandler Validation 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).