J1772 EVSE firmware for ESP32 based devices

Public Chat
Similar projects worth following
Key features: Hardware abstraction for device design, Responsive web-interface, OTA update
, Integrated energy meter, REST API, MQTT API, Modbus (RS485, TCP), Scripting, Nextion HMI

With the increasing number of EVs on the roads, many questions arise in society, e.g. where all those electric cars will be charged, will our distribution network handle it, etc…

I asked myself the first question after I bought my first electric car, the VW e-UP. Maybe I had more time to think, because the delivery of the car took about half a year :-)

I'm one of the lucky ones who have their own garage on the estate, so I planned to charge the car in it. In order not to have to charge the car via a 230V schuko socket, it was necessary to introduce a three-phase connection. For a more favorable charging price, I set up a double tariff at the distributor.

Subsequently, I deduced the criteria for the wallbox from this:

  1. enable charging during a low tariff
  2. enable the setting of the charging limit in kWh (to charge the battery in my e-Up to 80%)
  3. implementing RCM in the wallbox, as the B-type RCCB is quite expensive
  4. use ESP32 (I gained experience with it from my previous project)

At first I started to design an evse board with full functionality, only later I found out that it is probably more appropriate to design a simple board with an ESP32 devkit for development And after testing the basic functionality, to design a board with full functionality with the ESP WROOM module. I needed a total of 8 ADC inputs (control pilot, proximity pilot, 3x ac voltage, 3x current transformer) but the ESP32 ADC1 has only 6 inputs available. So I chose the ESP32-S2, which has more inputs (there was no ESP32-S3 at the time). The design of the resulting board is here, the dimensions are such that it fits into the UM122 case.

Both boards using same firmware (one source code, but different build because ESP32 and ESP32-S2 had different instruction sets). The source code is not hard-coded on the GPIO or other hardware design features, but reads the hardware configuration from a configuration file that is on a separate partition. You can read more about the firmware on the github repository

My wallbox is housed in a cheap plastic wiring box, it could easily have a fixed charging cable (as it is housed in its own garage), but I wanted to try out the handling of socket lock... It also has a Nextion HMI display and a LoRaWAN module for recording telemetry data. You can read more on github wiki


Web dashboard

Portable Network Graphics (PNG) - 73.70 kB - 10/27/2023 at 12:56



Web dashboard on mobile

Portable Network Graphics (PNG) - 47.03 kB - 10/27/2023 at 12:56



Web settings

Portable Network Graphics (PNG) - 88.57 kB - 10/27/2023 at 12:56



Nextion HMI screens

Portable Network Graphics (PNG) - 206.83 kB - 08/01/2023 at 11:33


View all 4 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

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