Skip to content

Dyson V11 (SV14) notes

David Pye edited this page Oct 10, 2023 · 5 revisions

SV14 (Dyson V11)

Pack hardware is quite similar, with an upgraded low-power version of the SAMD20 and the same BMS IC.

The pack uses the same programming/serial debug header pinout as the SV12 (V10) that this firmware uses.

There are a number of differences, which prevents the firmware from working properly, if flashed onto the SV14.

These differences are:

  • Doesn't have the same LED setup - has a pair of blue LEDs, rather than the status LEDs. This is because the cleaner has its' own screen, so can show problems there. The two LEDs are wired as follows - the one on the right is wired up to the LED_ERR pin, and the other one on the left is wired up to the LED_BLOCKED pin

  • Different serial comms - more complicated serial communication protocol with the cleaner.

  • The charging control pin is wired onto a different pin. It is wired up to PIN_PA01.

So, by making a couple of simple changes to config.h to use the adapted charge pin, it's possible to charge the pack. However, until the serial protocol is figured out, it won't operate the cleaner.

What I have noticed with a few experiements on an original FW pack, which might give some clues how it works:

Comms on the red wire appears to be bidirectional - I suspect the cleaner and pack are doing bidirectional comms on this pin, but it's a struggle to work out (when snooping the wire) what is coming from the pack, and what is coming from the cleaner.

The black wire I think is also bidirectional - but is used to transmit info about whether the cleaner is in BOOST, ECO or MED mode. If you connect just the red wire, the cleaner and pack will operate but the cleaner will remain in MED mode and the button won't allow it to shift to ECO or MID.

The pack comms must be more sophisticated, (as well as with better security), because the screen displays battery lifespan, so it must know the state of the pack's coulomb counter at the very least.

The 0x12 delimited packet series with a 4 byte rolling code (the last 4 bytes of each packet before the 0x12) format still continues.