Softwaregesperrte Werkzeug-Akkus reparieren
Mit Know-how können Maker defekte Akkus wieder zum Leben erwecken. Übereifrige BMS setzen Software-Sperren und verwandeln Akkus zu Elektroschrott.
(Bild: Martin Jansson)
- Carsten Wartmann
Moderne Akkuwerkzeug-Akkus enthalten ausgeklügelte Battery-Management-Systeme (BMS), die Zellspannung, Temperatur, Ladezustand und Überlast überwachen. Diese Schutzmechanismen sind grundsätzlich sinnvoll – sie verhindern Schäden an Geräten und Nutzern. Doch was passiert, wenn diese Systeme Fehlalarme auslösen oder temporäre Probleme als permanente Defekte interpretieren?
Die Realität zeigt: Viele Akkus werden durch Software-Lockouts unbrauchbar gemacht, obwohl die Zellen und die Hardware vollkommen intakt sind. Ein kurzzeitiger Spannungsabfall, ein leichtes Zellungleichgewicht nach längerer Lagerung oder ein Firmware-Bug – und der teure Akku wird zum Briefbeschwerer. Die Hersteller bieten meist keine Lösung außer dem Neukauf und selbst in der Garantiezeit kann der Akkutausch umständlich sein.
Zwei bemerkenswerte Open-Source-Projekte nehmen sich nun dieser Problematik an und geben Makern die Werkzeuge in an Hand, ihre Akkus selbst zu reparieren.
Makita LXT: Open Battery Information (OBI)
Der schwedische Entwickler Martin Jansson begann das Projekt vor etwa drei Jahren, nachdem mehrere seiner Makita-Akkus ohne ersichtlichen Grund den Dienst verweigerten. Die klassischen Symptome: Der Akku lässt sich nicht mehr laden, das BMS meldet einen Fehler, aber die Zellen selbst sind in Ordnung.
Janssons ursprüngliche Reverse-Engineering-Versuche mit einem F0513-Mikrocontroller von NEC (Renesas) waren mühsam. Der Durchbruch kam, als er von einem User Romain kontaktiert wurde, der mehrere neuere BMS-Platinen spendete – darunter eine mit einem STM32-Mikrocontroller, bei dem der Read-Protection-Schutz nicht aktiviert war. Innerhalb von fünf Minuten nach Erhalt der Platine konnte Jansson mit Ghidra die Firmware rückentwickeln (Reverse Engineering).
Empfohlener redaktioneller Inhalt
Mit Ihrer Zustimmung wird hier ein externes YouTube-Video (Google Ireland Limited) geladen.
Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit können personenbezogene Daten an Drittplattformen (Google Ireland Limited) übermittelt werden. Mehr dazu in unserer Datenschutzerklärung.
Wie Makita-Akkus kommunizieren
Makita LXT-Akkus nutzen ein auf Maxims OneWire-Protokoll basierendes Kommunikationssystem über den gelben Steckverbinder. Die Timing-Parameter weichen vom Standard ab – vermutlich eine bewusste Verschleierung. Das BMS unterstützt Standard-OneWire-Funktionen wie Reset, Skip-ROM und Read-ROM. Besonders interessant: Es gibt einen versteckten Backdoor-Befehl, der das Protokoll auf Single-Wire-UART umschaltet. Über diesen Zugang lässt sich die komplette Firmware auslesen und sogar der Speicher beschreiben.
Hardware-Anforderungen
Da das OneWire-Protokoll präzises Timing erfordert, funktionieren Standard-Programmer nicht zuverlässig. Jansson entwickelte deshalb den ArduinoOBI – einen Arduino-basierten Programmer, der die zeitkritische Kommunikation übernimmt. Die Hardware beschränkt sich auf einen Arduino mit USB, ein Adapterkabel und ein paar Widerstände.
Was OBI kann
Diagnostik:
- Auslesen aller BMS-Parameter (Zellspannungen, Temperatur, Ladezustand)
- Identifikation von Fehlercodes und Lockout-Zuständen
- Analyse von Zellimbalanzen
Reparatur:
- Reset von Software-Lockouts
- Löschen von Fehlermeldungen im BMS
- Wiederherstellung der Kommunikation zwischen Akku und Ladegerät
Die modulare Architektur von OBI ermöglicht es Entwicklern, Unterstützung für weitere Hersteller hinzuzufügen. Jedes Modul muss lediglich eine get_display_name()-Funktion und eine ModuleApplication-Klasse implementieren. Leider scheint es hier noch keine weiteren Module zu geben.
Installation und Nutzung
Für Anfänger: Die vorkompilierte Windows-EXE aus den GitHub-Releases herunterladen – keine Python-Installation nötig. Allerdings ist das .zip von Chrome als potenziell gefährliche Software deklariert, auch Virustotal warnt. Also besser den Python-Code benutzen:
- Repository klonen
- Python-Abhängigkeiten installieren (pyserial etc.)
- Arduino-Firmware auf den Arduino flashen (Arduino IDE oder PlatformIO)
- Verbindungskabel zum Akku bauen
- Python-GUI starten und Akku diagnostizieren
Community-Feedback
Die Maker-Community hat OBI begeistert aufgenommen. Ein deutscher Nutzer berichtete im Forum „Fingers elektrische Welt“, dass er nach Kontakt mit dem Entwickler eine spezielle Firmware für ältere Akkus erhielt, die mit dem Python-Tool zunächst nicht funktionierten. Ein Konsolenprogramm auf dem Arduino Nano konnte den Akku dann erfolgreich zurücksetzen.
Das Projekt wird aktiv weiterentwickelt und die Dokumentation auf DeepWiki bietet umfassende Einblicke in die Systemarchitektur.
Ryobi ONE+: Detaillierte Fehleranalyse und Firmware-Modifikation
Badar Kayani wurde zum Ryobi-Akku-Hacker, nachdem drei seiner neuen Akkus unerwartet ausgefallen waren. Seine Neugierde fĂĽhrte ihn tief in die Materie: Er kaufte Dutzende defekte Akkus auf eBay, rĂĽckentwickelte die Platine und dokumentierte akribisch alle Fehlermodi und Reparaturschritte.
Empfohlener redaktioneller Inhalt
Mit Ihrer Zustimmung wird hier ein externes YouTube-Video (Google Ireland Limited) geladen.
Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit können personenbezogene Daten an Drittplattformen (Google Ireland Limited) übermittelt werden. Mehr dazu in unserer Datenschutzerklärung.
Das Video ist nicht nur fĂĽr Besitzer von Ryobi-Tools interessant, sondern insgesamt informativ, wie die Herangehensweise an Hardware-Hacking aussehen kann.
Reverse-Engineering der Ryobi PBP005-Platine
Kayani hat einen vollständigen Schaltplan des PBP005-Modells erstellt, der etwa zu 95 Prozent komplett ist. Die Architektur ist typisch für BMS-Schaltungen, mit einigen interessanten Details:
Zentrale Komponenten:
- AFE-Chip: Unbekannter Chip mit der Markierung „3705T“ – vermutlich ein Klon oder Custom-ASIC. Kayani konnte den I²C-Bus sniffen, aber ohne Datenblatt blieb die Kommunikation schwer zu entschlüsseln
- Mikrocontroller: NXP LPC804M101 (ARM Cortex-M0+)
- Load-Detection-Circuit: Erkennt selbst hochohmige Lasten an den Batterieterminals und aktiviert die Entlade-MOSFETs
Debug-Schnittstelle: Das Board verfügt über einen SWD-Tag-Connect-Header, über den sich die Firmware auslesen und modifizieren lässt.
Die acht häufigsten Fehlermodi
Kayani analysierte Dutzende defekte Akkus und katalogisierte folgende Fehlermodi mit ihrer Prävalenz:
Mit 65 Prozent Prävalenz ist der permanente Firmware-Lockout das häufigste Problem. Die Symptomatik: Beim ersten Drücken der Status-Taste blinkt eine LED, bei weiteren Klicks blinken vier LEDs. Der Akku lässt sich weder laden noch entladen.
Kayanis Theorie: Akkus, die längere Zeit gelagert werden, geraten in einen Software-Zustand, in dem das Digitalteil kontinuierlich Strom zieht. Bei einem bestimmten Spannungsniveau während der Entladung setzt die Firmware einen permanenten Lockout. Die meisten betroffenen Akkus waren relativ entladen. Ein weiterer Trigger: Wenn eine Zellbank etwa 0,15 Volt weniger als die anderen hat und die Gesamtspannung in einem bestimmten Bereich liegt, löst das Auflegen auf das Ladegerät einen Lockout aus.
Firmware-Modifikation: Der Heilige Gral
Kayani entdeckte, dass ein einzelnes Byte an Speicheradresse 0x7E90 über den Lockout-Status entscheidet. Ist dieses Byte ungleich null, ist der Akku permanent gesperrt. Wird es auf null gesetzt, lässt sich der Akku wieder normal nutzen.
Benötigte Hardware:
- Tag-Connect-Kabel: TC2030-IDC-NL (verfĂĽgbar bei tag-connect.com) oder TC2030-CTX-NL fĂĽr eine direkte J-Link-Verbindung
- J-Link EDU Mini: Erhältlich bei Adafruit oder anderen Händlern (~50 Euro)
Verkabelung: Kayani musste den Batterie-Adapter von Amazon öffnen und modifizieren, um die SWD-Pins zugänglich zu machen. Detaillierte Diagramme in seinem Artikel zeigen die korrekte Verbindung zwischen Tag-Connect-Kabel und J-Link.
Software-Workflow:
- SEGGER J-Flash: Firmware als HEX-File auslesen (einige gibt es auf GitHub)
- VSCode mit HexEditor-Plugin: Firmware analysieren und Lockout-Byte an Adresse 0x7E90 auf null setzen
- SEGGER J-Flash Lite: modifizierte Firmware zurĂĽck auf den Mikrocontroller flashen
Erfolgsrate: Kayani konnte fünf fast neue Akkus (alle um 3 V/Zelle) allein durch das Löschen des Lockout-Bits wiederbeleben. Nach dem Flashen ließen sie sich direkt auf einem Standard-Ryobi-Ladegerät laden, ohne weitere Eingriffe.
Der J1-Reset-Trick
Für weniger schwerwiegende Lockouts gibt es einen einfacheren Weg ohne weitere Hardware, nur der Akku muss geöffnet werden, einen Versuch ist es wert!
J1-Reset-Prozedur:
- Status-Taste drĂĽcken
- J1-Jumper kurzschlieĂźen
- Status-Taste erneut drĂĽcken, LEDs 2 und 4 leuchten
- J1-Jumper öffnen
- Fertig
Dieser Reset funktioniert bei Soft-Lockouts und manchen Zellimbalanzen. Kayani betont, dass viele Reddit-Threads ĂĽber diesen Trick berichten, aber oft nicht zwischen verschiedenen Lockout-Typen unterscheiden.
Ungelöste Fehlermodi
Einige Batterien zeigten Ladefehler, bei denen das Ladegerät sie nicht erkannte. Kayani identifizierte die T1-Schaltung als Problemquelle, konnte aber trotz Kurzschluss-Tests zur Fehlereingrenzung keine dauerhafte Lösung finden. Das Fehlen von Teilenummern für einige Transistoren und die Gefahr, V_BATT an falsche Stellen zu leiten, erschwerten die Reparatur.
Videos by heise
Die ethische Frage
Kayani wirft eine wichtige Frage auf: Ist dieser Ansatz mit übermäßigen Firmware-Checks und -Lockouts wirklich besser für Sicherheit und Langlebigkeit? Einerseits will man Katastrophen vermeiden, andererseits haben diese Systeme eine hohe Fehlalarm-Rate, die funktionierende Akkus zu Elektroschrott macht.
Der Zyniker würde vermuten, dass Ryobi bewusst Obsoleszenz einbaut. Kayani glaubt das nicht – Ryobi gewährt drei Jahre Garantie, und seine eigenen Akkus waren jünger als ein Jahr, als sie ausfielen. Sie wurden problemlos ersetzt (wobei ein Ersatz-Akku ebenfalls bald darauf ausfiel).
Seine These: Ryobi hatte gute Absichten beim Design der Sicherheitssysteme, testete aber nicht gründlich genug, um Fehlalarme zu verhindern. Ein permanenter Lockout ohne Self-Reset-Option war möglicherweise ein Designfehler, kein Feature.
Sicherheitsaspekte und Rechtliches
Disclaimer: Beide Projekte betonen, dass Arbeiten mit Lithium-Akkus gefährlich sein können. Nutzer sind für ihre eigene Sicherheit verantwortlich und sollten Best Practices befolgen.
Garantie: Öffnen und Modifizieren von Akkus erlischt in der Regel die Garantie. Bei Akkus, die noch in der Garantiezeit sind, sollte man zunächst den Hersteller-Service kontaktieren.
Gewährleistung: Die Entwickler übernehmen keine Haftung für Schäden, die durch die Nutzung ihrer Tools entstehen. Beide Projekte sind rein zu Bildungs- und Reparaturzwecken gedacht.
Right to Repair: Diese Projekte sind Paradebeispiele für die Right-to-Repair-Bewegung. Sie ermöglichen Nutzern, teure Hardware zu reparieren, statt sie zu entsorgen – ein wichtiger Beitrag zur Nachhaltigkeit.
Fazit
Die Projekte von Martin Jansson und Badar Kayani zeigen eindrucksvoll, was mit Reverse-Engineering, Durchhaltevermögen und Open-Source-Philosophie möglich ist. Sie verwandeln Elektroschrott in funktionierende Werkzeuge und geben Makern die Kontrolle über ihre Hardware zurück.
FĂĽr wen sind diese Projekte geeignet?
- Makita OBI: ideal für Maker mit Arduino-Erfahrung, die diagnostizieren und Software-Lockouts zurücksetzen wollen. Die Plugin-Architektur lädt zum Experimentieren ein.
- Ryobi-Reparatur: eher für fortgeschrittene Maker mit Elektronik-Kenntnissen. Firmware-Modifikation erfordert spezialisierte Hardware (J-Link) und Verständnis für Low-Level-Debugging.
Beide Projekte sind aktiv und offen für Beiträge. Für Leser etwa mit einem defekten Akkuschrauber-Akku könnte es sich lohnen, diese Projekte auszuprobieren – und vielleicht tragen Leser mit ihren Erkenntnissen zur weiteren Entwicklung bei.
Die Botschaft ist klar: Nur weil ein Hersteller sagt „nicht reparierbar", heißt das nicht, dass es stimmt. Mit den richtigen Tools und Community-Wissen können Maker ihre Geräte länger nutzen und gleichzeitig Elektroschrott reduzieren
Siehe auch:
- Open Battery Information (OBI) bei heise download
(caw)