tinfever / FU-Dyson-BMS

(Unofficial) Firmware Upgrade for Dyson V6/V7 Vacuum Battery Management System
Other
584 stars 66 forks source link

Made a tiny bit of progress. #16

Open aldoguzman97 opened 1 year ago

aldoguzman97 commented 1 year ago

Im not usually one to post anything on GitHub. I usually download broken software from other people. Your software I was able to get working somehow. It gave me enough motivation to attempt this on a dyson v10-15 battery.

Whomever designed this dyson was pretty smart with that in mind I was able to figure out the debug pinout for the v10 battery. I have no background in hardware but I like to read

https://user-images.githubusercontent.com/10823072/205516931-17689f67-b314-4c4f-8975-9d3cd04a9063.mov

. Essentially the 8 pins are standard 20 pin JTAG without all the extra bullshit pinouts. I got it to do a thing, but Im thinking the security bit on the arm processor is preventing reading the memory entirely. I also read somewhere someone was able to bypass security bit by not powering and reseting before read/write. Im not that far yet but I wanted to see if you have anything to add. Im entirely new to all of this. Any Help I would greatly appreciate it.

tinfever commented 1 year ago

That's really cool that you are trying to connect to it!

I see you're getting the message "Failed to get Device ID" in your video. If I recall, that error haunted me when first trying to connect to mine. I think my issues might have been bad wiring on my part, and then there might have been a solder ball between one of the programming pins on the microcontroller. I think I started having better luck after I made an adapter PCB so I could connect the programmer directly. I'm not saying this is necessarily the issue you are having though.

I'm not an expert but I don't think the message you are seeing is because of the MCU read prevention lock. I think the programmer should still be able to see that the MCU exists. I don't think your programmer is making a good connection to the MCU.

My suggestions would be:

Also, just so you don't start down the wrong path. There is a 0% change my firmware will work with a V10 or other battery. They use a different microcontroller and a different battery management IC. There is almost nothing that could be reused from my work unfortunately, other than inspiration I guess haha. I'm not even sure I'd recommend someone copy how I laid out my software, because I made it so complicated. I'd encourage anyone trying to look at mine as an example of what not to do. Like the LED code, don't do it that way haha. And interrupts are probably your friend, unlike what I did.

Good luck!