DIY CHADEMO charging
-
- Posts: 3567
- Joined: Mon Dec 24, 2018 1:37 pm
- Location: Slovenia
- Has thanked: 134 times
- Been thanked: 336 times
- Contact:
DIY CHADEMO charging
Hi all!
Does anyone know if CHADEMO CAN protocol was published anywhere? I seem to find the propper wiring and sequence of operation, but i wasnt able to find the actual CAN messages that car needs to send to enable charging.
http://www.mynissanleaf.com/viewtopic.php?t=7764
https://code.google.com/archive/p/open-chademo/
https://www.diyelectriccar.com/forums/s ... ht=chademo
If someone has knowledge of those CAN msg can you please share?
Or does someone know where to buy the protocol file?
Thank you
Does anyone know if CHADEMO CAN protocol was published anywhere? I seem to find the propper wiring and sequence of operation, but i wasnt able to find the actual CAN messages that car needs to send to enable charging.
http://www.mynissanleaf.com/viewtopic.php?t=7764
https://code.google.com/archive/p/open-chademo/
https://www.diyelectriccar.com/forums/s ... ht=chademo
If someone has knowledge of those CAN msg can you please share?
Or does someone know where to buy the protocol file?
Thank you
Re: DIY CHADEMO charging
Hi!
Orion BMS has chademo charging support. If you download setup java app for it, you can see from there canbus messages for Chademo that are implemented. Just click Canbus settings tab then select Chademo protocol and edit canbus messages.
Orion BMS has chademo charging support. If you download setup java app for it, you can see from there canbus messages for Chademo that are implemented. Just click Canbus settings tab then select Chademo protocol and edit canbus messages.
-
- Posts: 3567
- Joined: Mon Dec 24, 2018 1:37 pm
- Location: Slovenia
- Has thanked: 134 times
- Been thanked: 336 times
- Contact:
Re: DIY CHADEMO charging
Which file would that be? The file LoggerUtility.jar? I found some CAN references there, but not the ones i want...
Thanks, also i found further explanation on 3rd page of the forum thread, http://www.mynissanleaf.com/viewtopic.p ... 4&start=20
1.Car sends “Vehicle Stand By for Charging” message. [0x20]
2.charger responds with “Information about Charger” message containing “charging mode”, “max output voltage”, “max output current”, “max output power”. [0x31]
3.Car sends “Constant current request” message containing “voltage upper limit value” and “required current value” [0x26]
4.charger responds with “Constant current status” message containing echo of the “voltage upper limit” and “required current value” [0x37]
5.If no errors or interruptions repeat 3 and 4 while charging.
6.Car sends “Charge finished message”. [0x29]
7.charger sends “Charging stopped message” [0x38]
8.Charging stops.
Car to charger:
102 - Charge amperage is byte 3. Byte 6 is SOC, expressed as .1kWh per bit.
charger to Car:
109 - Byte 3 is again charge amperage.
- Jack Bauer
- Posts: 3664
- Joined: Wed Dec 12, 2018 5:24 pm
- Location: Ireland
- Has thanked: 11 times
- Been thanked: 347 times
- Contact:
- Kevin Sharpe
- Posts: 1339
- Joined: Fri Dec 14, 2018 9:24 pm
- Location: Ireland and US
- Been thanked: 8 times
Re: DIY CHADEMO charging
New Electric have a generic CHAdeMO interface controller that's designed to interface to any CAN based BMS. It's been fitted to two test mules and has recently completed it's compatibility tests. I don't have pricing or availability today but will know more after Fully Charged Live 

This is a personal post and I disclaim all responsibility for any loss or damage which any person may suffer from reliance on the information and material in this post or any opinion, conclusion or recommendation in the information and material.
- tom91
- Posts: 2410
- Joined: Fri Mar 01, 2019 9:15 pm
- Location: Bristol
- Has thanked: 209 times
- Been thanked: 572 times
Re: DIY CHADEMO charging
Is there any sort of info available on which bms systems it currently support and if the code will be made available to be modified by individuals?
Re: DIY CHADEMO charging
Hi arber,
Download from orionbms.com Orion BMS 2 Software Utility (for Linux), extract it, run BMSapp.jar
Download from orionbms.com Orion BMS 2 Software Utility (for Linux), extract it, run BMSapp.jar
- Kevin Sharpe
- Posts: 1339
- Joined: Fri Dec 14, 2018 9:24 pm
- Location: Ireland and US
- Been thanked: 8 times
Re: DIY CHADEMO charging
I don't have all the details but the New Electric team is at Fully Charged Live next week... they'll be able to answer all your questions

This is a personal post and I disclaim all responsibility for any loss or damage which any person may suffer from reliance on the information and material in this post or any opinion, conclusion or recommendation in the information and material.
- Kevin Sharpe
- Posts: 1339
- Joined: Fri Dec 14, 2018 9:24 pm
- Location: Ireland and US
- Been thanked: 8 times
Re: DIY CHADEMO charging
This is a personal post and I disclaim all responsibility for any loss or damage which any person may suffer from reliance on the information and material in this post or any opinion, conclusion or recommendation in the information and material.
- tom91
- Posts: 2410
- Joined: Fri Mar 01, 2019 9:15 pm
- Location: Bristol
- Has thanked: 209 times
- Been thanked: 572 times
Re: DIY CHADEMO charging
A quick thing i noticed in the video, Damien says his battery is full yet the station still gets requested to pump 125Amps into the car and then shuts down.
This is a very rudimentary way of controlling the end of charge, or actually not controlling it at all. I would expect current to taper, requested by the car, the closer it gets to full.
This is a very rudimentary way of controlling the end of charge, or actually not controlling it at all. I would expect current to taper, requested by the car, the closer it gets to full.
- Jack Bauer
- Posts: 3664
- Joined: Wed Dec 12, 2018 5:24 pm
- Location: Ireland
- Has thanked: 11 times
- Been thanked: 347 times
- Contact:
Re: DIY CHADEMO charging
Agreed. The code I linked above from Colin Kidder did in fact do current taper and shutdown when I last tested it 4 years ago. I didn't delve too deep into this new software as I didn't give it much chance of working:)
I'm going to need a hacksaw
- Kevin Sharpe
- Posts: 1339
- Joined: Fri Dec 14, 2018 9:24 pm
- Location: Ireland and US
- Been thanked: 8 times
Re: DIY CHADEMO charging
This is a personal post and I disclaim all responsibility for any loss or damage which any person may suffer from reliance on the information and material in this post or any opinion, conclusion or recommendation in the information and material.
Re: DIY CHADEMO charging
I have hardware charger with controller.
Need to make Chademo controller charger side, based on arduiono due with can.
All project will be place as open source.
Need to make Chademo controller charger side, based on arduiono due with can.
All project will be place as open source.
Re: DIY CHADEMO charging
Design of chademo charger
- Attachments
-
chademo charger design.pdf
- (321.58 KiB) Downloaded 370 times
Re: DIY CHADEMO charging
Spec for Serial commands of DC controller of charger
1. 19200bps, 8N1 (standard Serial)
2. Every command is an ASCII string starting with symbols 'M,' and ending with ',E'.
3. Command syntax is 'M,ccc,vvv,sss,E', where ccc is the CC current, vvv is the CV
voltage, and sss is a checksum calculated as (ccc+vvv)%1,000
a. As of firmware the DCDC versions of the
charger can be run in both directions via serial commands.
b. To reverse the power direction, same command format can be used, with 500
added to the desired value of ccc. For example, ‘M,540,400,940,E’ will instruct
the charger to reverse the direction (from default direction, which is always from
higher to lower voltage or ‘BUCK’ direction) and set output current to 40A, with
a CV point of 400V on the output
c. This limits the max current setting one can set to 499A in either direction which
is far above the charger ratings so should not affect any aspect of operations
4. 'M,001,000,001,E' is a special command that will stop the charger and move it back into
the waiting state
5. In the standby state, the charger will send an ASCII string with major parameters every
second. Format: ‘ M,R:M222,V061,c020,v246,E’ [M]ains voltage 222v, [V]oltage output
61v, [c]urrent setting for the CC step is 20A, [v]opltage setting for the CV step is 246V
6. In the charging state, the charger will send an ASCII string with major parameters
a. Reporting frequency is ~10Hz in CHAdeMO mode, in nonCHAdeMO mode if
#define CHADEMO switch is commented out in firmware the charger will reduce
its reporting frequency to ~3 Hz)
b. Reporting data format: 'M,D000,C096,V334,T038,O001,SsssE' [D]uty 0%,
output [C]urrent 96A, output [V]oltage 334V, heatsink [T]emp 38C, [O]utput
charge 0.1AH, (S) checksum
7. This set obviously is a 'Minimally Viable' set that allows for automatic control of the unit.
Feedback welcome.
1. 19200bps, 8N1 (standard Serial)
2. Every command is an ASCII string starting with symbols 'M,' and ending with ',E'.
3. Command syntax is 'M,ccc,vvv,sss,E', where ccc is the CC current, vvv is the CV
voltage, and sss is a checksum calculated as (ccc+vvv)%1,000
a. As of firmware the DCDC versions of the
charger can be run in both directions via serial commands.
b. To reverse the power direction, same command format can be used, with 500
added to the desired value of ccc. For example, ‘M,540,400,940,E’ will instruct
the charger to reverse the direction (from default direction, which is always from
higher to lower voltage or ‘BUCK’ direction) and set output current to 40A, with
a CV point of 400V on the output
c. This limits the max current setting one can set to 499A in either direction which
is far above the charger ratings so should not affect any aspect of operations
4. 'M,001,000,001,E' is a special command that will stop the charger and move it back into
the waiting state
5. In the standby state, the charger will send an ASCII string with major parameters every
second. Format: ‘ M,R:M222,V061,c020,v246,E’ [M]ains voltage 222v, [V]oltage output
61v, [c]urrent setting for the CC step is 20A, [v]opltage setting for the CV step is 246V
6. In the charging state, the charger will send an ASCII string with major parameters
a. Reporting frequency is ~10Hz in CHAdeMO mode, in nonCHAdeMO mode if
#define CHADEMO switch is commented out in firmware the charger will reduce
its reporting frequency to ~3 Hz)
b. Reporting data format: 'M,D000,C096,V334,T038,O001,SsssE' [D]uty 0%,
output [C]urrent 96A, output [V]oltage 334V, heatsink [T]emp 38C, [O]utput
charge 0.1AH, (S) checksum
7. This set obviously is a 'Minimally Viable' set that allows for automatic control of the unit.
Feedback welcome.
-
- Posts: 3567
- Joined: Mon Dec 24, 2018 1:37 pm
- Location: Slovenia
- Has thanked: 134 times
- Been thanked: 336 times
- Contact:
Re: DIY CHADEMO charging
This seems curiously similar to EMW charger serial reporting. Can you comment which hardware you have?v-proto wrote: ↑Wed Sep 04, 2019 9:25 pm Spec for Serial commands of DC controller of charger
1. 19200bps, 8N1 (standard Serial)
2. Every command is an ASCII string starting with symbols 'M,' and ending with ',E'.
3. Command syntax is 'M,ccc,vvv,sss,E', where ccc is the CC current, vvv is the CV
voltage, and sss is a checksum calculated as (ccc+vvv)%1,000
a. As of firmware the DCDC versions of the
charger can be run in both directions via serial commands.
b. To reverse the power direction, same command format can be used, with 500
added to the desired value of ccc. For example, ‘M,540,400,940,E’ will instruct
the charger to reverse the direction (from default direction, which is always from
higher to lower voltage or ‘BUCK’ direction) and set output current to 40A, with
a CV point of 400V on the output
c. This limits the max current setting one can set to 499A in either direction which
is far above the charger ratings so should not affect any aspect of operations
4. 'M,001,000,001,E' is a special command that will stop the charger and move it back into
the waiting state
5. In the standby state, the charger will send an ASCII string with major parameters every
second. Format: ‘ M,R:M222,V061,c020,v246,E’ [M]ains voltage 222v, [V]oltage output
61v, [c]urrent setting for the CC step is 20A, [v]opltage setting for the CV step is 246V
6. In the charging state, the charger will send an ASCII string with major parameters
a. Reporting frequency is ~10Hz in CHAdeMO mode, in nonCHAdeMO mode if
#define CHADEMO switch is commented out in firmware the charger will reduce
its reporting frequency to ~3 Hz)
b. Reporting data format: 'M,D000,C096,V334,T038,O001,SsssE' [D]uty 0%,
output [C]urrent 96A, output [V]oltage 334V, heatsink [T]emp 38C, [O]utput
charge 0.1AH, (S) checksum
7. This set obviously is a 'Minimally Viable' set that allows for automatic control of the unit.
Feedback welcome.