Readiness report

SimpleEVSE-WiFi Charger Retrofit · 2026-09-04 00:05 · complete · 13 searches, 15 pages fetched

Download PDF

Cybersecurity — software & network: Do not place on an open network · 6 findings

Details in the Cybersecurity section of the report below.

Readiness: SimpleEVSE-WiFi Charger Retrofit

Verdict: Ready with caveats · 2026-09-03 · est. parts cost €90 + $19 (minimum ESP8266 build) to about €415 (fully optioned 2.0 build) Cybersecurity — software & network: Do not place on an open network

This is the cold check for this lab — there is no previous report, so everything below is the baseline the next check will measure drift against. Every item in the bill of materials has a current, priced, in-stock source found this run, and the two boards the lab cannot run without — the EVSE charge controller and, on the 2.0 path, the EVSE-WiFi 2.0 Base — are both stocked by the original vendor at 2–5 business days. Three things keep this off a clean "Ready". The plain "EVSE WB" and "EVSE DIN" controllers the lab names are no longer sold; the vendor now offers only the "EVSE WBDIN Ladecontroller mit RS485", preconfigured for EVSE-WiFi 2.0, and its shipped firmware revision is not stated anywhere, so the lab's hard requirement (revision 8 or ≥ 10, with revision 9 explicitly unsupported) cannot be confirmed before ordering. The vendor's main domain has moved — evse-wifi.de now redirects to smartwb.de — and the firmware download page the lab's own README points at is dead, while the newest GitHub release carries no binaries, so the documented "flash.bat plus compiled binary" route is broken and the firmware must be built from source. Finally, upstream is stale: the last release is from January 2021 and the last commit from January 2023. None of this blocks the build, but an instructor should resolve the controller question with the vendor before spending money.

Action required

Part Problem Recommended action
Base EVSE Charging Controller The named "EVSE Wallbox" and "EVSE DIN" products are gone from the vendor catalogue; only the EVSE WBDIN with RS485 remains, and its firmware revision is not published. The lab requires revision 8 or ≥ 10 and rejects revision 9. Order the EVSE WBDIN Ladecontroller mit RS485 (€89.90) but ask the vendor in writing to confirm the shipped firmware revision, and confirm the TTL UART pins (TX/RX/GND/AN) are still exposed if you are building the v1.x ESP8266 variant.
Precompiled firmware / flash.bat The download page every release note links to (https://www.evse-wifi.de/download/) returned nothing this run, and release v1.1.0 attaches no .bin files. The no-toolchain flashing route does not work. Build from source with PlatformIO — the repository and its platformio.ini are intact and were fetched successfully this run. Budget lab time for toolchain setup, or request current binaries from the vendor.
Modbus energy meter (SDM120 / SDM630) Not carried by DigiKey at all; the distributor lookup returned unrelated parts with colliding names, and no ECIA-authorized distributor lists it. Buy the SDM630v2 from the lab's own vendor (€129.00) for three-phase, or an Eastron SDM120-Modbus ($65.39) for single-phase. Do not substitute a generic meter — the firmware's register map is specific to these.

Cybersecurity — software & network

Do not place on an open network — A network service that switches a mains EV charging contactor accepts unauthenticated commands, ships with a documented default password and an open setup access point, and upstream has been unmaintained since 2021 with no fix available.

Component Version How known Support status
SimpleEVSE-WiFi firmware (v1.x, ESP8266) 1.1.0 inferred (The lab materials pin no firmware version; v1.1.0 is the latest upstream release listed on the fetched GitHub releases page (published 2021-01-23).) —
EVSE-WiFi web interface and HTTP REST API (port 80) not determined not determined (Ships as part of the firmware; no separate version is recorded anywhere in the fetched files.) —
espressif32 (PlatformIO platform, env base_1_045) 3.0.0 read from project (Pinned as 'platform = espressif32@3.0.0' in fetched/01-platformio.ini.) —
espressif8266 (PlatformIO platform, env d1_mini) not determined unpinned (Declared as 'platform = espressif8266' with no version in fetched/01-platformio.ini.) —
plerup/EspSoftwareSerial 6.9.0 read from project (Pinned as 'plerup/EspSoftwareSerial@6.9.0' under [env:d1_mini] lib_deps in fetched/01-platformio.ini.) —
miguelbalboa/MFRC522 not determined unpinned (Listed in lib_deps of both environments with no version in fetched/01-platformio.ini.) —
bblanchon/ArduinoJson not determined unpinned (Listed in lib_deps of both environments with no version in fetched/01-platformio.ini; the snapshot notes v5/v6/v7 are mutually breaking.) —
emelianov/modbus-esp8266 not determined unpinned (Listed in lib_deps of both environments with no version in fetched/01-platformio.ini.) —
ESP8266 Core for Arduino 2.4.0 inferred (The fetched README.md states a minimum of v2.4.0 - a floor, not an exact pin, so the version actually built against is not determined.) —
Arduino IDE (alternative toolchain) not determined not determined (The fetched README.md says only 'Please install Arduino IDE if you didn't already'.) —
PlatformIO Core (build toolchain) not determined not determined (fetched/01-platformio.ini declares environments but pins no PlatformIO Core version.) —
CurtRod/ModbusMaster (mandatory fork) not determined unpinned (Source-only git fork tracked at master per the snapshot; no version appears in any fetched file.) —
ESPAsyncWebServer not determined unpinned (Named in the fetched README.md with no version; installed from git.) —
ESPAsyncTCP not determined unpinned (Named in the fetched README.md with no version; mandatory dependency of ESPAsyncWebServer.) —
ESPAsyncUDP not determined unpinned (Named in the fetched README.md with no version; ignored on the ESP32 environment per fetched/01-platformio.ini.) —
NTPClientLib not determined unpinned (Named in the fetched README.md with no version.) —
TimeLib not determined unpinned (Named in the fetched README.md with no version; mandatory dependency of NTPClientLib.) —
ESP8266Ping not determined unpinned (Named in the fetched README.md with no version.) —
Precompiled firmware binaries and flash.bat flasher not determined not determined (Distributed from the vendor download page, which did not respond when fetched this run.) —
Component Finding Severity Fix available?
EVSE-WiFi web interface and HTTP REST API (port 80) The web interface ships with a published default password, 'adminadmin', so anyone who can reach the device and has read the project's README can log in and control the charger. posture Mitigation only — change the web interface password at first boot, before the device is connected to any shared network.
EVSE-WiFi web interface and HTTP REST API (port 80) On first boot or after a config reset the device raises an open, unencrypted Wi-Fi access point named 'evse-wifi' with no password, and serves the full management interface on it at 192.168.4.1. posture Mitigation only — complete the initial setup out of range of other people, switch the device to client mode immediately, and never leave it sitting in access-point mode.
EVSE-WiFi web interface and HTTP REST API (port 80) The HTTP API needs no authentication: plain GET requests to /setStatus, /setCurrent and /doReboot let anyone on the same network start or stop charging, change the maximum charging current, or reboot the controller, and /getLog discloses the RFID user log. posture Mitigation only — put the device on an isolated network segment or VLAN with no route from the general campus network, and disable the API in settings if the lab does not need it.
Precompiled firmware binaries and flash.bat flasher The vendor download page the README and every release note send you to for compiled firmware and the Windows flash.bat flasher did not respond when fetched this run, and the releases carry no binaries and never published checksums or signatures, so there is no verifiable way to obtain a trusted prebuilt image. posture Mitigation only — build the firmware from source with PlatformIO using the project's own platformio.ini instead of running an unverified prebuilt binary.
SimpleEVSE-WiFi firmware (v1.x, ESP8266) Dependencies unpinned: 6 of 7 lib_deps entries in platformio.ini carry no version, so two builds a week apart can ship different library code and the firmware has no reproducible or checkable security state. posture Mitigation only — pin every lib_deps entry to an exact version in platformio.ini, as EspSoftwareSerial@6.9.0 already is.
SimpleEVSE-WiFi firmware (v1.x, ESP8266) The project is effectively unmaintained - the newest release is v1.1.0 from January 2021 - so no security fixes should be expected for the firmware or the libraries it pulls in. posture Mitigation only — treat the device as permanently unpatched and rely on network isolation rather than on updates.

What this means for your lab

Treat this charger controller as an untrusted device on your network. Its web interface starts with a password that is printed in the project's public documentation ('adminadmin'), and on first boot it broadcasts its own open Wi-Fi network called 'evse-wifi' that anyone nearby can join without a password. More importantly, its HTTP interface accepts commands without asking who is sending them: anyone who can reach the device on the network can start or stop a charging session, change how much current the charger delivers, reboot it, or download the log of which RFID card charged when. Because this controls a mains-powered EV charging contactor, that is a safety matter as well as a privacy one. The project has had no release since January 2021, so do not expect fixes. Before you connect it to anything, change the web password, put the device on its own isolated network segment or VLAN with no path from the general campus or student network, and talk to campus IT first. One thing we could not tell you: none of the firmware libraries this project uses have a vulnerability database covering them, so we cannot say whether they contain known flaws - that is unknown, not clean.

Not checked

  • plerup/EspSoftwareSerial 6.9.0: OSV has no 'platformio' ecosystem - the lookup returned unknown_ecosystem, so nothing was queried. This is not the same as 'no vulnerabilities'.
  • espressif32 3.0.0: Not queryable: OSV has no 'platformio' ecosystem, and endoflife.date has no 'espressif32' product, so neither advisories nor support status could be checked.
  • espressif8266 (PlatformIO platform): Unpinned - no version exists to check, and PlatformIO platforms have no advisory database.
  • miguelbalboa/MFRC522, bblanchon/ArduinoJson, emelianov/modbus-esp8266: Unpinned in platformio.ini, and Arduino/PlatformIO libraries have no vulnerability database in OSV.
  • ESP8266 Core for Arduino: The README gives a minimum (>= 2.4.0), not an exact version, and endoflife.date has no 'esp8266' product - support status unknown.
  • CurtRod/ModbusMaster (mandatory fork): Source-hosted git fork tracked at master - no registry and no version, so it cannot be checked against any advisory database.
  • ESPAsyncWebServer, ESPAsyncTCP, ESPAsyncUDP, NTPClientLib, TimeLib, ESP8266Ping: All unpinned and installed from GitHub source - no registry version and no advisory database for these ecosystems.
  • Arduino IDE and PlatformIO Core toolchains: No version is stated in any fetched file, so neither could be looked up.
  • Precompiled firmware binaries and flash.bat: The vendor download page did not respond when fetched, so the binaries themselves could not be retrieved or examined.
  • espressif32 3.0.0: support status: endoflife.date has no such product
  • esp8266 2.4.0: support status: endoflife.date has no such product

Parts

Part Spec/Package Status Stock Price Source
Base EVSE Charging Controller (EVSE WB / EVSE DIN) DIN-rail charge controller, IEC 61851-1, Modbus RTU over UART/RS485 Available — variant substitution required; named variants discontinued, firmware revision unconfirmed In stock, 2–5 business days €89.90 shop.evse-wifi.de (EVSE WBDIN mit RS485)
Main Microcontroller Board — ESP8266 (WeMos D1 mini / NodeMCU 1.0) 2.54 mm dual header module, 5 V in, 3.3 V logic Readily available Many sellers $1.97–$2.94 Google Shopping
EVSE-WiFi 2.0 Base Module (v2.0 option) ESP32, 1 TE DIN-rail housing, integrated RS485 Readily available In stock, 2–5 business days €159.90 shop.evse-wifi.de
DC Power Supply — Mean Well HDR-15-5 DIN-rail AC/DC, 85–264 VAC in, 5 V out, 2.4 A, 12 W Active, readily available 1,603 $12.50 DigiKey
TTL-to-RS485 Converter Module 5 V supply, 3.3 V/5 V TTL, automatic flow control, 9600 baud Readily available — flow-control claim unverified Many sellers $0.28–$5.28 Google Shopping
Modbus Energy Meter — Eastron SDM630 (optional) 3×230/400 V, DIN 4 TE, RS485 Modbus + 2× S0 Readily available — not via DigiKey In stock, 2–5 business days €129.00 shop.evse-wifi.de
Modbus Energy Meter — Eastron SDM120 (optional) Single phase 45 A, DIN 1 module, RS485 Modbus + pulsed output Readily available — not via DigiKey Retail listing $65.39 Google Shopping; specs from Eastron
S0 Pulse Energy Meter (optional alternative) DIN-rail meter, passive open-collector S0 output to GND Available — satisfied by the meters above; S0-to-GND characteristic not verified In stock, 2–5 business days €129.00 shop.evse-wifi.de (SDM630v2 lists 2× S0)
RFID Reader Module — RC522 / MFRC522 (optional) 3.3 V only, 13.56 MHz, SPI, 8-pin 2.54 mm header Readily available Many sellers $3.99–$7.50 Google Shopping
RFID Media — Mifare Classic 1KB cards/keyfobs (optional) ISO 14443A PICC, 13.56 MHz, 1 KB EEPROM Readily available — chip type not stated on the product pages In stock, 2–5 business days €0.49 each shop.evse-wifi.de (keyfob and card)
Pushbutton Switch (optional) Momentary SPST-NO, 16 mm panel mount, dry contact to GND Readily available — momentary action assumed, not stated In stock, 2–5 business days €5.90 shop.evse-wifi.de (LED-Taster, 16 mm)
Status Indicator LED — Lite-On LTL-4223 T-1 3/4 (5 mm) radial through-hole, Vf 2 V at 10 mA Active, readily available 66,048 $0.24 DigiKey
Wiring and Interconnect Hardware DuPont 2.54 mm F/M and F/F jumper wires, 22–26 AWG specified Readily available — 28 AWG, thinner than specified In stock $3.95 per 40 Adafruit (F/M); M/M set

Substitutes

For part Substitute Differences Verified Judgment
EVSE Wallbox / EVSE DIN controller EVSE WBDIN Ladecontroller mit RS485, €89.90 Same vendor and controller line; adds an integrated RS485 interface and arrives preconfigured for EVSE-WiFi 2.0 with Modbus enabled at Slave ID 1 (exceeds the original's interface set). DIN-rail form factor matches the EVSE DIN option; ships with the 220 Ω and 680 Ω PP resistors. Verified: current price, stock and lead time, DIN-rail form factor, IEC 61851-1 conformity, Modbus interface present and preconfigured (fetched vendor product page). Not verified: shipped firmware revision (page silent — the rev 8 / not-rev-9 constraint cannot be checked); TTL-UART pin availability for the v1.x ESP8266 path; the exact Modbus register map. Almost certainly the intended successor, but not verified against the lab's two hard constraints — confirm firmware revision and TTL-UART availability with the vendor before ordering.
Eastron SDM120 (single-phase Modbus meter) Eastron SDM630v2, €129.00 Three-phase rather than single-phase (3×230/400 V, 10 A nominal / 80 A limit) and 4 TE wide rather than 1 module — a larger DIN footprint, so check panel space. Carries the RS485 Modbus interface the firmware needs plus 2× S0, and is in the register-map family the snapshot permits. Verified: price, stock, RS485 Modbus interface, 2× S0 interfaces, 4 TE width, operating voltage and temperature range (fetched vendor product page). Not verified: 9600 baud / 8N1 and slave-ID-002 configurability; the S0 output's open-collector-to-GND characteristic. Acceptable where the vehicle charges three-phase, and it is the vendor's own recommendation for EVSE-WiFi 2.0. For single-phase installs prefer the SDM120-Modbus.
Separate S0 pulse meter Eastron SDM630v2 S0 output, €129.00, or Eastron SDM120-Pulse Removes a whole line item — one meter serves either the Modbus or the S0 wiring path, so no second meter is needed. Verified: the SDM630v2 page states "2x S0-Schnittstelle"; Eastron's page confirms an SDM120-Pulse variant with a configurable pulsed output (fetched pages). Not verified: that the S0 output is a passive open-collector/dry contact switching to GND, which is what the lab's GPIO0 wiring requires. Plausible and clearly the economical choice, but confirm the S0 output is passive before wiring it to GPIO0 — the lab warns explicitly against applying 3.3 V or 5 V to that input.
Generic RC522 breakout EVSE-WiFi RFID Reader module, €29.90 Costs roughly four to seven times a bare RC522 breakout, but ships with pre-soldered headers, all connecting cables, a card and a keyfob. Supply 3.3 V and 13.56 MHz match exactly; supports S50 (Mifare Classic 1K). The 32 × 40.5 mm version is currently unavailable; the 21 × 33 mm mini version is the one in stock. Verified: supply voltage 3.3 V, frequency 13.56 MHz, S50 support, price, lead time and mini dimensions (fetched vendor product page); endorsed as the supported RFID module by the project's own README (fetched). Not verified: that the module is MFRC522-based — the page names supported card types but never the chipset, and the lab requires MFRC522. Acceptable as a convenience option. The generic RC522 breakout is cheaper and is what the lab names, so prefer it; note the lab states PN532 and Wiegand readers will not work.
Momentary pushbutton LED-Taster, 16 mm, €5.90 Covers the pushbutton and the status LED in one part. 16 mm panel cutout is within the lab's 12/16/19 mm range; provides NO, NC and C terminals so the required normally-open dry contact is present; waterproof with sealing ring and nut; LED rail 3.3–5 V matches the lab's logic supply. An optional holder with DuPont sockets is offered. Verified: 16 mm panel-mount diameter, presence of a normally-open dry contact, LED supply range 3.3–5 V, price and lead time (fetched vendor product page). Not verified: momentary (non-latching) action — the page never states it; the German "Taster" conventionally means a momentary pushbutton, but that is assumed, not specified. Acceptable and convenient, subject to confirming momentary action — the lab makes actuator style a hard requirement (momentary, not a latching toggle or rocker). Generic momentary panel buttons are cheap if in doubt.
DuPont jumper wires at 22–26 AWG Adafruit 826 Premium Female/Male jumper wires, $3.95 per 40 Pitch 2.54 mm and the female-to-male gender both match. Gauge falls short: 28 AWG against the specified 22–26 AWG. Immaterial for the logic, SPI and S0 lines; marginal for the 5 V feed to the ESP board, which can draw 500 mA in Wi-Fi bursts. Verified: 2.54 mm pitch, connector genders, 28 AWG wire gauge, price and in-stock status (fetched Adafruit product pages). Not verified: nothing outstanding. Acceptable for signal wiring. Use thicker hookup wire, or double up conductors, for the 5 V supply run.

Verify any substitute against its own datasheet before ordering — the comparisons above rest only on the evidence gathered this run.

Other dependencies

  • https://www.evse-wifi.de/ — moved. The domain now redirects to https://www.smartwb.de/, which is live and was fetched this run; it sells the smartWB 11 kW Individual and Classic wallboxes and states that EVSE-WiFi is the open-source software running in each. The shop remains reachable at its own subdomain, shop.evse-wifi.de, which is where every vendor price in this report came from.
  • https://www.evse-wifi.de/download/ — dead. Fetching it returned nothing this run. This is the page the lab's README and every GitHub release note point at for compiled firmware and the Windows flash.bat flasher. Building from source with PlatformIO is the way forward; the repository and its build configuration are intact.
  • github.com/CurtRod/SimpleEVSE-WiFi — live but stale. The releases page was fetched: the newest release is v1.1.0 and it attaches no binary assets, only a pointer to the dead download page. The repository is not archived; its last commit is from January 2023.
  • https://github.com/CurtRod/ModbusMaster — not checked this run. The lab flags this fork as mandatory (the upstream library triggers an ESP watchdog reset on Modbus timeout), so its availability should be confirmed at the next check.
  • https://github.com/esp8266/arduino-esp8266fs-plugin — not checked this run.
  • Custom PCB / fabrication — none required. The lab records no layout files; the build is off-the-shelf modules wired point-to-point, so there is nothing to fabricate or source.
  • Vendor board-support files (base_1_045 board definition, default_8MB.csv partition table) — not in the repository. They are referenced by the build configuration but shipped only with the vendor hardware, so buying the EVSE-WiFi 2.0 Base module is the supported route for the ESP32 variant.

Watch list

  • The EVSE charge controller. The exact products the lab names are already gone, and the surviving variant is being steered toward EVSE-WiFi 2.0. If the vendor drops the standalone controller, or stops exposing TTL UART, the v1.x ESP8266 half of this lab loses its foundation. Confirm the firmware revision on first order and record it as the new baseline.
  • The vendor's web presence. One domain move and one dead download page in a single check is a lot of movement. Re-check shop.evse-wifi.de next run; if the shop follows the main site onto smartwb.de, every vendor URL in this report changes.
  • The firmware distribution channel. With no binaries on GitHub and the vendor page gone, source builds are the only route. If the repository's dependencies drift out from under the unpinned lib_deps entries, builds may start failing outright — the single pinned library, EspSoftwareSerial 6.9.0, is the exception, not the rule.
  • The Eastron meters. Neither DigiKey nor any ECIA-authorized distributor carries them, so pricing depends on the vendor shop and general retail. That is a thinner supply base than the rest of the BOM and worth watching for price movement.
  • The RFID module's regular-size variant is already marked unavailable at the vendor, with only the mini version in stock — a small signal that this peripheral line is thinning.