Blog Home

Creating a low-cost EV charging station with Arduino

Arduino TeamApril 23rd, 2024

The high cost of EV (electric vehicle) chargers may lead you to believe that they’re complex systems. But with the exception of Tesla’s Supercharger, that isn’t true. They’re actually quite simple — basically just glorified switches. All of the nitty gritty charging details are the responsibility of the car’s onboard circuitry. With that in mind, EV owners may want to follow Pedro Neves’ guide on building an affordable Arduino-based charging station.

Because the car deals with all of the particulars of charging, the only purpose of the “charger” is to provide a connection to the electrical grid. “Charger” isn’t even the right word, as this is more accurately EVSE (electric vehicle supply equipment). For safety reasons, the car and the EVSE communicate with each other. The car can tell the EVSE when it is safe to provide power and the EVSE will then connect a switch between the charging plug and the electrical grid. It really isn’t any more complex than a $15 smart outlet and most of the cost of an EVSE is the heavy-gauge wiring. 

Here, Neves proves that with a DIY EVSE designed around an Arduino UNO Rev3 board. It has a custom shield with relays for switching power and to power the Arduino itself with mains voltage. A few LEDs act as status indicators. EVSE protocols are standardized, so Neves was able to program the Arduino to communicate with any connected car. Once the Arduino receives permission from the car, it switches the relays to provide mains voltage. A heavy-duty 3D-printed enclosure contains those components, with a breaker switch and weatherproofing.