A new design for OpenEVSE - the open hardware EV charging station

Similar projects worth following
Starting from
nsayer has 1550 orders / 134 reviews
Ships from United States of America
OpenEVSE is how I got into hardware a few years ago. I got an electric car and wondered what was inside the charging stations that made them (at the time) >$700. OpenEVSE was not only the answer to that question, but it also led me to Arduino, EAGLE, OSHPark and the rest is history.

OpenEVSE is a fully standards-compliant EVSE. In fact, OpenEVSE based designs have gone on to obtain full UL approval. It includes all of the safety systems required by the specification, which is important, since you can successfully charge a vehicle without them, but it can be greatly hazardous if anything goes wrong.

But in my mind, even OpenEVSE could be improved. The basic design has a main board and an optional display board. All of the HV and LV systems are all together on the main board, which makes it impossible to troubleshoot safely. Additionally, the GCM system leaks enough current to ground to trip household GFCI outlets.

OpenEVSE II starts by separating the HV and logic systems. The display board, which was optional for OpenEVSE, is mandatory for OpenEVSE II. It includes the display, controller, a real-time clock chip and a temperature sensor (to allow thermal shutdown). It is designed - as the OpenEVSE display board is - to be a "backpack" on an RGB backlit 2x16 LCD module. It has just about all of the low voltage logic, which means that troubleshooting can be done on the bench with nothing more than a +12 VDC power supply. It draws less than 100 mA of 12 volts in operation.

The logic/display board also includes the pilot generator and state transition monitoring systems, a GFI (with a test circuit), and an ammeter (based on a current transformer).

The logic/display board connects with a 10 pin FFC cable to the HV board. There are three variants of the HV board available. One is for a line-powered contactor, one is for an external 12 VDC relay, and the third has two board-mounted SPST relays, which simplifies chassis wiring (but is limited to 24A of charging current).

The current rating of the design for the external relay or contactor boards is limited only by the ampacity of the relay or contactor and the wiring of the high current path (which includes the power and J1772 cabling).

The HV board is responsible for supplying 12 VDC power, switching the relay or contactor on and off, and performing the stuck relay and ground continuity test. It also has a crude opto-isolated voltmeter, which allows OpenEVSE II to monitor power consumption rather than just current.

Adobe Portable Document Format - 93.78 kB - 03/03/2020 at 17:38


sch - 645.77 kB - 03/03/2020 at 17:39


brd - 198.33 kB - 03/03/2020 at 17:39


Adobe Portable Document Format - 33.01 kB - 12/23/2019 at 07:58


sch - 294.31 kB - 12/23/2019 at 07:58


View all 15 files

  • Combined HV board

    Nick Sayer03/19/2020 at 08:01 0 comments

    I don't know why it took me so long to figure this out, but there's no real reason to have more than one HV board layout. You can simply stuff the SSR based components for a contactor or the MOSFET parts for the DC relay and leave the unused side unfinished.

    I've also decided to go with a 10W AC-DC module, as the HV board is shared between this project and the Pi EVSE Hat, and in that version of the project it's also necessary to power a Raspberry Pi with the 5v power output. Powering a Raspberry Pi and a 12 VDC relay is probably asking too much of a 5W power supply.

    I've got this design into OSHPark and will report on whether it's a win or not when those boards get back.

  • Voltmeter success

    Nick Sayer12/23/2019 at 07:45 0 comments

    One thing I discovered trying to troubleshoot the new design for the voltmeter was that the secondary side was wired backwards. I lifted the two pins and swapped them with wires, but it still didn't work. It's possible that the period of time it was in circuit miswired was enough to blow the phototransistor. Not sure.

    I ordered two new boards from OSHPark for testing. One with the same circuit (but with the mistake fixed) and the other with the other type of circuit from the IXYS application note. I would much prefer the Photovoltaic variant rather than the Photoconductive because the former has much better linearity and accuracy at the cost of reduced bandwidth (but bandwidth here doesn't matter).

    Turns out both work, so I'm going with the photovoltaic variant. When powered with 120VAC, the output on the scope looks like this:

    That's a little noisy, but the peaks look consistent enough that merely getting a peak reading and scaling the result to infer the RMS voltage should work just fine.

    The design starts with an isolated 5V DC-DC converter. This is powered on the primary side by the 5v supply that powers the whole system. The secondary side has the negative pole tied to the neutral AC input (for L2 systems, this won't actually be neutral, but that doesn't matter. For our purposes here, it'll be regarded as the circuit ground). The hot AC input goes through an S1M diode to isolate just the positive going half-cycle. That then feeds into a voltage divider made with a 510kΩ flame-proof resistor and a 6.8kΩ one. The values chosen insure that the current through the divider results in less than 1/8W, and a nominal output of about 4.5V for a peak DC input voltage of 340V (which is the peak for 240 VAC RMS).

    The output of the voltage divider feeds the input to the isolator circuit. The input and output impedance resistors are set to 75kΩ, as the arithmetic says this should result in a peak LED current of around 15 mA or so. The transfer current through the primary side phototransistor provides feedback to the input amp which sets the LED current. The secondary side phototransistor sends the same current to the output buffer. Because the whole idea is that the two phototransistors are very closely matched, the output should very closely mirror the input regardless of any non-linearities in either the LED or the phototransistors (this includes any temperature related effects).

  • Voltmeter revamp

    Nick Sayer09/03/2019 at 17:51 0 comments

    The voltmeter is the remaining sore spot in this project. It's not very accurate, and it's got a relatively large temperature coefficient. It's bad enough that it effectively makes the watt-hour logging useless.

    The non-linearity and temperature sensitivity is the fault of the optocoupler. The fix is to use a precision linear optocoupler. These have two photodiodes in the optical path, one is located on the input side, the other on the output side. The one on the input side is referred to as the "servo" photodiode and is placed in the feedback loop for the op amp that's used to pass the AC voltage across. For that, we use the existing 150 kΩ flameproof resistor along with an HV diode and a more ordinary 2.4 kΩ resistor to make a voltage divider. That should reduce 340 volts to 5 volts, giving us only one half-cycle ramping from 0 to 5 volts. That, in turn is designed to give us an LED forward current of 0-25 mA, which will be influenced by the servo current feedback. The transfer ratio (post correction) is about 0.01, so 25 mA turns into 250 µA. Across a 20 kΩ resistor, that's a 5 volt drop, so that should give us full scale on the ADC.

    Of course, none of this is tested. I'm not entirely sure how I'm going to test it, really. HV makes me extremely nervous - which is why I went to such lengths to separate the HV from the logic system in the first place.

  • Power supply revamp

    Nick Sayer01/16/2019 at 18:57 0 comments

    There's been a bit of a revolution in how power is handled with this project. Along with the Hydra, I think we may migrate from a 12v primary AC/DC supply to 5v, and then derive the 12v with a boost converter rather than deriving the 5v with a buck converter.

    Unlike the Hydra, however, 12 volts is not just used for the pilot generator, it's also used to power the relays on two of the AC board variants. The internal relay variant has two relays with 1W coils, so 2W of power is needed just for them. That means those variants need 5W supplies, but it's probably not worth stocking a 3W supply just for the contactor variant.

    The good news is that the new PSK-P5B unit is footprint-compatible with the old VSK-S3 unit we were using on the contactor AC board - much smaller than the VSK-S5 unit we were using on the other two. This allows us to shrink the "external relay" AC board slightly (the "internal relay" board's size is dictated by the relays, unfortunately). In fact, I've managed to shoehorn the "external relay" board into the OpenEVSE board's original footprint. That means that that particular variant should install in the OpenEVSE chassis without any modification at all!

  • Under construction

    Nick Sayer01/10/2019 at 21:26 0 comments

    It's been a while since this project has had some love given to it. Recently I brought the Hydra up to date, and this project will benefit from that.

    The power boards (versions 1.2) are still state-of-the-art, but the logic board has had some improvements made:

    • The MC34063 -12 inverter supply has been replaced with a charge pump, which is much simpler.
    • The 5 volt supply is now made from an AP1509, which, again, is much simpler
    • The pilot generator now uses a pair of SOT23-6 complimentary MOSFET pairs, which is the same design now as the Hydra.

    I intend to upload the new board files and add PDF schematics for all of them shortly.

    The one aspect of the design that's somewhat less than satisfactory is the voltmeter. The optoisolator transfer function is very heavily influenced by temperature. In freezing temperatures I've seen L1 readings of about 140V, which is a 16% error. It is good enough to tell the difference between L1 and L2, at least.

    Anyway, despite being a slightly older design, my current "portable" EVSE is an OpenEVSE II design that has been operating successfully for years. The OpenEVSE project has advanced from where this design was, and I'm not sure how many of its current features would work (likely those that are based on i2c peripherals or connections to the serial port would work ok), but I'm still proud of this design.

View all 5 project logs

Enjoy this project?



Vitaly Greck wrote 02/05/2019 at 16:03 point

I like the idea of the project. However I would like to leave some comments.

Idea is very good from the experiment standpoint however far away from production ready.

Display board has connections to GFI CT, measuring CT and the pilot, as well as flat 10wire. How are you planning to connect/disconnect in the real world when you expect the display screw mounted on the lid?

screw connectors are not something I would like to see on the display board along with the delicate flat connector.

Current transformer leads are usually short as well so connecting them directly to the screw terminals doesn't seem like a good option.

I would like to see pin terminals which could be easily disconnected by pulling the wires so the components won't be damaged if someone unexperienced did not read the warning labels or disassembly instructions, expecting something sturdy and in fact having gentle components damaged right at the beginning.

So far, the only big improvement is the voltmeter onboard which eliminates the guesses what the input voltage is. I would consider buying a batch when the comments are addressed.

  Are you sure? yes | no

Yoav Levy wrote 05/14/2017 at 06:33 point

Hi Nick,
id like to start build EVSE for myself, can you please explain the difference between OpenEVSE II and the Hydra?

Thank You

  Are you sure? yes | no

Nick Sayer wrote 01/10/2019 at 21:07 point

Sorry this is a bit late, but the main difference between them is that the Hydra has two J1772 plugs for two cars. OpenEVSE II has only one. The Hydra was "inspired" by OpenEVSE's design, but OpenEVSE II actually runs the OpenEVSE firmware and is mostly compatible from a hardware perspective.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates