BMW i3 CCS/charge port controller

Development and discussion of fast charging systems eg Chademo , CCS etc
User avatar
tom91
Posts: 2962
Joined: Fri Mar 01, 2019 9:15 pm
Location: Bicester, Oxfordshire
Has thanked: 328 times
Been thanked: 847 times

Re: BMW i3 CCS/charge port controller

Post by tom91 »

alexbeatle wrote: Wed Oct 30, 2024 10:57 pm shortening the comm wiring was the only change that allowed you to charge?
if you run OEM wiring this should not be the issue.
Creator of SimpBMS
Founder Volt Influx https://www.voltinflux.com/
Webstore: https://citini.com/
m.art.y
Posts: 713
Joined: Sat Jun 06, 2020 6:54 pm
Location: UK/EU
Has thanked: 38 times
Been thanked: 37 times

Re: BMW i3 CCS/charge port controller

Post by m.art.y »

I have a year 2020 LIM. So far I only wanted to get AC charging working but it would not enter into AC charge mode in message 0x3B4. In fact it detects Proximity immediatelly but all other bytes remain unchanged. I have original i3 charging socket with Kuster lock. The lock only shows ~1k between pin 2 and 3 if it's locked or unlocked. I understand 11k resistor is inside the lock motor housing or does it have to be external? The LIM does not lock the socket and does not even seem to try it. I keep the charger door feedback signal connected to ground. I have HV sense board connected but not connected HV to it yet. Anybody has any ideas? Does there have to be any sequence or what other signals are reguired for AC charging? Any help appreciated.
User avatar
asavage
Posts: 385
Joined: Sat May 14, 2022 10:57 pm
Location: Oak Harbor, Washington, USA
Has thanked: 369 times
Been thanked: 119 times
Contact:

Re: BMW i3 CCS/charge port controller

Post by asavage »

The image supplied by @Raine in the Wiki shows the 1k/10k lock state resistors as internal to the i3's charge port. I've sold my i3 charge inlet; can someone verify this?
Al Savage
2014 RAV4 EV
NissanDiesel
User avatar
tom91
Posts: 2962
Joined: Fri Mar 01, 2019 9:15 pm
Location: Bicester, Oxfordshire
Has thanked: 328 times
Been thanked: 847 times

Re: BMW i3 CCS/charge port controller

Post by tom91 »

The lock motor has 1K at full out and full in position.

It has 11K at at the locked position. Which can only be achieved if a plug is inserted as it will stop the over travel.

Do you see CP values populate on the CAN bus? This should happen before it even tries to lock.

Note the lockmotors are known weaknesses in the BMW I3.
Creator of SimpBMS
Founder Volt Influx https://www.voltinflux.com/
Webstore: https://citini.com/
m.art.y
Posts: 713
Joined: Sat Jun 06, 2020 6:54 pm
Location: UK/EU
Has thanked: 38 times
Been thanked: 37 times

Re: BMW i3 CCS/charge port controller

Post by m.art.y »

tom91 wrote: Thu Dec 26, 2024 7:15 pm Do you see CP values populate on the CAN bus? This should happen before it even tries to lock.
No I don't see those whatever I do, and it does not try to lock. 0x3B4 shows fc_voltage as 510v although I have voltage sense board connected (with no HV) which shows ~1.3v on the output. I haven't yet connected contactors or LEDs as I only wanted to AC charge first. Also cp_lock status does not change no matter if I connect 1k or 11k. Ever seen this? Log attached. It is a year 2020 LIM.
Attachments
limlog.csv
(760.34 KiB) Downloaded 566 times
m.art.y
Posts: 713
Joined: Sat Jun 06, 2020 6:54 pm
Location: UK/EU
Has thanked: 38 times
Been thanked: 37 times

Re: BMW i3 CCS/charge port controller

Post by m.art.y »

I'm reading in the LIM wiki that Zombie code needs to read voltage/current data to run the LIM controller. I've not got the ISA but I have CAB300 sensor installed and voltage is sent over CAN by the simpBMS (could also modify BMS code to send voltage in Leaf format). Any chance to add CAB300 to the list of shunts in the Zombie code to be used in conjuction with either SimpBMS or Leaf voltage data? 😊 Thank you
User avatar
tom91
Posts: 2962
Joined: Fri Mar 01, 2019 9:15 pm
Location: Bicester, Oxfordshire
Has thanked: 328 times
Been thanked: 847 times

Re: BMW i3 CCS/charge port controller

Post by tom91 »

No a CAB300 is not a shunt. it is a current sensor.

Just use the CAN map to get the values in there. you can even just use the CAN messages from the SimpBMS
params you just need to map are idc and udc

Your zombie is not doing precharge then.
Creator of SimpBMS
Founder Volt Influx https://www.voltinflux.com/
Webstore: https://citini.com/
m.art.y
Posts: 713
Joined: Sat Jun 06, 2020 6:54 pm
Location: UK/EU
Has thanked: 38 times
Been thanked: 37 times

Re: BMW i3 CCS/charge port controller

Post by m.art.y »

tom91 wrote: Sat Jun 21, 2025 5:43 pm Just use the CAN map to get the values in there. you can even just use the CAN messages from the SimpBMS
Thanks. You mean map simpBMS CAN messages to Zombie? I would still need a message from CAB300 for current as simp only provides voltage, right? Is there a setting I would need to select to make Zombie use mapped current/voltage messages for LIM control? Much appreciated 😊
User avatar
tom91
Posts: 2962
Joined: Fri Mar 01, 2019 9:15 pm
Location: Bicester, Oxfordshire
Has thanked: 328 times
Been thanked: 847 times

Re: BMW i3 CCS/charge port controller

Post by tom91 »

Simp BMS provides battery voltage and current. So map those to the idc and udc spotvalues/params

The I3 LIM code uses those params along with charging params. Params are a general table of values referenced by all parts of the software no need to link them.
Creator of SimpBMS
Founder Volt Influx https://www.voltinflux.com/
Webstore: https://citini.com/
m.art.y
Posts: 713
Joined: Sat Jun 06, 2020 6:54 pm
Location: UK/EU
Has thanked: 38 times
Been thanked: 37 times

Re: BMW i3 CCS/charge port controller

Post by m.art.y »

tom91 wrote: Sat Jun 21, 2025 5:51 pm Simp BMS provides battery voltage and current. So map those to the idc and udc spotvalues/params
So I tried to map UDC like this: 854 0 16 1 and I now see UDC showing 38220 in zombie spot values. Voltage reported in simp serial interface is 382.201V. Is this correctly mapped now or would zombie interpret it as 38220 volts? 😊
User avatar
tom91
Posts: 2962
Joined: Fri Mar 01, 2019 9:15 pm
Location: Bicester, Oxfordshire
Has thanked: 328 times
Been thanked: 847 times

Re: BMW i3 CCS/charge port controller

Post by tom91 »

Yes you need to have it show up as volts not mv.
Creator of SimpBMS
Founder Volt Influx https://www.voltinflux.com/
Webstore: https://citini.com/
m.art.y
Posts: 713
Joined: Sat Jun 06, 2020 6:54 pm
Location: UK/EU
Has thanked: 38 times
Been thanked: 37 times

Re: BMW i3 CCS/charge port controller

Post by m.art.y »

tom91 wrote: Sun Jun 22, 2025 6:08 pm Yes you need to have it show up as volts not mv.
Ok, I tried to change the gain but it didn't help, tried to put 0 to 15 and it gave me a totally wrong number.. How do I map it correctly? 😊 It's the simpBMS message 0x356 that I'm trying to get voltage from.
User avatar
razvanphp
Posts: 10
Joined: Mon Apr 28, 2025 3:22 pm
Has thanked: 1 time
Been thanked: 2 times

Re: BMW i3 CCS/charge port controller

Post by razvanphp »

Sorry to revive this great topic, but we are stuck.

We are building an EVSE car simulator using the BMW i3 LIM + original harness + socket + lock + door, all sourced from the local scrapper. LIM part number is 61 35 9 454 319 (2020-05-30).

We managed to charge with AC, after spoofing all CAN messages, but the LED is not blinking BLUE (or staying BLUE for that matter), but it's doing a short YELLOW (or ORANGE) blink which is fine, then goes into blinking GREEN (or almost YELLOW), which we never saw anywhere.. is it the weld test failed doing this?

We get this: RX: 0x272 | Data: 07 FE 71 12 FF FF FF FF

Since we don't need the contactors for our use-case, we tried to desolder the internal R120 (0.12 ohm) resistors from inside the module and increase it 100x, added 12 ohms there and 15 kohms outside on the wires, but it seems it did not do the trick. We now ordered some 15 ohm 10W resistors with heatsink, will update here if it solves it.

Thank you in advance!
R
BMW_I3_LIM_FLASHING_GREEN_LED.jpg
User avatar
razvanphp
Posts: 10
Joined: Mon Apr 28, 2025 3:22 pm
Has thanked: 1 time
Been thanked: 2 times

Re: BMW i3 CCS/charge port controller

Post by razvanphp »

Ok, managed to clear the weld test, we now get `01` in `0x272`, but the flashing yellow still persists, even tho we are in AC charging.

Found it in manual, not sure older LIMs had this state, anybody knows how to clear this to make the led BLUE?
Screenshot 2026-03-09 at 15.51.19.png
User avatar
razvanphp
Posts: 10
Joined: Mon Apr 28, 2025 3:22 pm
Has thanked: 1 time
Been thanked: 2 times

Re: BMW i3 CCS/charge port controller

Post by razvanphp »

Ok again, mystery solved! The module we are testing comes from a MINI and for those cars the charging color is yellow for some reason, we even found this in the user manual. Strange, but it is what it is.

We are now testing the ISO 15118 connectivity, but we can't seem to receive any SLAC attenuation REQ from the LIM. We provide 5% PWM to the CP and we can see the state going into `CCS Comms` for a few seconds while the cable is locked, but then it unlocks the cable and gets into `5% DC` state and stays there forever. Even if we send charge command, it goes flashing yellow (charging), but we can't establish a PLC communication with it....

Any idea what we might be missing? Thank you!
Screenshot 2026-03-11 at 20.59.44.png
alexbeatle
Posts: 292
Joined: Sun Jan 03, 2021 6:12 am
Has thanked: 82 times
Been thanked: 35 times

Re: BMW i3 CCS/charge port controller

Post by alexbeatle »

Are LIM and charging port and flap all from the same car?

I’m using 2014 i3 LIM with the i3 charge port, but no charge door flap/door. My charging in progress LED is flashing blue.
You’re welcome to see my Teensy4 VCU code for inspiration that includes comms to/from LIM to do both AC and DC charging ( https://github.com/alexbeatle/Teensy4VCU/tree/main. I added contractor test routine (see in my code DC_test_on and DC_test_off routines), which was described in the wiki https://openinverter.org/wiki/BMW_I3_F ... 20required

FYI, my CCS charging works for 90% of chargers. In California, EVGo and EVCS stations refuse to accept my setup (doesn’t go past pre charge), but they aren’t anywhere near as popular as ChargePoint and Electrify America, for which my setup works flawlessly.
User avatar
razvanphp
Posts: 10
Joined: Mon Apr 28, 2025 3:22 pm
Has thanked: 1 time
Been thanked: 2 times

Re: BMW i3 CCS/charge port controller

Post by razvanphp »

Thanks for sharing your code, highly appreciated!

We managed to make it work on SLAC, paired with the LIM on the bench. The missing puzzle was not setting `Phase_Init`= `0x1` in 0x2FA DC command 3.

We are also testing and comparing different LIM versions, interestingly enough, on SDP it requested Security: 0x10 (No transport layer security), wondering how is ISO 15118-2 supposed to work without TLS? Also, if we force TLS, what V2G Roots does it check against? Hubject? We will try and see if it does AC on ISO-2, will report back our findings and update the wiki.
User avatar
razvanphp
Posts: 10
Joined: Mon Apr 28, 2025 3:22 pm
Has thanked: 1 time
Been thanked: 2 times

Re: BMW i3 CCS/charge port controller

Post by razvanphp »

For posterity, we will answer our own question: BMW i3 and Mini Electric do NOT support ISO 15118 (not even -2), and not even on the 319 latest 2020 module revision. Also, it does not request TLS at all in the SDP, so most probably does not have any root certs installed.
BMW_i3_LIM_dump.png
For reference, I'm adding a comparison dump from VW ID.4; this is how the `supportedAppProtocolReq` should look like when both protocols are offered.
VW_ID.4_dump.png
If nobody objects, I will update the wiki to reflect this. This means that in 2018 something else was changed when power was increased, it's still doing it via DIN.
User avatar
CCSknowitall
Posts: 109
Joined: Fri Jun 04, 2021 1:47 pm
Has thanked: 1 time
Been thanked: 30 times

Re: BMW i3 CCS/charge port controller

Post by CCSknowitall »

ISO-15118 can be run without TLS. Some vehicles do prefer ISO over DIN even if TLS isn’t established. You’re not allowed to do contract based authentication (plug and charge) in this state, however. The station would only offer external payment for auth.

You can’t really “force” TLS unless you got the LIM to somehow request TLS. Even if you did request, if the station doesn’t support it, it will say so, and communication will be unencrypted.

Curious if it does support AC though.
User avatar
CCSknowitall
Posts: 109
Joined: Fri Jun 04, 2021 1:47 pm
Has thanked: 1 time
Been thanked: 30 times

Re: BMW i3 CCS/charge port controller

Post by CCSknowitall »

alexbeatle wrote: Thu Mar 12, 2026 6:55 am FYI, my CCS charging works for 90% of chargers. In California, EVGo and EVCS stations refuse to accept my setup (doesn’t go past pre charge), but they aren’t anywhere near as popular as ChargePoint and Electrify America, for which my setup works flawlessly.
I’m curious to see what’s failing here. I think both those networks use a few different manufacturers and models, it would be more clear as to which models are failing instead of which networks. Can you post a pcap or two?
User avatar
uhi22
Posts: 1244
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 244 times
Been thanked: 684 times

Re: BMW i3 CCS/charge port controller

Post by uhi22 »

Which hardware setup do you use to capture the communication with wireshark?
Post Reply