Open-source EVSE firmware
Free your EV charger.
Clean-room replacement firmware for the Rippleon ROC001 and compatible J1772 chargers. Local-first. Vendor cloud optional. Safety-supervised in C on FreeRTOS. GPL-3.0.
$ git clone https://github.com/RAR/OpenEVCharger
$ cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE=cmake/arm-none-eabi-toolchain.cmake
$ cmake --build build && ./tools/flash.sh What it is
OpenEVCharger is a from-scratch reimplementation of the firmware that ships on the Rippleon ROC001 (OEM: NewEnergy CS) family of J1772 Level-2 EV chargers. The behavior of the J1772 state machine, fault model, and self-test sequence is modeled on OpenEVSE, but no source is copied. The safety core runs in C on FreeRTOS on the GD32F205VG main MCU; Wi-Fi/BLE/cloud features run on the FC41D module via ESPHome and a binary TLV protocol over UART.
Highlights
- Safety-first. GFCI, relay weld and stuck-open detection, hard and soft over-current, PE continuity, CP=E sustained, over-temperature, ADC out-of-range, boot self-test — all live and bench-validated.
- OCPP 1.6-J. StartTransaction / StopTransaction round-tripped to the safety MCU. Use any OCPP CSMS.
- Home Assistant native. ESPHome config on the FC41D module exposes the charger as a first-class HA device. No vendor app, no cloud account.
- Over-the-air updates. TLV-chunked OTA via Home Assistant; CRC verify + self-rollback on bad image.
- Honest about hardware. Single hardware target shipped today (Rippleon ROC001). Wishlist and porting outline on the Hardware page.
Status
v1 in development; v1.0.0-roc001 cut after a full charging session against a real 240 V EV passes against the bench-validated unit. Track progress in design specs and milestone plans .