Skip to the content
PCBKitNew board
2 layers95 × 100 mmCellDoc Nano, the printed circuit board in 3D

Jeder Test legt die Zelle mit einer festen Nummer an. Die Nummer kommt mit einem Etikettendrucker auf die Zelle, der QR-Code darauf öffnet die Zelle später direkt in CellDoc.

Size
95 × 100 mm
Copper layers
2
Thickness
1.6 mm
Parts
28
Nets
19
Pads
89
Tracks, vias
220, 8
Pours
7
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
25 Oct 2026
Updated
29 Oct 2026

Overview

CellDoc Nano is an open-source printed circuit board by mariofritzer, from the mariofritzer/CellDoc repository on GitHub, published under the MIT licence. It is a 2-layer board of 95 × 100 mm with 28 parts on 19 nets, routed with 220 tracks and 8 vias.

It is built around the AO3400 and AO3401. Its parts include 8 resistors, 4 transistors, 4 connectors, 3 ICs and 1 capacitor. It belongs with the ESP32 and RISC-V boards of this library.

Main components

2

README

README.md

CellDoc

Diagnose für Akkuzellen. Ein ESP32-Prüfstand, der Akkus lädt, mit konstantem Strom entlädt, dabei Kapazität, Energie und Innenwiderstand misst und am Ende eine Lebenszahl von 0 bis 100 ausgibt. Bedient wird alles über eine Weboberfläche im Browser, am Handy wie am PC.

CellDoc Weboberfläche: laufender Kapazitätstest mit Akkuanzeige, Temperaturen, Testablauf und Entladekurve

Ausprobieren ohne Hardware: Demo im Browser (Beispielwerte) · Installieren: Webflasher

Was CellDoc kann

  • Kapazitätstest in einem Durchgang: voll laden → ruhen → mit Konstantstrom entladen → erholen → wieder voll oder auf Lagerspannung laden
  • Innenwiderstand (DC) per Stromsprung, mehrmals während der Entladung, ausgewertet bei 100 % und 50 % Ladung
  • Lebenszahl aus Kapazität und Innenwiderstand, mit Zelltyp-Datenbank und Schätzmodus für unbekannte Zellen
  • Zwei Anschlüsse: A für Einzelzellen (laden und entladen), B für Packs bis 6S mit Balancer-Messung jeder Einzelzelle
  • Akkutypen: Li-Ion, LiPo, Li-HV, LiFePO4, LTO, NiMH/NiCd und Blei
  • Bis 30 W / 8 A Entladeleistung mit zwei Lastkanälen und Lüfter
  • Sicherheit: drei Temperaturfühler mit Drosselung und Abschaltung, Über- und Unterspannung pro Zelle, Überstrom, Lüfter- und Sensorausfall, Not-Aus-Taste
  • Ergebnisse mit Entladekurve, Ri-Verlauf und Vergleich zum ersten Test derselben Zelle
  • Zellenbestand mit fester Nummer je Zelle (CD-0042), Suche nach Nummer, Name, Lagerort oder Notiz und Note A–D
  • Etiketten mit Nummer, QR-Code und Messwerten als Bild für Etikettendrucker wie Supvan E16 oder Niimbot
  • Selbstentladungstest über 7–14 Tage, findet Zellen mit innerem Kurzschluss
  • Pack zusammenstellen: sucht gleich starke Zellen für z. B. 10S4P, verteilt sie gleichmäßig auf die Parallelgruppen und zeichnet einen druckbaren Bauplan mit Nickelbändern und Balancer-Abgriffen
  • Zyklentest mit Kapazität je Zyklus, Kurvenvergleich mehrerer Tests und Spannungscheck beim Wiedereinstecken einer Zelle
  • Mehrere Geräte, ein Bestand: CellDoc und Mini im selben WLAN teilen sich Zellen und Nummern
  • Home Assistant über MQTT mit automatischer Erkennung, Datensicherung und CSV-Export
  • Handbuch direkt im Gerät: Akkutypen, Bauformen, Stecker, Messwerte, Sicherheit, Lagerung und Entsorgung
  • Display und Taster (optional, wie bei der Mini): Messwerte, Temperaturen, Balancer, IP-Adresse; Test starten und stoppen direkt am Gerät
  • Firmware-Updates über den Browser, WLAN-Einrichtung direkt im Webflasher oder über einen eigenen Hotspot

Bilder

LiveErgebnisseErgebnis im Detail
Live-Ansicht am HandyListe der geprüften AkkusErgebnis mit Lebenszahl im dunklen Design
Test startenHandbuchEinstellungen
Startdialog für einen KapazitätstestHandbuch mit AkkutypenEinstellungen

Fotos vom fertigen Aufbau folgen.

Zellenbestand und Etiketten

Jeder Test legt die Zelle mit einer festen Nummer an. Die Nummer kommt mit einem Etikettendrucker auf die Zelle, der QR-Code darauf öffnet die Zelle später direkt in CellDoc. Beim nächsten Test wird sie aus dem Bestand gewählt und automatisch mit dem ersten Test verglichen.

BestandZelleEtikettPack
Zellenbestand mit Suche, Filtern und NotenZelle mit Messwerten, Angaben und SelbstentladungEtikett-Vorschau mit EinstellungenPack 7S2P mit gleichmäßig verteilten Zellen
Etikett 40 × 14 mm mit QR-Code, Nummer CD-0005, Kapazität, Innenwiderstand, Note und Datum Bauplan für ein Pack 7S2P: Zellen mit Nummer und Polung, Nickelbänder oben und unten, Balancer-Abgriffe B− bis B+
  • Etiketten: 12–15 mm breit, 30–50 mm lang, 203 dpi, reines Schwarz-Weiß. Für den Supvan E16: Bild speichern und in der Katasymbol-App als Bild einfügen. Für viele Zellen auf einmal gibt es eine CSV-Liste für den Tabellenimport der App.
  • QR-Code scannen: in der Weboberfläche über die Handykamera (Foto, über HTTPS auch live) oder mit einem optionalen Scanner-Modul (GM861S) direkt am Gerät. Die Zelle öffnet sich oder wird für den nächsten Test ausgewählt. Bei der Mini landet sie im Schacht, in den sie gesteckt wird.
  • Suche: „42“ findet CD-0042, Wörter finden Name, Lagerort, Notiz oder Pack. Filter für Note A–B, „Prüfen“, verbaut und ausgemustert.
  • Selbstentladung: Nach einem Test mit „Danach voll laden“ merkt sich CellDoc nach einer Stunde die Spannung. Nach 7–14 Tagen nachmessen, unter 3 mV pro Tag ist gut.
  • Pack zusammenstellen: Serie und Parallel eingeben, CellDoc sucht passende Zellen, verteilt sie so, dass jede Parallelgruppe gleich viel Kapazität hat, und markiert sie auf Wunsch als verbaut.
  • Bauplan: zeigt für jede Zelle Platz und Richtung, die Nickelbänder auf Ober- und Unterseite und die Balancer-Abgriffe B0 bis Bn, zum Drucken oder als SVG.
  • Mehrere Geräte: Jedes Gerät bekommt einen Namen (z. B. celldoc und celldoc-mini), die anderen werden als Partner eingetragen oder gesucht. Bestand und Nummern gleichen sich dann von selbst ab.
  • Home Assistant: Broker unter Einstellungen → MQTT eintragen, CellDoc erscheint von selbst als Gerät mit allen Messwerten und einer Stopp-Taste.
  • Datensicherung: Bestand, Ergebnisse und Einstellungen als Datei sichern und wieder einspielen, dazu CSV-Export für Excel.

Hardware

Schaltplan

3D-Ansicht des Aufbaus (Anordnungsvorschlag):

3D-Ansicht des Aufbaus: Grundplatte mit Lochraster, ESP32, Messmodulen, Relais, Lader, CPU-Kühler mit MOSFETs, 18650-Halter und XT60

Anschlussplan mit allen Modulen und Kabelfarben:

Anschlussplan in der Draufsicht mit Beschriftung aller Module und Legende der Kabelfarben
Blockschaltbild Blockschaltbild

ESP32 DevKit, 2× INA226 (Strom/Spannung), MCP4725 + LM358 + 2× IRFP250N (Konstantstromlast), TP5000 (Lader 4,2/3,6 V), 2× ADS1115 (Balancer), 3× DS18B20, zwei Relais, CPU-Kühler mit 4-Pin-Lüfter, Versorgung über USB-C (PD-Decoy auf 12 V).

Statt des ESP32 DevKit V1 geht auch ein ESP32-S3-DevKitC-1 N16R8 (mehr Speicher, RGB-Statusleuchte). Dafür gibt es eigene Schaltpläne und Firmware-Dateien mit -s3 im Namen. Der Webflasher erkennt den Chip selbst.

Schaltung, Pinbelegung, optionaler QR-Scanner und Einkaufsliste: docs/hardware.md

CellDoc Mini

Die kleine Version nur für 18650 Li-Ion: laden, entladen, Kapazität, Innenwiderstand und Lebenszahl, in drei Größen mit 1, 2 oder 4 Schächten, die gleichzeitig laufen. Versorgung über USB-C, ein TP4056 und eine kleine Konstantstromlast pro Schacht (2 A bzw. 1 A bei vier Schächten), optional ein OLED mit drei Tastern. Weboberfläche und Ergebnisse sind dieselben wie beim großen CellDoc.

Weboberfläche der CellDoc Mini 4 mit Schachtübersicht

Schaltpläne für alle drei Varianten, Stücklisten und Bedienung: docs/mini.md · Demo Mini 4

CellDoc Nano

Die kleinste Variante mit rund zwölf Teilen: ein Schacht für 18650, ein ESP32-C3 SuperMini, ein INA226, ein TP4056 und ein fester Lastwiderstand (3 Ω), den die Firmware per PWM auf Konstantstrom regelt (bis 1,2 A, empfohlen 0,8 A). Strom kommt über die USB-C-Buchse des C3, bedient wird sie über die BOOT-Taste und die LED auf dem Board oder ganz normal über die Weboberfläche. Kapazität, Innenwiderstand, Lebenszahl, Bestand, Etiketten, MQTT und Sync wie bei den großen Geschwistern.

Schaltplan, Stückliste und Bedienung: docs/nano.md · Demo Nano

Firmware installieren

Erstinstallation per USB

Am einfachsten mit dem CellDoc Webflasher: ESP32 per USB anschließen, im Chrome oder Edge Gerät wählen (CellDoc, Mini 1, 2, 4 oder Nano), Verbinden und installieren. Er spielt immer den neuesten Stand von main auf.

Von Hand: unter Releases die Datei celldoc-factory.bin laden (Mini: celldoc-mini1-factory.bin, -mini2- oder -mini4-, Nano: celldoc-nano-factory.bin) und mit dem ESP Web Flasher von Espressif an Adresse 0x0 schreiben.

Alternativ mit PlatformIO: pio run -t upload

Updates

Unter Einstellungen → Firmware-Update die Datei celldoc-firmware.bin hochladen (Mini: celldoc-mini<n>-firmware.bin, Nano: celldoc-nano-firmware.bin). Einstellungen und Ergebnisse bleiben erhalten.

Erste Schritte

  1. WLAN direkt im Webflasher: Nach der Installation fragt der Webflasher nach dem WLAN („Connect to Wi-Fi“). Netz wählen, Passwort eingeben, fertig, „Visit Device“ öffnet die Oberfläche. Das geht auch später ohne neu zu flashen: verbinden und „Change Wi-Fi“ wählen. Ohne diesen Schritt öffnet CellDoc den Hotspot CellDoc-XXXX mit dem Passwort celldoc1. Verbinden, die Seite öffnet sich automatisch, sonst http://192.168.4.1 aufrufen.
  2. Im Hotspot unter Einstellungen → WLAN das Heimnetz wählen und speichern. Danach ist CellDoc unter http://celldoc.local oder seiner IP erreichbar.
  3. Einstellungen → Temperaturfühler: prüfen, dass Zelle, Pack und Kühlkörper richtig zugeordnet sind.
  4. Einstellungen → Kalibrierung: Spannung und Strom einmal mit dem Multimeter abgleichen.
  5. Live → Starten: Zelltyp wählen, Strom einstellen, los.

Die Lebenszahl

ZelltypGewichtungKapazitätInnenwiderstand
bekannt70 % Kapazität, 30 % Ri100 % Nennwert = 100 Punkte, 60 % = 0Neuwert = 100 Punkte, 2,5-facher Neuwert = 0
unbekannt50 / 50gegen typischen Wert der Chemiefeste Grenzen pro Zelle

Bei unbekannten Zellen zeigt CellDoc einen Bereich (z. B. „≈ 55–70 %“). Die hinterlegten Ri-Neuwerte sind Richtwerte für den DC-Innenwiderstand und lassen sich beim Start überschreiben. Die Berechnung liegt in src/soh.h und wird mit test/test_soh.cpp bei jedem Build geprüft.

Selbst bauen

bash
pip install platformio
pio run -e esp32dev            # baut Firmware und bettet web/index.html ein
pio run -e esp32dev -t upload  # flasht per USB
pio run -e mini2 -t upload     # CellDoc Mini mit 2 Schächten (mini1, mini2, mini4)
pio run -e nano -t upload      # CellDoc Nano (ESP32-C3 SuperMini)
pio device monitor             # serielle Ausgabe, 115200 Baud

Die Weboberfläche ist eine einzelne Datei: web/index.html. Direkt im Browser geöffnet startet sie im Demo-Modus, praktisch zum Entwickeln ohne Gerät. Beim Bauen packt tools/embed_web.py sie komprimiert in die Firmware.

PfadInhalt
src/config.hPins und harte Grenzwerte
src/hal.*Messung, Last-Regelung, Lader, Relais, Lüfter
src/tester.*Testablauf, Ri-Messung, Sicherheitsüberwachung
src/profiles.hAkkuchemien und Zelltypen
src/soh.hLebenszahl und Note
src/cells.*Zellenbestand, Selbstentladung
src/mqtt.*Home Assistant über MQTT
src/sync.*gemeinsamer Bestand mehrerer Geräte
src/scanner.*QR-Scanner-Modul
src/web_data.cppBestand, Datensicherung und Uhrzeit über die REST-API
src/web.*WLAN, REST-API, Firmware-Update
src/mini/CellDoc Mini und Nano: Schächte, OLED, eigene Web-API (hal_nano.cpp = Nano-Hardware)
web/index.htmlWeboberfläche inkl. Handbuch

Jeder Push auf main baut die Firmware über GitHub Actions und aktualisiert die Vorabversion latest. Ein Tag v1.2.3 erzeugt ein normales Release.

Status

Firmware und Weboberfläche sind vollständig, auf echter Hardware aber noch nicht erprobt. Vor dem ersten Test mit wertvollen Akkus bitte mit einer günstigen Zelle und kleinem Strom anfangen und die Werte mit einem Multimeter vergleichen.

Sicherheit

Lithium-Akkus können bei Fehlern brennen. Tests mit hohen Strömen und LiPo-Packs nur auf nicht brennbarer Unterlage und nicht unbeaufsichtigt durchführen. Die Schutzfunktionen der Firmware ersetzen keine Aufsicht. Nachbau und Nutzung auf eigene Verantwortung.

Lizenz

MIT © 2026 Mario Fritzer. Der eingebaute QR-Leser ist jsQR (Apache-2.0).

Die Idee geht auf das ESP32 Smart Battery Dashboard von LifeTronix zurück. Hardwarekonzept, Firmware und Oberfläche von CellDoc sind eigenständig neu entwickelt.

Parts

28
QtyValueFootprintReferences
410kR_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR1, R2, R5, R8
4MountingHole_3.2mm_M3MountingHole_3.2mm_M3H1, H2, H3, H4
3AO3400SOT-23Q1, Q3, Q4
24k7 opt.R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR6, R7
1100uF 10VCP_Radial_D6.3mm_P2.50mmC1
118650-HalterCellDoc:18650_Halter_KabelBT1
11kR_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR3
13 A flink 5x20CellDoc:Sicherungshalter_Kabel_5x20F1
13R 50WCellDoc:Lastwiderstand_50W_AluRL
14k7R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR4
1AO3401SOT-23Q2
1DS18B20 Last opt.TerminalBlock_Phoenix_PT-1,5-3-3.5-H_1x03_P3.50mm_HorizontalJ3
1DS18B20 ZelleTerminalBlock_Phoenix_PT-1,5-3-3.5-H_1x03_P3.50mm_HorizontalJ2
1ESP32-C3 SuperMiniCellDoc:ESP32-C3_SuperMiniU1
1INA226 (Shunt R010)CellDoc:INA226_CJMCU-226U2
1OLED opt.PinHeader_1x04_P2.54mm_VerticalJ4
1QR GM861S opt.PinHeader_1x04_P2.54mm_VerticalJ5
1Summer 5VBuzzer_12x9.5RM7.6BZ1
1TP4056 USB-CCellDoc:TP4056_USB-C_ProtectedU3

Questions

How big is the CellDoc Nano PCB?

It measures 95 × 100 mm and has 2 copper layers, 1.6 mm thick.

What parts does the CellDoc Nano use?

28 parts, built around the AO3400 and AO3401. 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 CellDoc Nano KiCad files?

From the mariofritzer/CellDoc repository on GitHub, at the commit this page was made from: the board is hardware/nano-pcb/CellDoc-Nano.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the CellDoc Nano 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 layers55 × 80 mmBoard esp32 v2, the printed circuit board in 3D

    Board esp32 v2

    sudomesh/disaster-radio

    A (paused) work-in-progress long-range, low-bandwidth wireless disaster recovery mesh network powered by the sun.

    101 parts1.1k
  • 2 layers155.5 × 130 mmEinkpicframe, the printed circuit board in 3D

    Einkpicframe

    Spritetm/picframe_colepd

    A WiFi picture frame allowing for remote photo uploads, using an ESP32-C3 and a 5.6" color E-ink display

    60 parts97
  • 2 layers84.3 × 64.5 mmTapeshnik proto, the printed circuit board in 3D

    Tapeshnik proto

    svofski/tapeshnik

    compact cassette data drive

    138 parts14
  • 2 layers53 × 93 mmEink digit clk, the printed circuit board in 3D

    Eink digit clk

    Spritetm/eink_digit_clock

    Clock which uses E-ink panels as separate digits

    58 parts9
  • 2 layers190 × 109 mmIOB v3.2.1, the printed circuit board in 3D

    IOB v3.2.1

    ADFTech/xtec-uc-ip-main-pcb

    KiCad hardware repo for the UC-IP main PCB (currently: IOB board family). This README documents the review-and-release process used to get a schematic/PCB change from an engineer's desk to fabrication.

    538 parts
  • 2 layers233.5 × 103 mmNailPrinter PCB, the printed circuit board in 3D

    NailPrinter PCB

    Novitech3D/Open-Nail-Printer

    An open-source nail art printer.

    37 parts
  • 2 layers14.9 × 7.5 mmPowerSwitch, the printed circuit board in 3D

    PowerSwitch

    iNavFlight/hardware

    INAV I2C IO Expander board offers 8 digital outputs.

    10 parts11
  • 2 layers93.5 × 34 mmSwitch celda, the printed circuit board in 3D

    Switch celda

    DeniseViltes/Tesis

    Repositorio personal del TIF

    26 parts1