Skip to content

Hardware info

David Pye edited this page Aug 19, 2023 · 18 revisions

Microcontroller: Atmel ATSAMD20 E15A-U Datasheet

Battery Management IC: Texas Instruments BQ7693 U03 Datasheet
NB: This version requires a CRC byte if writing registers.

Mosfet for low side switching - Nexperia PSMN1R0-40YLD N-channel 40 V, 1.1 mΩ, 280 A logic level MOSFET Datasheet

Uses 18650 Lithium-Ion cells in a 7S1P configuration (7 cells in series). Packs have cells from a number of different manufacturers. One pack I have has Molicell INR-18650-P26A cells, rated at 30A discharge current, min voltage 2.5v.

Current shunt resistor: 0.001 Ohm (R12, R001) for measuring pack current consumption and to inform data on pack charge state via the 'coulomb counter' functionality of the BQ7693.

Two thermistors to monitor pack temperature (RT1, RT2)

There's a USART serial link (bidirectional) running at 115200baud between the vacuum cleaner and the battery (the two additional pins in the battery connector). Without correct bidirectional communications between the pack and the vacuum, the vacuum cleaner will not run. The stock pack also disables power output if comms are not established within a few hundred mS - my alternative firmware does not, on the offchance you might want to use the pack for powering something non-Dyson!

Power/sleep: The way the pack works is quite clever - the microcontroller can put the BMS IC to SHIP mode (ultra low power consumption), which turns off the 3v3 rail, meaning the MCU is powered down. The BMS is woken up by either a powered charger being connected (as +v appears on the charge connector, it wakes the BMS from sleep), or by the trigger being pulled. As the BMS wakes, it brings up the 3v3 rail, waking the MCU!

Balancing - in theory possible, but limited in functionality to be so slow, it probably isn't worth enabling! The stock firmware seems to disable it by setting the CELLBAL registers to 0x00. There's no external balancing circuitry installed, so balancing could only be done via the BQ7693 itself. It can handle only 5mA of balancing current per cell (and there are 1K resistors on the sense lines limiting this), and even then, you can't balance adjacent cells simultaneously. There's also a limit on how much heat the BQ7693 package can dissipate while balancing. So trying to balance the pack is likely to take days at best!

Clone this wiki locally