BMW i3 CCS/charge port controller
- asavage
- Posts: 371
- Joined: Sat May 14, 2022 10:57 pm
- Location: Oak Harbor, Washington, USA
- Has thanked: 356 times
- Been thanked: 117 times
- Contact:
Re: BMW i3 CCS/charge port controller
I have a question about charge port locking of CCS1 vs CCS2. The Wiki states: "Only important for Type 2 (3-phase) charge ports.", which to me implies that the charge port locking feature is not applicable to Type 1 (J1772) and/or CCS (1-phase) ports.
Via eBay, I recently purchased a BMW 6828092 charge port/cable assembly -- shipped from Lithuania, and supposedly from a 2016 model i3 -- which to my eyes looks like it's CCS1 with a Kuster cable lock actuator mechanism.
Here's a YT video of it in action:
Screenshot from that vid, where she's pushing on the end of the extended lock actuator to manually unlock the nozzle:
Another vid, showing a different angle on the same locking and how it prevents depressing the latch release button:
Apparently, sometime in late 2015 BMW redesigned the inlet to make it more difficult to just insert a tool to press back the actuator, but the actuator itself remains.
My questions:
1) Do I understand this accurately (CCS1 in North America does lock the charge cable/nozzle)? If so, should I update (remove) that line in the Wiki?
2) Does the North American CCS nozzle sense that the charge port's actuator has extended (locked) the nozzle to the port? Thereby refusing to DCFC if the actuator has not been extended? Some discussion I've read implies this. Put another way: does CCS1 in the US require a functioning cable lock for DCFC to operate?
Via eBay, I recently purchased a BMW 6828092 charge port/cable assembly -- shipped from Lithuania, and supposedly from a 2016 model i3 -- which to my eyes looks like it's CCS1 with a Kuster cable lock actuator mechanism.
Here's a YT video of it in action:
Screenshot from that vid, where she's pushing on the end of the extended lock actuator to manually unlock the nozzle:
Another vid, showing a different angle on the same locking and how it prevents depressing the latch release button:
Apparently, sometime in late 2015 BMW redesigned the inlet to make it more difficult to just insert a tool to press back the actuator, but the actuator itself remains.
My questions:
1) Do I understand this accurately (CCS1 in North America does lock the charge cable/nozzle)? If so, should I update (remove) that line in the Wiki?
2) Does the North American CCS nozzle sense that the charge port's actuator has extended (locked) the nozzle to the port? Thereby refusing to DCFC if the actuator has not been extended? Some discussion I've read implies this. Put another way: does CCS1 in the US require a functioning cable lock for DCFC to operate?
- EV_Builder
- Posts: 1205
- Joined: Tue Apr 28, 2020 3:50 pm
- Location: The Netherlands
- Has thanked: 18 times
- Been thanked: 37 times
- Contact:
Re: BMW i3 CCS/charge port controller
If there is a lock there is a feedback, if there is a feedback it will shutdown rapidly the DC power to the battery.
Converting an Porsche Panamera
see http://www.wdrautomatisering.nl for bespoke BMS modules.
see http://www.wdrautomatisering.nl for bespoke BMS modules.
- asavage
- Posts: 371
- Joined: Sat May 14, 2022 10:57 pm
- Location: Oak Harbor, Washington, USA
- Has thanked: 356 times
- Been thanked: 117 times
- Contact:
Re: BMW i3 CCS/charge port controller
Are you referring to the vehicle side, or the EVSE side?
On the EVSE side, I read that user glim1000 (1) (2) mechanically removed the cable lock but left it electrically connected to the vehicle.
On the EVSE side, I read that user glim1000 (1) (2) mechanically removed the cable lock but left it electrically connected to the vehicle.
L2 continued to work, but DCFC did not work. That user resides in Canada. I think this implies that the CCS1 nozzles may sense the cable lock actuator and may prevent DCFC unless the cable lock is mechanically functional, regardless of the cable lock's electrical function (1k/11k ohm electrical feedback to the LIM of the mechanical position of the actuator).glim1000 wrote:DCFC must self-test to see if the locking pin is enabled.
I did not take the unit apart/remove the locking pin, I plugged in a new unit and zip-tied it behind the charging port.
Before putting the housing back together I validated that the pin extended by plugging in my home EVSE [L2] and locking the car.
Tested fast charging - failed 'could not lock charger to car'.
- CCSknowitall
- Posts: 106
- Joined: Fri Jun 04, 2021 1:47 pm
- Has thanked: 1 time
- Been thanked: 29 times
Re: BMW i3 CCS/charge port controller
Probably stating the obvious but all DC charging requires locking of the connector to the vehicle.
In CCS 1, a pin or lever in the receptacle holds down the latch of the CCS1 connector/plug/“gun” to prevent actuation of the button/latch and thus removal of the connector from the vehicle. Users typically can press hard enough to trigger the switch to stop charging but not to actually remove the connector. While not the way the standard was intended, a lot of locks on vehicles have some slack (along with latch flexy-ness) to make this possible. Notably, the i3 mechanism is a bit stiffer and therefore doesn’t quite allow this.
In CCS2, there are notches on the CCS2 connector that the receptacle lock grabs on to. Commanding this lock to unlock is done externally, typically with a button adjacent to the charge port.
Note proximity pilot handled is different between the two CCS styles:
CCS1 has a voltage divider with 5v (from the vehicle) and the button on top which actuates the latch changes the resistance and thus voltage drop (150 ohms normal, 480 ohms button pressed). While this arrangement is primarily for the EV to monitor, DC EVSE should also monitor proximity pilot for CCS1. Some but not all stations use the voltage pull up on the vehicle to detect a CCS1 vehicle. So, if you’re in a CCS 1 market, you need to get the car side right. The LIM provides the 5v supply on one of the pins for this purpose.
For CCS2, proximity pilot is a bit less defined for the car side, but overall there is a fixed resistance in the cable and the EV monitors it to know what is connected and immobilize the car. This is mostly to convey AC cable ampacity, but DC cables have a fixed 1.5k ohm resistance between proximity pilot and ground.
Pilot wire communications including the low level states and PLC are exactly the same between CCS1 and CCS2.
Oh and locking for CHAdeMO is handled within the cable and is controlled by the charger.
Tesla proprietary connector in NA is similar to CCS2 except the notch is on the bottom of the connector. The button on top has CCS1 arrangement but only electrically, with the button being a signal to the car to stop charging for both AC and DC, but the latch is completely handled car side. The pilot wire switches to single wire CAN for supercharger DC and some AC (for some Tesla AC EVSE).
In CCS 1, a pin or lever in the receptacle holds down the latch of the CCS1 connector/plug/“gun” to prevent actuation of the button/latch and thus removal of the connector from the vehicle. Users typically can press hard enough to trigger the switch to stop charging but not to actually remove the connector. While not the way the standard was intended, a lot of locks on vehicles have some slack (along with latch flexy-ness) to make this possible. Notably, the i3 mechanism is a bit stiffer and therefore doesn’t quite allow this.
In CCS2, there are notches on the CCS2 connector that the receptacle lock grabs on to. Commanding this lock to unlock is done externally, typically with a button adjacent to the charge port.
Note proximity pilot handled is different between the two CCS styles:
CCS1 has a voltage divider with 5v (from the vehicle) and the button on top which actuates the latch changes the resistance and thus voltage drop (150 ohms normal, 480 ohms button pressed). While this arrangement is primarily for the EV to monitor, DC EVSE should also monitor proximity pilot for CCS1. Some but not all stations use the voltage pull up on the vehicle to detect a CCS1 vehicle. So, if you’re in a CCS 1 market, you need to get the car side right. The LIM provides the 5v supply on one of the pins for this purpose.
For CCS2, proximity pilot is a bit less defined for the car side, but overall there is a fixed resistance in the cable and the EV monitors it to know what is connected and immobilize the car. This is mostly to convey AC cable ampacity, but DC cables have a fixed 1.5k ohm resistance between proximity pilot and ground.
Pilot wire communications including the low level states and PLC are exactly the same between CCS1 and CCS2.
Oh and locking for CHAdeMO is handled within the cable and is controlled by the charger.
Tesla proprietary connector in NA is similar to CCS2 except the notch is on the bottom of the connector. The button on top has CCS1 arrangement but only electrically, with the button being a signal to the car to stop charging for both AC and DC, but the latch is completely handled car side. The pilot wire switches to single wire CAN for supercharger DC and some AC (for some Tesla AC EVSE).
- asavage
- Posts: 371
- Joined: Sat May 14, 2022 10:57 pm
- Location: Oak Harbor, Washington, USA
- Has thanked: 356 times
- Been thanked: 117 times
- Contact:
Re: BMW i3 CCS/charge port controller
Thanks for that, I appreciate the time it took to write, and "stating the obvious" is always a good idea as a preface, because here one cannot assume the technical level of your audience. For example, though I've driven an EV for five years, and we also own a 3-year-old Tesla in addition to that EV (the Tesla now for sale, as I don't like it, go figure), I have never used CCS, anywhere, and therefore while I'm by default my neighborhood's EV guru, I know more about Tesla and only sketchy theory around actually using CCS.
You have answered my Q1 "Do I understand this accurately (CCS1 in North America does lock the charge cable/nozzle)? ": yes. I have updated the Wiki and removed the reference to "Only important for Type 2 (3-phase) charge ports."
Q2 was: "Does the North American CCS nozzle sense that the charge port's actuator has extended (locked) the nozzle to the port? " Anecdotally (ref. is above) an i3 owner replaced a malfunctioning Kuster cable lock and zip-tied the replacement behind the charge inlet, so it was electrically connected but mechanically not engaging with the CCS nozzle. AC charging worked, DCFC did not. Then he mechanically installed the Kuster correctly, and DCFC resumed working.
How did the EVSE know that the nozzle was not mechanically locked?
You have answered my Q1 "Do I understand this accurately (CCS1 in North America does lock the charge cable/nozzle)? ": yes. I have updated the Wiki and removed the reference to "Only important for Type 2 (3-phase) charge ports."
Q2 was: "Does the North American CCS nozzle sense that the charge port's actuator has extended (locked) the nozzle to the port? " Anecdotally (ref. is above) an i3 owner replaced a malfunctioning Kuster cable lock and zip-tied the replacement behind the charge inlet, so it was electrically connected but mechanically not engaging with the CCS nozzle. AC charging worked, DCFC did not. Then he mechanically installed the Kuster correctly, and DCFC resumed working.
How did the EVSE know that the nozzle was not mechanically locked?
- CCSknowitall
- Posts: 106
- Joined: Fri Jun 04, 2021 1:47 pm
- Has thanked: 1 time
- Been thanked: 29 times
Re: BMW i3 CCS/charge port controller
It doesn’t. The vehicle tells the station that the vehicle is unable to lock. In all honesty a lot of vehicles handle the conveyance of failure to lock very badly, which results in weird charger error codes… but all should essentially stop the charge during the setup process, ideally at or before cable check, where the vehicle must lock the cable on or before that point.How did the EVSE know that the nozzle was not mechanically locked?
The LIM is capable of monitoring the lock state and checks during initialization and continuously during the charge. I don’t know how the LIM handles telling the station of said lock failure but it clearly does stop the charge from happening. Could get me a pcap and I can tell you how well it does so.
As I sad about 10ish pages before, when incorporating CCS into your EV, having functional locking is absolutely 100% necessary. The station is trusting the vehicle to handle locking. There’s likely ways to trick the LIM into thinking the lock is ok, but actually isn’t. Do not do this.
The LIM is likely tolerating a broken lock for AC because the on board charger can ramp current down pretty fast and AC won’t arc much anyway.
As an aside, a lot of European centric vehicles lock upon plug in, even for AC. This is sometimes a carryover from CCS2 as users bring their own cables for L2 AC charging. The EVSE contains a locking mechanism as well so people can’t walk off with your cable. In CCS1 land L2 the cables are always supplied with the stations so locking is considered more optional/settable there for AC charging.
- tom91
- Posts: 2295
- Joined: Fri Mar 01, 2019 9:15 pm
- Location: Bristol
- Has thanked: 199 times
- Been thanked: 524 times
Re: BMW i3 CCS/charge port controller
I am due to receive my own I3 LIM soon and have been doing work with others to try and first of all reproduce the findings in this thread. So far so good and gotten the AC charging functioning.
One "basic" function I would want to look at sorting is the ability of the I3 LIM to wake up the rest of the vehicle. Reading the documentation on the wiki there is reference to a wake up line that the LIM controls, however in the wiring info on the wiki I cannot find it.
Has anyone looked into this wake up functionality if it is a canbus based wake up of vehicle or a true hardwired line?
One "basic" function I would want to look at sorting is the ability of the I3 LIM to wake up the rest of the vehicle. Reading the documentation on the wiki there is reference to a wake up line that the LIM controls, however in the wiring info on the wiki I cannot find it.
Has anyone looked into this wake up functionality if it is a canbus based wake up of vehicle or a true hardwired line?
- asavage
- Posts: 371
- Joined: Sat May 14, 2022 10:57 pm
- Location: Oak Harbor, Washington, USA
- Has thanked: 356 times
- Been thanked: 117 times
- Contact:
Re: BMW i3 CCS/charge port controller
IDK, to me it looks as if terminal 30F is connector 1B-8.
" LIM . . . is supplied . . . " = "module wake-up"? Could be me mis-interpreting translated German).
Looking at i3LIM.cpp :
Code: Select all
void i3LIMClass::Send100msMessages()
{
uint8_t bytes[8]; //Wake up message.
bytes[0] = 0xf5;
bytes[1] = 0x28;
if(Param::GetInt(Param::opmode)==MOD_RUN) bytes[2] = 0x8a;//ignition on
if(Param::GetInt(Param::opmode)!=MOD_RUN) bytes[2] = 0x86;//ignition off 86
bytes[3] = 0x1d;
bytes[4] = 0xf1;
bytes[5] = 0x35;
bytes[6] = 0x30;
bytes[7] = 0x80;
Can::GetInterface(0)->Send(0x12f, (uint32_t*)bytes,8); //Send on CAN1
[...]
I don't think either the LIM's hardware or CAN is waking up anything else?
- Jack Bauer
- Posts: 3638
- Joined: Wed Dec 12, 2018 5:24 pm
- Location: Ireland
- Has thanked: 9 times
- Been thanked: 272 times
- Contact:
Re: BMW i3 CCS/charge port controller
Wake up in the i3 works the same as in most modern bmws (and I'm sure others). How I implemented it is not really correct. Its more of a holdover from bench testing when I was working out the can. Any module can wake all the other modules either by can on 0x12f or via the hardware wake up line. If the LIM is asleep it will wake itself on the insertion of a charge plug or the opening of the charge port door. It will then pump out wake up via can and put 12v on the hardware wakeup line. Also, if the LIM is asleep and sees a can or hardware wakeup it will wake and start doing LIM things until it is allowed to sleep. This behaviour can be observed in the i3 logs on the ccs github page. How I implement it in the vcu is kinda crude as the LIM is kept awake all the time when it really doesnt need to be. Another piece of cleanup when I get back to ccs.
I'm going to need a hacksaw
- tom91
- Posts: 2295
- Joined: Fri Mar 01, 2019 9:15 pm
- Location: Bristol
- Has thanked: 199 times
- Been thanked: 524 times
Re: BMW i3 CCS/charge port controller
Thanks Damien, so the "IGN" "KL15" wake up is bi directional, very good to know.
I was quite aware of the canbus wake up probably working in that way. However creating modules with wake up on canbus is quite tricky for us DIYers while maintaining low current draw while a sleep.
I was quite aware of the canbus wake up probably working in that way. However creating modules with wake up on canbus is quite tricky for us DIYers while maintaining low current draw while a sleep.
- asavage
- Posts: 371
- Joined: Sat May 14, 2022 10:57 pm
- Location: Oak Harbor, Washington, USA
- Has thanked: 356 times
- Been thanked: 117 times
- Contact:
Re: BMW i3 CCS/charge port controller
Cool, Damien, so nice to get a clear answer from someone who knows. I can read docs OK and I came up with the wrong conclusions; I'm glad to get the correct info.
- tom91
- Posts: 2295
- Joined: Fri Mar 01, 2019 9:15 pm
- Location: Bristol
- Has thanked: 199 times
- Been thanked: 524 times
Re: BMW i3 CCS/charge port controller
You did see my question referencing the fact I tried the same thing right

Sometime best to ask someone who has had the hardware running.
- asavage
- Posts: 371
- Joined: Sat May 14, 2022 10:57 pm
- Location: Oak Harbor, Washington, USA
- Has thanked: 356 times
- Been thanked: 117 times
- Contact:
Re: BMW i3 CCS/charge port controller
Tom, I don't understand what you're asking. I think you asked a question:
To my reading, Damien's reply was clear. I didn't get that read from what you wrote.
I don't see a reference that you "tried the same thing" (tried to reconcile the wiki wiring with something?), only an after-the-fact statement that you knew how CAN wakeup worked. Sorry if I'm misreading. I tried to be helpful, and it seems I wasn't.Reading the documentation on the wiki there is reference to a wake up line that the LIM controls, however in the wiring info on the wiki I cannot find it.
Has anyone looked into this wake up functionality if it is a canbus based wake up of vehicle or a true hardwired line?
To my reading, Damien's reply was clear. I didn't get that read from what you wrote.
- tom91
- Posts: 2295
- Joined: Fri Mar 01, 2019 9:15 pm
- Location: Bristol
- Has thanked: 199 times
- Been thanked: 524 times
Re: BMW i3 CCS/charge port controller
No worries, I will try to be clearer from my side. I made reference to having reviewed the wiki and documentation linked on there and could not work out how wake up worked and if it was tested.
Fingers crossed I should have my own LIM today or early next week. So can more easily help out pushing this forward, gotten a simple can programme running that allows a LIM to interface to my SimpBMS software.
Currently a gotten a test vehicle to get all the way to precharge but after that wont close the contactors, but I am only remote supporting so it can be many things. So splurged and gotten all the required parts myself.
- Jack Bauer
- Posts: 3638
- Joined: Wed Dec 12, 2018 5:24 pm
- Location: Ireland
- Has thanked: 9 times
- Been thanked: 272 times
- Contact:
Re: BMW i3 CCS/charge port controller
Ah you've done a Damien on it and wired the DC contactors wrongCurrently a gotten a test vehicle to get all the way to precharge but after that wont close the contactors, but I am only remote supporting so it can be many things. So splurged and gotten all the required parts myself.

I'm going to need a hacksaw
- tom91
- Posts: 2295
- Joined: Fri Mar 01, 2019 9:15 pm
- Location: Bristol
- Has thanked: 199 times
- Been thanked: 524 times
Re: BMW i3 CCS/charge port controller
I a log of you charging it still says contactor test: error when decoded with dbc.Jack Bauer wrote: ↑Fri Jun 17, 2022 9:21 am So with car powered up and HV on (needs to be reported in the i3 BMS can message that contains HV info I forget the id but its in the vcu code) and the charge port door closed the LIM will "walk" the two contactors to ensure they are not welded.
Okay so if i understood correct:
- Pull up to 12V the charge door pin- you know if its 12V or if its with a resistance to 12v?
- Power on vehicle and close HV contactors
- Apply power to the LIM, whilst broadcasting canbus ofcourse
- LIM tests contactors and reports results on canbus
- now free to have charge port door input tied to ground
- DC Fastcharging possible
- Jack Bauer
- Posts: 3638
- Joined: Wed Dec 12, 2018 5:24 pm
- Location: Ireland
- Has thanked: 9 times
- Been thanked: 272 times
- Contact:
Re: BMW i3 CCS/charge port controller
Basically yes. This is a video of the weld test in action :
I forget the charge port door logic but it is either tied to ground or floating if memory serves. Actually yeah on the i3 its just a on/off switch on the cp door.
I forget the charge port door logic but it is either tied to ground or floating if memory serves. Actually yeah on the i3 its just a on/off switch on the cp door.
I'm going to need a hacksaw
- Jack Bauer
- Posts: 3638
- Joined: Wed Dec 12, 2018 5:24 pm
- Location: Ireland
- Has thanked: 9 times
- Been thanked: 272 times
- Contact:
Re: BMW i3 CCS/charge port controller
It will also "walk" the contactors at the end of a dc charge session. If you then power it down fully you must do the weld test again or it just hangs at precharge as you have experienced.
I'm going to need a hacksaw
- tom91
- Posts: 2295
- Joined: Fri Mar 01, 2019 9:15 pm
- Location: Bristol
- Has thanked: 199 times
- Been thanked: 524 times
Re: BMW i3 CCS/charge port controller
I got my LIM and my contactors are the the local postal depot so will build my own HV fast charging box for testing.
Time to use my sketchy Chinese 400V 1A supply again.
Time to use my sketchy Chinese 400V 1A supply again.

- asavage
- Posts: 371
- Joined: Sat May 14, 2022 10:57 pm
- Location: Oak Harbor, Washington, USA
- Has thanked: 356 times
- Been thanked: 117 times
- Contact:
Re: BMW i3 CCS/charge port controller
If we're discussing the charge port's lock (the BMW has a separate switch on the actual door) . . . the LIM monitors pin 1B-16 (referenced to ground) and is expecting 11k when locked, 1k when unlocked. Because the LIM thinks it's driving a motor that drives the lock actuator pin, it outputs 12vdc in one polarity for ~1 second pulse to lock, and another ~1 sec. pulse of the opposite polarity to unlock.Jack Bauer wrote: ↑Fri Jun 17, 2022 11:30 am I forget the charge port door logic but it is either tied to ground or floating if memory serves. Actually yeah on the i3 its just a on/off switch on the cp door.
Member raine recently updated the charge port lock wiring diagram and made a really good contribution in the process, added to the Wiki:

In May2021, Damien spoofed the LIM's expected charge port lock behaviour via a pair of resistors and a bistable relay:
- asavage
- Posts: 371
- Joined: Sat May 14, 2022 10:57 pm
- Location: Oak Harbor, Washington, USA
- Has thanked: 356 times
- Been thanked: 117 times
- Contact:
Re: BMW i3 CCS/charge port controller
Where are people finding their BMW i3 LIMs? I can pretty much only find new ones around here (or, AC-only ones).
- tom91
- Posts: 2295
- Joined: Fri Mar 01, 2019 9:15 pm
- Location: Bristol
- Has thanked: 199 times
- Been thanked: 524 times
Re: BMW i3 CCS/charge port controller
We are not discussing the plug lock.

We are talking about the Fuel door/charge door position switch. This door can be locked by the central locking system.
- asavage
- Posts: 371
- Joined: Sat May 14, 2022 10:57 pm
- Location: Oak Harbor, Washington, USA
- Has thanked: 356 times
- Been thanked: 117 times
- Contact:
Re: BMW i3 CCS/charge port controller
Ugh, the Wiki didn't mention the charge port door lock (and sensor) at all . . . I've now updated its LIM "Connectors and Pinout" function chart to define the function of the connector @ 1B-13, based on member chrskly's chart.
I've made the Wiki's chart now state that 1B-13 must be tied to ground for the LIM's contactors weld test to occur . . . can someone confirm that: grounded = door closed?
I've made the Wiki's chart now state that 1B-13 must be tied to ground for the LIM's contactors weld test to occur . . . can someone confirm that: grounded = door closed?
- tom91
- Posts: 2295
- Joined: Fri Mar 01, 2019 9:15 pm
- Location: Bristol
- Has thanked: 199 times
- Been thanked: 524 times
Re: BMW i3 CCS/charge port controller
I recieved my LIM and built a bench setup
4B-12 COV FBK when not grounded it indicates being open over canbus based on the DBC file on github.
I do not see any change when grounding 1B-13 or having it high.
One thing to note when powering on the LIM and having both 1B-13 and 4B-12 floating on startup the flap status report error.
At this moment I am simulating the charge socket and actuator with resistors, I do not know is this will cause issues. I have not been able to get the LIM to be happy with a simple portable EVSE, probally due to not having an locking actuator.
1B-13 is not on on the wiring info on ISTA, this only is referenced when you look at the Chademo version.
Made changes on wiki to match this info.