BMW i3 CSC variants and Lilygo T-CAN485

Development and discussion of fast charging systems eg Chademo , CCS etc
Post Reply
User avatar
HerbP
Posts: 80
Joined: Fri Dec 27, 2024 2:59 pm
Has thanked: 7 times
Been thanked: 55 times

BMW i3 CSC variants and Lilygo T-CAN485

Post by HerbP »

From my project thread: https://openinverter.org/forum/viewtopi ... 829#p90829

I bought qty 3 BMW i3 42kwh packs dated 2021. They were used on a transit bus project by a company (VMC) that went out of business. Near as I can tell, they used 4 of these packs on a single bus during development. I was having trouble talking to the CSC's using the BMW i3 protocol with SimpBMS code ported to a Lilygo T-CAN485. After a CAN capture with the SME connected, I discovered that these CSC's spoke a completely different protocol.

So now I have SimpBMS related code running on a Lilygo T-CAN485 ESP32 board that speaks all 3 variants (BMWi3, MiniE and BMWi3BUS).

I wondered if BMW modified the CSC firmware for this bus company so I borrowed a CSC from @Gregski which came from a much older 22kwh pack to compare. Much to my surprise, Greg's CSC spoke the same protocol. So then @Robertwa borrowed a CSC from a friend of his who also had a BMW i3 pack and he tried it with my code on a Lilygo T-CAN485. It also spoke the BMWi3BUS protocol.

I'm not really sure what's going on. If anyone know, I'm keen to hear about it.

Having said that, I now have all 8 modules connected and speaking. Code is here:

https://github.com/hpeyerl/bmw-i3-bms-tcan485.git

Edit: It's worth noting that this code supports all 3 known variants of BMW i3 CSC (BMWi3, MiniE, BIWi3BUS)

(I'm not convinced the temperature decoding is correct in the BMWi3BUS case. I'll be looking into that.)

Image
Documents and CAD of my current project: https://github.com/hpeyerl/evj55
Located in southern Alberta, Canada.
Post Reply