Open Gucioo opened 9 months ago
I verified pinouts for V15 and enabled Serial Debug as David mentioned in other topic
RESET PA31 SWDIO PA30 SWCLK PA00 PA11 - Rx Sercom0 > PA10 - Tx Sercom0 GND Vdd (3.3v)
So PA10 and PA11 can be connected to a USB-serial converter or similar at 115200baud and you can see the debug output.
By setting temp limits to - 300 & -400 battery pack is charging and giving output when trigger is pressed.
#define MIN_PACK_CHARGE_TEMP -300 //'C - if less than this, no charge.
#define MIN_PACK_DISCHARGE_TEMP -400 //'C - if less than this, no discharge
This is output from debug serial: _Dyson V10 BMS Aftermarket firmware init (C) David Pye davidmpye@gmail.com GNU GPL v3.0 or later Pack cell voltages: Cell 0: 3659 mV, min 2500 mV, max 4200 mV Cell 1: 3686 mV, min 2500 mV, max 4200 mV Cell 2: 3667 mV, min 2500 mV, max 4200 mV Cell 3: 3651 mV, min 2500 mV, max 4200 mV Cell 4: 3745 mV, min 2500 mV, max 4200 mV Cell 5: 3749 mV, min 2500 mV, max 4200 mV Cell 6: 3742 mV, min 2500 mV, max 4200 mV bms_mainloop: Entering state BMS_IDLE bms_mainloop: Entering state BMS_DISCHARGING bms_mainloop: Entering state BMS_FAULT Starting discharge Discharging at 0 mA, 1000 mAH, capacity 2000 mAH, Temp -56'C Discharging at 8 mA, 1000 mAH, capacity 2000 mAH, Temp -56'C bms_mainloop: Entering state BMSIDLE
I will have to check temperature reading equation, initially looks fine, you are reading TS2_HI register. I measured around 0.876 V on RT1 & RT2 in ambient temp 22.5 deg C. For bq76930 maybe reading TS1 and TS2 would be also nice.
int bq7693_read_temperature() {
//Returns 'C * 10 eg 217 = 21.7'C
volatile uint8_t scratch[3];
volatile int adcVal = 0;
volatile unsigned long rts;
volatile int vtsx;
volatile float tmp;
bq7693_read_register(TS2_HI_BYTE, 3, scratch);
adcVal = ((scratch[0]&0x3F)<<8);
adcVal |= scratch[2]; //ignore the unwanted CRC byte.
// calculate R_thermistor according to bq769x0 datasheet
vtsx = adcVal * 0.382; // mV
rts = 10000.0 * vtsx / (3300.0 - vtsx); // Ohm
// Temperature calculation using Beta equation
// - According to bq769x0 datasheet, only 10k thermistors should be used
// - 25°C reference temperature for Beta equation assumed
tmp = 1.0/(1.0/(273.15+25) + 1.0/3435 *log(rts/10000.0)); // K
volatile int result = (tmp - 273.15)* 10;
return result;
}
Hi!
Great work you've done so far - that is fantastic work!
I haven't tried the exact battery you've got in the picture, so I am not surprised things don't quite work right.
On the V10: I did try reading TS1 but only ever got garbage, so I gave up - only TS2 seems tor return a sensible value on the 76930.... I don't know why, as there are two thermistors. I did wonder if one was wired up to an ADC pin on the SAMD20 instead of to TS1?
What BMS IC is your pack using? Is it the same? I can make out BQ76????
The serial protocol is a real pain - I managed to get it working on the Dyson V10s by using a Chinese clone battery and just copying it's very simple serial protocol. It is more complex on newer ones because it has to convey amount of charge so the cleaner can change power modes. I have hit a bit of a wall here on the newer ones for that reason.
I can currently think of several solutions to get around the serial protocol problem:
1) Try to dump the original dyson firmware from the packs and reverse engineer the serial protocol that way. It's hard work, and it is technically quite challenging because of the protection on the SAMD20. You'd have to try to glitch-attack the chip-erase - I am not sure if the SAMD20 is vulnerable to this or not.
2) Find someone who is interested enough to see if they can spot patterns and work out how to provide the code values the cleaner expects.
3) Write new firmware for the dyson itself and flash it, so it doesn't use silly serial-code any more
4) Get a cheap chinese clone battery and see if you can copy its' protocol functions.
Hello, I currently have a V11 vacuum cleaner around me and its battery cannot start normally. I would like to ask if you can share the new firmware you compiled so that I can try to save my v11 battery. Thank you.
Hi,
Sorry, I do not have any firmware that will work with a dyson V11.
The serial protocol has changed (no doubt to make it harder to make clone packs), and I have not yet managed to duplicate it well enough for the cleaner to work.
I don't think anybody else has done it yet either....
David
On Tue, 26 Mar 2024 at 00:22, Suenbrad @.***> wrote:
Hello, I currently have a V11 vacuum cleaner around me and its battery cannot start normally. I would like to ask if you can share the new firmware you compiled so that I can try to save my v11 battery. Thank you.
— Reply to this email directly, view it on GitHub https://github.com/davidmpye/V10_Dyson_BMS/issues/8#issuecomment-2019149877, or unsubscribe https://github.com/notifications/unsubscribe-auth/AARIHYJPZMUA5FLSIUBKV7LY2C5TRAVCNFSM6AAAAABCCKASBKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMJZGE2DSOBXG4 . You are receiving this because you commented.Message ID: @.***>
Hi!
Great work you've done so far - that is fantastic work!
I haven't tried the exact battery you've got in the picture, so I am not surprised things don't quite work right.
On the V10: I did try reading TS1 but only ever got garbage, so I gave up - only TS2 seems tor return a sensible value on the 76930.... I don't know why, as there are two thermistors. I did wonder if one was wired up to an ADC pin on the SAMD20 instead of to TS1?
What BMS IC is your pack using? Is it the same? I can make out BQ76????
The serial protocol is a real pain - I managed to get it working on the Dyson V10s by using a Chinese clone battery and just copying it's very simple serial protocol. It is more complex on newer ones because it has to convey amount of charge so the cleaner can change power modes. I have hit a bit of a wall here on the newer ones for that reason.
I can currently think of several solutions to get around the serial protocol problem:
- Try to dump the original dyson firmware from the packs and reverse engineer the serial protocol that way. It's hard work, and it is technically quite challenging because of the protection on the SAMD20. You'd have to try to glitch-attack the chip-erase - I am not sure if the SAMD20 is vulnerable to this or not.
- Find someone who is interested enough to see if they can spot patterns and work out how to provide the code values the cleaner expects.
- Write new firmware for the dyson itself and flash it, so it doesn't use silly serial-code any more
- Get a cheap chinese clone battery and see if you can copy its' protocol functions.
It is also BQ76930, but didn't manage yet to get proper readings from TS1 or TS2.
To decode protocol: Option 1 - more likely to hard for myself Option 2 + most probable, I could duplicate protocol, but I have to figure out voltage levels and connections there Option 3 - Dyson is still in use, I've got new battery (This could help to copy protocol actually) Option 4 - Couldn't find clone for this one
Anyway, now I don't have to much time to follow up this topic. You did great job and huge thanks to you. Some day, I may re-work this.
Hello , first big respect to You Gays for this project!
I have on table battery from V11 (SV17)
Anyone , know now more? or still not possiblle?
I have also a Chinsese PCB for this battery, maybe we can download firmware from and make something?
Still not possible as far as I know.
The work that needs to be done is understanding the serial protocol (or enough of it) to make the cleaner work.
I did use a Chinese battery pack for a V10 to figure out the serial protocol. It might be possible to do similar for V11 but it will require somebody to do the work and figure out what needs to be sent and received between the two.
David
On Wed, 29 May 2024, 07:59 WolfDawid, @.***> wrote:
Hello , first big respect to You Gays for this project!
I have on table battery from V11 (SV17)
Anyone , know now more? or still not possiblle?
I have also a Chinsese PCB for this battery, maybe we can download firmware from and make something?
— Reply to this email directly, view it on GitHub https://github.com/davidmpye/V10_Dyson_BMS/issues/8#issuecomment-2136677374, or unsubscribe https://github.com/notifications/unsubscribe-auth/AARIHYNGVFTEYQKAMX5V2X3ZEV4GZAVCNFSM6AAAAABCCKASBKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMZWGY3TOMZXGQ . You are receiving this because you commented.Message ID: @.***>
Hi
Yes I have Chinese PCB for v11 but I Don't know how read flash from.
It probably is NOT straightforward to read the flash, and even if you did, it'll be for a different MCU and probably need quite a lot of work to make any use of it.
I don't have the skills to be able to reverse engineer it, even if it could be downloaded out of the pack.
Trying to work out what serial comms it uses is where I'd start.
David
On Wed, 29 May 2024 at 19:47, WolfDawid @.***> wrote:
HiYes I have Chinese PCB for v11 but I Don't know how read flash from. Wysłano z PORSCHE DESIGN HUAWEI Mate 20 RS-------- Oryginalna wiadomość --------Od: David Pye @.>Data: śr., 29 maj 2024, 18:54Do: davidmpye/V10_Dyson_BMS @.>DW: WolfDawid @.>, Comment @.>Temat: Re: [davidmpye/V10_Dyson_BMS] V11 and V15 (SV22) Support (Issue #8) Still not possible as far as I know.
The work that needs to be done is understanding the serial protocol (or
enough of it) to make the cleaner work.
I did use a Chinese battery pack for a V10 to figure out the serial
protocol. It might be possible to do similar for V11 but it will require
somebody to do the work and figure out what needs to be sent and received
between the two.
David
On Wed, 29 May 2024, 07:59 WolfDawid, @.***> wrote:
Hello , first big respect to You Gays for this project!
I have on table battery from V11 (SV17)
Anyone , know now more? or still not possiblle?
I have also a Chinsese PCB for this battery, maybe we can download
firmware from and make something?
—
Reply to this email directly, view it on GitHub
< https://github.com/davidmpye/V10_Dyson_BMS/issues/8#issuecomment-2136677374>,
or unsubscribe
.
You are receiving this because you commented.Message ID:
@.***>
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>
— Reply to this email directly, view it on GitHub https://github.com/davidmpye/V10_Dyson_BMS/issues/8#issuecomment-2138051435, or unsubscribe https://github.com/notifications/unsubscribe-auth/AARIHYPESM7LIGFCMVOUKSLZEYPCTAVCNFSM6AAAAABCCKASBKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMZYGA2TCNBTGU . You are receiving this because you commented.Message ID: @.***>
Hi
One from this 2 chips have a name, sounds like
ICM CM2076b5 or LCM
But at this moment nothig found on network.
Regars
Dawid Wysłano z PORSCHE DESIGN HUAWEI Mate 20 RS-------- Oryginalna wiadomość --------Od: David Pye @.>Data: śr., 29 maj 2024, 22:02Do: davidmpye/V10_Dyson_BMS @.>DW: WolfDawid @.>, Comment @.>Temat: Re: [davidmpye/V10_Dyson_BMS] V11 and V15 (SV22) Support (Issue #8)
It probably is NOT straightforward to read the flash, and even if you did, it'll be for a different MCU and probably need quite a lot of work to make any use of it.
I don't have the skills to be able to reverse engineer it, even if it could be downloaded out of the pack.
Trying to work out what serial comms it uses is where I'd start.
David
Hi
I think this
VDCGR:
V 3.3v D: Data C: CLK G: Ground R: Reset
Now is question, could we something read. You are the master 💪
Hello This V11 battery pack management chip is BQ76930. If I refer to the method of the film to deal with it, the feasibility does not know whether it is correct
Hi,
You need to read the data using a suitable logic analyser from the 2 pins that are on the OUTSIDE of the battery pack (the data ones). Watch out, they are ~28v, so make sure you have something that can read them.
As I said before, I don't think trying to read the Chinese firmware directly is useful.
David
On Thu, 30 May 2024 at 07:56, WolfDawid @.***> wrote:
HiI think this VDCGR:V 3.3vD: DataC: CLKG: Ground R: Reset Now is question, could we something read. You are the master 💪Wysłano z PORSCHE DESIGN HUAWEI Mate 20 RS-------- Oryginalna wiadomość --------Od: David Pye @.>Data: śr., 29 maj 2024, 22:02Do: davidmpye/V10_Dyson_BMS @.>DW: WolfDawid @.>, Comment @.>Temat: Re: [davidmpye/V10_Dyson_BMS] V11 and V15 (SV22) Support (Issue #8) It probably is NOT straightforward to read the flash, and even if you did,
it'll be for a different MCU and probably need quite a lot of work to make
any use of it.
I don't have the skills to be able to reverse engineer it, even if it could
be downloaded out of the pack.
Trying to work out what serial comms it uses is where I'd start.
David
On Wed, 29 May 2024 at 19:47, WolfDawid @.***> wrote:
HiYes I have Chinese PCB for v11 but I Don't know how read flash
from. Wysłano z PORSCHE DESIGN HUAWEI Mate 20 RS-------- Oryginalna
wiadomość --------Od: David Pye @.***>Data: śr., 29 maj 2024,
18:54Do: davidmpye/V10_Dyson_BMS @.>DW: WolfDawid @.>,
Comment @.***>Temat: Re: [davidmpye/V10_Dyson_BMS] V11 and V15 (SV22)
Support (Issue #8)
Still not possible as far as I know.
The work that needs to be done is understanding the serial protocol (or
enough of it) to make the cleaner work.
I did use a Chinese battery pack for a V10 to figure out the serial
protocol. It might be possible to do similar for V11 but it will require
somebody to do the work and figure out what needs to be sent and received
between the two.
David
On Wed, 29 May 2024, 07:59 WolfDawid, @.***> wrote:
Hello , first big respect to You Gays for this project!
I have on table battery from V11 (SV17)
Anyone , know now more? or still not possiblle?
I have also a Chinsese PCB for this battery, maybe we can download
firmware from and make something?
—
Reply to this email directly, view it on GitHub
<
https://github.com/davidmpye/V10_Dyson_BMS/issues/8#issuecomment-2136677374>,
or unsubscribe
<
.
You are receiving this because you commented.Message ID:
@.***>
—Reply to this email directly, view it on GitHub, or unsubscribe.You are
receiving this because you commented.Message ID: @.***>
—
Reply to this email directly, view it on GitHub
< https://github.com/davidmpye/V10_Dyson_BMS/issues/8#issuecomment-2138051435>,
or unsubscribe
.
You are receiving this because you commented.Message ID:
@.***>
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>
— Reply to this email directly, view it on GitHub https://github.com/davidmpye/V10_Dyson_BMS/issues/8#issuecomment-2138810358, or unsubscribe https://github.com/notifications/unsubscribe-auth/AARIHYKLFGIDYFE6SAGYR3DZE3EQ5AVCNFSM6AAAAABCCKASBKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMZYHAYTAMZVHA . You are receiving this because you commented.Message ID: @.***>
Hi
So we have:
COM- ---- vacum cleaner K- --- vacum cleaner K+ ---- switch COMK ---- switch
I try to find something idea to read this line.
Regards
Hi David
Thank You very much fur help witch unlock this Pack. And Big thanks for Gucioo that He start this solution for Dyson v11 batery packs
My sv17 battery from v11. Now it give current and I can charge it, no error. works.
last what to do is, try to understand this comunication protocol between cleaner and pack as David said.
I try to work with this Chinese PCB .
But I have still other Idea.
David what would you say , wenn we take a original battery(sv17 sv22) that is not blocked yet and try to read the original communication protocol between the battery and the vacuum cleaner?
Hi,
Yes I have tried to do that, but there is some kind of rolling checksum/sequence you need to be able to generate. I haven't figured it out.
The Chinese board probably uses only a subset of the protocol so reading it's communication is useful and probably a better starting point than an original battery.
I don't have a Chinese one to try to copy. The protocol is more complex on V11 because it is 2 way for when different power/speed is selected the pack calculates running time.
David
On Fri, 31 May 2024, 11:45 WolfDawid, @.***> wrote:
Hi David
Thank You very much fur help witch unlock this Pack. And Big thanks for Gucioo that He start this solution for Dyson v11 batery packs
My sv17 battery from v11. Now it give current and I can charge it, no error. works.
last wat to do is, try to understand this comunication protocol between cleaner and pack as David said.
I try to work with this Chinese PCB .
But I have still other Idea.
David what would you say , wenn we take a original battery(sv17 sv22) that is not blocked yet and try to read the original communication protocol between the battery and the vacuum cleaner?
IMG_20240531_131157.jpg (view on web) https://github.com/davidmpye/V10_Dyson_BMS/assets/169847265/973965b8-9fca-4246-b3f4-5a32f831da3d IMG_20240531_132753.jpg (view on web) https://github.com/davidmpye/V10_Dyson_BMS/assets/169847265/6d0f3550-1bc3-4f67-a2cc-b83459705191
— Reply to this email directly, view it on GitHub https://github.com/davidmpye/V10_Dyson_BMS/issues/8#issuecomment-2141751312, or unsubscribe https://github.com/notifications/unsubscribe-auth/AARIHYP65LJKCPYEGWF4MILZFBIEHAVCNFSM6AAAAABCCKASBKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNBRG42TCMZRGI . You are receiving this because you commented.Message ID: @.***>
Hi
Other idea, Wenn we could to know what is on the other side (in cleaner inside) what kind of chip working there. Help us? Or is unnecessary
Regards
I had a look - it's another MCU that you cannot read the code out of. I don't have time to try to make new firmware for the inside and nobody would want to reflash it.
David
On Fri, 31 May 2024, 15:36 Dawid, @.***> wrote:
HiOther idea, Wenn we could to know what is on the other side (in cleaner inside) what kind of chip working there. Help us? Or is unnecessary Regards Wysłano z PORSCHE DESIGN HUAWEI Mate 30 RS-------- Oryginalna wiadomość --------Od: David Pye @.>Data: pt., 31 maj 2024, 14:06Do: davidmpye/V10_Dyson_BMS @.>DW: Dawid @.>, Comment @.>Temat: Re: [davidmpye/V10_Dyson_BMS] V11 and V15 (SV22) Support (Issue #8) Hi,
Yes I have tried to do that, but there is some kind of rolling
checksum/sequence you need to be able to generate. I haven't figured it
out.
The Chinese board probably uses only a subset of the protocol so reading
it's communication is useful and probably a better starting point than an
original battery.
I don't have a Chinese one to try to copy. The protocol is more complex on
V11 because it is 2 way for when different power/speed is selected the pack
calculates running time.
David
On Fri, 31 May 2024, 11:45 WolfDawid, @.***> wrote:
Hi David
Thank You very much fur help witch unlock this Pack.
And
Big thanks for Gucioo that He start this solution for Dyson v11 batery
packs
My sv17 battery from v11.
Now it give current and I can charge it, no error. works.
last wat to do is, try to understand this comunication protocol between
cleaner and pack as David said.
I try to work with this Chinese PCB .
But I have still other Idea.
David what would you say , wenn we take a original battery(sv17 sv22) that
is not blocked yet and try to read the original communication protocol
between the battery and the vacuum cleaner?
IMG_20240531_131157.jpg (view on web)
< https://github.com/davidmpye/V10_Dyson_BMS/assets/169847265/973965b8-9fca-4246-b3f4-5a32f831da3d>
IMG_20240531_132753.jpg (view on web)
< https://github.com/davidmpye/V10_Dyson_BMS/assets/169847265/6d0f3550-1bc3-4f67-a2cc-b83459705191>
—
Reply to this email directly, view it on GitHub
< https://github.com/davidmpye/V10_Dyson_BMS/issues/8#issuecomment-2141751312>,
or unsubscribe
.
You are receiving this because you commented.Message ID:
@.***>
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>
— Reply to this email directly, view it on GitHub https://github.com/davidmpye/V10_Dyson_BMS/issues/8#issuecomment-2142389648, or unsubscribe https://github.com/notifications/unsubscribe-auth/AARIHYIBPJOU4EWXZIWXIYLZFCDFVAVCNFSM6AAAAABCCKASBKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNBSGM4DSNRUHA . You are receiving this because you commented.Message ID: @.***>
Hi
David
Thank's for that We follow this project
What You think about this:
https://www.dreamsourcelab.com/shop/logic-analyzer/dslogic-plus/
Regards
Hi
I have found in network one more Chinese board SV15 looks little other as my, see a little other MCU ,but for all V11
Hello, cool job. Is there a continuation in the revision for V11? I'll try to find a Chinese equivalent and read the firmware. But I do not know what to do next.
Hi,
As I said before, I don't think this will be very easy (even the Chinese clones remember to set code protection), so it is unlikely you can read the firmware out that easily.
What would be more useful is to understand the communication that happens between the pack and the cleaner on a chinese pack (via the separate data connection pins on the pack).
Dumping this data traffic from a Chinese pack and trying to recreate with a reprogrammed dyson one is more likely to lead to success - this is how I got V10 working.
David
On Wed, 19 Jun 2024 at 14:36, rulof86 @.***> wrote:
Hello, cool job. Is there a continuation in the revision for V11? I'll try to find a Chinese equivalent and read the firmware. But I do not know what to do next.
— Reply to this email directly, view it on GitHub https://github.com/davidmpye/V10_Dyson_BMS/issues/8#issuecomment-2178739455, or unsubscribe https://github.com/notifications/unsubscribe-auth/AARIHYKEAMNGK3PPL2OJDG3ZIGCMFAVCNFSM6AAAAABCCKASBKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNZYG4ZTSNBVGU . You are receiving this because you commented.Message ID: @.***>
I take it I need a logic analyzer? I've never used it. Please tell me which one might be suitable?
Hi
I have writed some post above with good logic analyzer
Regars
@WolfDawid what version of the FW did u use to Get it to work with the SV17. Just the regular Repo or did u have to change some configs? And remove some cables or something? Thanks in advance
I don't think it is working with V17. I think you are misunderstanding his email.
David
On Mon, 4 Nov 2024, 22:41 aasmundleirhaug, @.***> wrote:
@WolfDawid https://github.com/WolfDawid what version of the FW did u use to Get it to work with the SV17. Just the regular Repo or did u have to change some configs? And remove some cables or something? Thanks in advance
— Reply to this email directly, view it on GitHub https://github.com/davidmpye/V10_Dyson_BMS/issues/8#issuecomment-2455848512, or unsubscribe https://github.com/notifications/unsubscribe-auth/AARIHYPTIZBGIRJMHFNGCQTZ67ZYLAVCNFSM6AAAAABCCKASBKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINJVHA2DQNJRGI . You are receiving this because you commented.Message ID: @.***>
Ahh okay, got it.
Thanks for the reply David!
My battery from Dyson V15 detect (SV22) stopped working suddenly, even it had 14 minutes left on LCD.
It didn't give any power and did not light any LED. I opened it and measured the cells voltage and there were 4x 3.1 V and 3x 3.5 V, this is probably the case where they go out of balance and uC locks battery output. I charged remaining 4 cells to 3.5 V, so now all cells are at the same level - 3.5 V. This didn't recover battery pack. Connecting charger doesn't trigger LED or V out either.
I found your firmware and topic on the forum, which is very helpfull. Dyson is clearly putting bad practice in to BMS batteries. Forcing to buy new battery, even though old one is usable. I can us old one for tests or provide some details / images to help.
Looking at wiki under section V11, I decided to give it a go and flash the firmware using Rpi4.
I compiled new firmware with following change to the config.h, as per your advice:
define ENABLE_CHARGE_PIN PIN_PA01 // V10 PIN_PA02
Now battery BMS seems to be giving some signs of life. Still no output on the main Pins. but there are 2 flashes of blue LED, it only has 2 blue LEDs and you already know it :) looking at your wiki error list:
This would lead to incorrect/missing mapping of RTDs?
There are 2 RTDs and I measured their resistance: 38 Ohms and 39 Ohms.
I can remove glue from PCB and maybe trace back RTD pins, if that will help bring compatibility with V11&V15.
Kudos to you David. It would be fantastic if these old batteries could work again with our vacuums. I know there is still serial protocol that have to be figured out, but you did already great work.