YOU CAN BRING A DEAD DYSON BATTERY BACK TO LIFE WITH FREE FIRMWARE
Dyson left out six resistors worth two cents, and that decision kills the pack permanently when cells drift 300 mV apart — this firmware brings it back.
by tinfever
HomeOpen-hardware
- difficulty
- ●●●●○
- time
- an evening
- license
- GPL-3.0
- repo
- repo ACTIVE936 stars
●●●●○ · an evening · GPL-3.0 · 936 stars · repo ACTIVE
WHAT YOU’LL NEED
Jump to section
COMPAREE VERDICT
If you have a dead Dyson V6 or V7 pack showing 32 red blinks, this firmware can bring it back, as long as the cells themselves are still good. The reason the pack died is that Dyson uses a battery management chip that supports cell balancing, but left out the six resistors needed to make it work. Those resistors cost 2.2 cents for all six. When cells drift about 300 mV apart, the original firmware stops the pack permanently. tinfever wrote replacement firmware that you flash onto the same board with a PICkit programmer. It does not balance the cells, it just stops the pack from bricking itself. The repository has wiring photos, LED codes and reverse-engineered KiCad schematics. The one thing most likely to go wrong: you are working inside a lithium pack that can deliver over 100 amps if shorted, and flashing is one-way — if the cells are truly worn out, firmware will not save them. This is for someone comfortable with a programmer, careful wiring, and the patience to work safely around lithium. If you meet that bar, it is an evening well spent.
IN THE REPO
GOOD TO KNOW
- —Firmware source, wiring diagrams and KiCad schematics are in the repository; the ready-to-flash hex file is on the Releases page.
- —No bill of materials — you need a PICkit programmer and basic soldering tools.
- —README explains the LED codes, flashing procedure and why Dyson packs fail.
- —Flashing cannot be undone. The original firmware is gone.
- —GPL-3.0 with an addendum: any hardware that uses this code must also publish its full schematics and bill of materials.
- —V6 and V7 only. V10 packs have a separate project by davidmpye.
Parts to buy
2 itemsFrom our check of the build. Exact quantities and part numbers are in the creator’s BOM.
Can I build this?
Build at your own risk. Projects involve tools, electronics and sometimes mains voltage — follow the creator’s safety notes.
Videos
tinfever's own demonstration, disassembly and programming video (linked from the README) walks through opening the pack, wiring the PICkit and flashing the firmware.
More builds like this
All projectsGallery
Start here
Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.
- 1.Read the repository README end to end, especially the safety warnings and LED code table (The README explains why Dyson packs fail, what the firmware does differently, and what can go wrong)
- 2.Check your pack model — V6 or V7 only(Match your PCB number to the tested list (V6: 61462, 188002; V7: 279857). V10 packs need a different project (davidmpye/V10_Dyson_BMS); V8 and newer are untested.)
- 3.Get a PICkit 3 or compatible programmer if you do not have one(PICkit 2/3 or clone — you need ICSP capability for the PIC16LF1847)
- 4.Wire the programmer to the BMS board following the repository wiring diagram, flash the hex file, reassemble carefully(Once flashed, the pack will show new LED codes. Test charging and discharging before final reassembly.)
KNOWN ISSUES
- Buying a new pack instead of checking if yours is just imbalanced — an avoidable expense if the cells are fine.
- Flashing without confirming cell voltage first — if cells are genuinely worn out (not just imbalanced), firmware will not help and you waste an afternoon.
- Shorting the pack during disassembly or wiring — over 100 amps available, and one slip ends badly.
- Assuming this works on V8, V10 or newer — it is only tested on V6 and V7 boards. V10 has a separate project, and for anything else check the PCB number against the README's tested list.
- Flashing and finding the pack still will not charge because one cell is dead — firmware cannot fix a failed cell, only imbalance.
- Not reading the LED codes in the README before you start — you will not know if the flash worked or what the pack is telling you.
Will this work on my V8 or V10?
This firmware is tested on V6 and V7 packs only, identified by the PCB number (61462, 188002, 279857). The README lists V10, V11 and newer as probably not compatible, and the creator never did the V8. A separate project by davidmpye (V10_Dyson_BMS) targets V10 packs, and the README points to dr-mark-roberts' open-dyson-battery work for V8 board information. If you are unsure, the creator asks for PCB photos in a GitHub issue.
What if the cells are actually worn out, not just imbalanced?
Firmware cannot fix worn-out cells. Check cell voltages with a multimeter before you flash — if one or more cells are significantly lower or the pack has low capacity even after balancing, you need new cells, not new firmware.
Can I undo the flash if something goes wrong?
No. The original firmware is gone once you flash. Make sure your pack is a candidate (32 red blinks, cells still good) before you commit.
How do I know if my pack is just imbalanced or actually dead?
Open the pack, measure cell voltages. If they are spread more than about 300 mV apart but all still hold reasonable voltage (above 3V per cell), it is likely imbalance. If one or more cells are very low or will not hold a charge, the cells are done.
Community builds
No community builds yet — be the first, we feature the best ones.
Discussion1
FROM THE COMPAREE TEAM
Dyson left out six balancing resistors that cost about 2.2 cents in total, then programmed the pack to brick itself when cells drift apart. If this flash brings your pack back, would you also replace the weakest cell while it is open?
tinfever
tinfever wrote FW-Dyson-BMS after discovering that Dyson uses a battery management chip that supports cell balancing but left out the six resistors needed to make it work — those resistors cost 2.2 cents for all six. The original firmware stops the pack permanently when cells drift about 300 mV apart. His replacement firmware brings the pack back to life on the same board.
DISCLAIMER
- Comparee is not the author of the projects featured here. All rights to each project belong to its creator — every page links to the original source, and we never host creators’ files.
- Information is provided without warranty and may become outdated as projects evolve. Prices are indicative bands only — always check the creator’s parts list for current costs.
- Building and operating any project is at your own responsibility. Protective equipment, safe workshop practice and compliance with local regulations are the builder’s responsibility.
CompareeTEAM13d agoedited
Practical notes from our verification: the repository has the firmware source, reverse-engineered KiCad schematics for the V6 and V7 boards, PCB wiring photos and a PICkit wiring diagram; the flashable hex file is on the GitHub Releases page. There is no bill of materials because you only need a PICkit programmer (or clone) and basic tools. The README links tinfever's own demonstration, disassembly and programming video. The firmware stops the pack from locking itself up permanently when cells drift out of balance, but it does not balance the cells, and it cannot fix a dead cell: the README tells you to make sure every cell is above 3 V before flashing and explains how to recover over-discharged cells first. It supports V6 and V7 batteries; V10, V11 and newer are listed as probably not compatible, so check your PCB number against the tested list. The licence is GPL-3.0 with an addendum requiring public schematics and a BOM for any hardware that uses the code. Correction (4 October 2026): we re-checked this page line by line against the project's own repository, documentation and videos, and fixed errors in earlier versions.