CHAdeMO fast charging in DIY

The first version of a DIY DC CHAdeMO fast charging kit was developed in 2015 by Paulo Almeida, Damien Maguire, Collin Kidder and Jack Rickard. It used the JLD505 developed by Paulo Almeida and Celso Menaia.  As per mid 2019, the latest version available was a CHAdeMO Interface v0.3 designed by Paulo and updated by Celso (New Electric) and further developed into v1 and v1.1 by New Electric.

CHAdeMO controller v0.3

Table of contents

Open source

To accelerate the development and increase availability for the DIY community, New Electric shared the designs and latest version of the CHAdeMO fast charging software with Damien Maguire ( He implemented some changes and shared it as open source. Since that design only had single CAN-BUS it was limited in using data on voltage and current that was already available from a BMS or external sensors.

As a result Damien decided to change the approach for the CHAdeMO fast charging controller and started using the same hardware as his Leaf VCU V2. Later on he created a dedicated CHAdeMO board.

CHAdeMO fast charging EVSE connector

Bottomline is that a SAM3X chip (like the Arduino Due) was used instead of the Atmega328. That change was 90% a software change since the code had to be ported from the Atmega328 to the new SAM3X chip. The heavy lifting for this is taken care of by the compiler (Arduino IDE or Visual Studio Code + PlatformIO). Furthermore a CAN-BUS shunt had to be added as new current and voltage source and some legacy from the JLD505 had to be dropped. Isaac Kelly ( took up this challenge and with the support of Damien he updated the software to a 0.6 version that worked together with the Leaf VCU V2 hardware (with some addons / modifications).

CHAdeMO process

As mentioned in “Introducing DC fast charging“, the communication for the CHAdeMO fast charging process is via CAN-BUS. The process is initiated by inserting the charge plug. The proximity pin triggers a wake-up of the controller. On it’s turn the controller provides an active low signal and 12V+ output (500 mA max) so you can use either one to wakeup other components such as the battery management system and put the car in charge mode.

CHAdeMO fast charging schematic

As soon as the plug is inserted and the user presses “Start” on the charger, the EVSE (charger) initiates the charge process. It is a combination of messages over CAN-BUS and analog signals. In the CHAdeMO fast charging approach the charger start/stop 1 is 12V ‘signal’ capable of delivering up to 2 A and is used to drive contactors. This approach gives the charger the opportunity to open contactors directly if needed. The whole sequence is explained below.

CHAdeMO fastcharge sequence 1

While the CHAdeMO protocol is accessible for members of the CHAdeMO Association only, there are many leads for achieving a DIY controller. For example, the digital communication (CAN messaging) is defined in the IEC 61851-24 standard (Electric vehicle conductive charging system – Part 24: Digital communication between a d.c. EV charging station and an electric vehicle for control of d.c. charging) which I purchased.

Hardware version v2.0

EVcreate developed the version v2.0 hardware as a drop-in replacement for the New Electric v1.1 by keeping the pinout the same and maintaining isolated CAN-BUS. It is NOT compatibele with earlier versions since those use a different pinout.

It currently is available for ‘early adopters’. Send me an e-mail for more info.

Schematic CHAdeMO fast charge controller

The controller has a Cinch enclosure and header with Molex MX150 connectors. To be exact, the ME-MX Header 5810132011 is used. This is a 32 I/O header with a 20 position A connector and a 12 position B connector.

Cinch enclosure with Molex MX150 connectors

The A connector is for the integration in the car and the B connector is used to connect to the CHAdeMO fast charging outlet.

A) connector

A1 = Not connected
A2 = GND (for contactor feedback)
A3 = Not connected
A4 = USB D-
A5 = USB D+
A6 = CHAdeMO HV contactors coil GND
A7 = 12V output (500 mA max) when on
A8 = 12V in (always on)
A9 = CHAdeMO HV contactors coil +
A10 = Incoming Car CAN-H
A11 = Outgoing car CAN-H
A12 = Outgoing car CAN-L
A13 = Not connected
A15 = USB 5V+
A16 = CHAdeMO HV- contactor feedback
A17 = Active low (GND) when on
A18 = CHAdeMO HV+ contactor feedback
A19 = GND
A20 = Incoming Car CAN-L

B) connector

B2 = Charge start 1
B3 = Not connected
B4 = Charge enable
B5 = Not connected
B6 = Not connected
B7 = Proximity
B8 = CAN H
B9 = CAN L
B10 = Charge start 2
B11 = Not connected
B12 = Not connected

Enhancements in v2.0

New to the v2.0 hardware are the following features:

  1. Dual CAN-BUS (one dedicated for CHAdeMO and another one to communicate with the car
  2. Car CAN-BUS in and out for easy daisy chaining to other nodes
  3. Optional car CAN termination by soldering two pads
  4. CHAdeMO contactor feedback inputs
  5. Active low (GND) and 12V+ output (500 mA max) when on
  6. CAN bus now with common mode choke, ESD protection and split termination
  7. Increased robustness against 12V circuit over-voltage and 12V circuit over-current
  8. 12V+ and GND power connector on the PCB to easily power it for configuration on the bench
  9. USB connector on the PCB including wakeup on USB plug insertion

Things that were already good in V1.1 were kept, such as:

  • Isolated inputs using optocouplers
  • USB connections in connector A to easily program and monitor while installed in a car
  • Isolated CAN-BUS

Wiring the CHAdeMO controller

To install the CHAdeMO fast charge controller in your car is quite straightforward. There are three main areas:

  1. Yazaki CHAdeMO fast charging socket to controller
  2. Current sensor
  3. Car integration

1. Yazaki socket to controller

The number on the Yazaki outlet matches one on one with the Cinch / Molex B-connector. So Yazaki 1 goes to B1, 2 to B2, etcetera. Only exceptions are pin 3 (which is not connected) and the high voltage connections 5 and 6 which do not go into the controller.

Yazaki CHAdeMO socket wiring

2. Current sensor

The CHAdeMO controller requires input on the charging current and voltage measured by the car. This is compared with the values measured / indicated by the charger. In case the deviation is too big, an error is triggered and the charing process stops.

The previous versions of the CHAdeMO fast charge controller up to v1.1 used a shunt and voltage divider to get information on voltage and current. However that required high voltage inputs into the controller. Getting this data over CAN-BUS increases the safety. Most robust and therefore supported way of implementing a current sensor is direct (as shown above) using a sensor on the CHAdeMO high voltage wiring (either + or -).

Using a direct current sensor is the most straightforward approach. By measuring the current directly on the CHAdeMO high voltage wiring the CHAdeMO fast charging controller and use this data directly.

Suggested and supported sensors are the LEM CAB300, LEM CAB500 or the IVT Current sensor.

3. Car integration

Basically what the controller needs is power, CAN-BUS, trigger the car charge mode and to control the HV contactors.

CHAdeMO fast charging interface integration in the car

The USB connection is optional as well is the contactor feedback. The maximum allowed power draw of the two CHAdeMO contactors together is 2A.

CHAdeMO software

The CHAdeMO software was originally mainly developed by Collin Kidder (still doing awesome stuff, Collin80 on Github). It has been improved by New Electric based on field experience and fixes to address issues.

Currently EVcreate is working on further improving the software / CHAdeMO DIY library.

This paragraph will be updated as soon as more details are available.

Blog series on DC fast charging

  1. DC fast charging, an introduction
  2. CHAdeMO fast charging in DIY
  3. CCS fast charging in DIY

Feedback welcome

Any feedback, additions, suggestions for improvement is welcome. Please contact me by e-mail.

Share & link

Do you like this article? Please share and link (and not copy paste).

8 thoughts on “CHAdeMO fast charging in DIY”

  1. Thank you for sharing this brilliant solution
    My question is, once the CHADEMO relays are closed, can I draw power from the car instead of charging it? (I am considering V2L)

    • That will strongly depend on the controller that is managing the CHAdeMO charging process. The CHAdeMO controller I’m offering can detect a current deviation error. So in that case it strongly depends on where you draw that power. Furthermore it depends on how you achieve “once the CHADEMO relays are closed”. I’d say with the right approach it is possible but certainly not trivial.

  2. What are the requirements for the HV contactors for the CHAdeMO?
    Considering a pair of TE 2138011-1 for CHAdeMO, since I’m planning another pair for CCS. My battery pack is under 350VDC.

    • As stated above “In the CHAdeMO fast charging approach the charger start/stop 1 is 12V ‘signal’ capable of delivering up to 2 A and is used to drive contactors.” So you need to select contactors that together meet this max current. Furthermore you need contactors that do not depend on an external economiser since the charger start 1 (12V) and 2 (GND) do not ‘economize’ anything. The 2138011-1 therefore is not suitable as the coil would overheat and burn.
      2138011-1 economizer required
      Source: TE 2138011-1 datahseet

      • Hi lars,

        is there any issue about welding the contactor while close the contactor, I did not see any precharge or something else circuirt to limit the inrush?

        • At the beginning of the charge cycle the car will close the contactors of it’s high voltage circuit. As part of that procedure precharge will be done. Once that is ready and the ‘car is ready to receive charge’ it flags that to the controller and the controller and charger proceed with the charging. During the charging the CHAdeMO charger takes care of regulating the voltage (but that’s not really relevant since precharge has already taken place).


Leave a Comment

Item added to cart.
0 items - 0,00
Join Waitlist We will inform you when the product arrives in stock. Please leave your valid email address below.