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.

Join the waitlist or EVcreate mailinglist to be informed once it is available.

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. Basically there are two ways of implementing a current sensor:

  1. Direct (as shown above) using a sensor on the CHAdeMO high voltage wiring (either + or -)
  2. Indirect by building on data from a BMS and auxiliary current

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.

However it is also possible to build on data coming from a BMS. However it is important to realize that if there are components withdrawing power while charging the current measured at the battery is deviating from the charging current. So if there are any components such as the DC/DC or airconditioning compressor enabled while charging, their energy consumption (current draw) must be known. In the indirect implementation a current sensor needs to be added to monitor the auxiliary current. Then this data needs to be processed (for example in the BMS) and added onto the current going into the battery measured by the BMS. The sum of those two needs then to be provided to the CHAdeMO fast charging controller.

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 Combo 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).

2 thoughts on “CHAdeMO fast charging in DIY”

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.