Building a smart and low-cost electrical vehicle charging station and server. The system supports multiple users and charging stations operating simultaneously. The hardware is cheap and common, and the server operates in a cloud based platform.
The project is to build a smart and low-cost electrical vehicle charging station (EVSE) and server. The charging station was built using an ESP32 controller embedded in an PCB and peripheral off the shelf IO devices. The software of the charging station is using a design of an FSM which implements the SAE J1772 charging protocol for electrical vehicles. The software flow is:
- A car is detected using the distance sensor (Not a must).
- A user presents an NFC card.
- The NFC is authenticated.
- The camera takes a picture of the user.
- The user connects the electrical vehicle to the station.
- The user approves charging.
- Charging is taking place.
- Once the charging is done, the data is logged in to the database.
An EV emulator was built using ESP32 to test the charging station. The emulator is implementing the EV side behavior of the protocol.
The server was built on a Google Firebase cloud platform. It contains the following features:
- Real-Time Database – Supports data collection of the EV charges, Users’ information, and EVSEs’ information.
- Operator WebApp – Supports management of the EVSEs and Users in terms of creation, billing, emailing etc.
- EVSE Database API – User NFC authentication and EVSE charge data logging.
- Storage – Supports saving the pictures taken in the EVSE.
- Encryption – Users’ private data is kept encrypted and the EVSE to Server channel is encrypted.
An EVSE simulator was built to test the server. The simulator is a python script capable of simulating multiple EVSEs and users in parallel. The simulator is configurable and can test different amounts of EVSEs and charges as well as different domains.


