EVerest EV Charging Stack (BelayBox)
This lab explores the design, integration, and operational verification of an electric vehicle charging station (EVSE) using the LF Energy EVerest open-source charging framework and the Pionix BelayBox hardware reference design. Operating across a split-architecture platform comprising an STM32-based real-time power controller (Yeti) and a Linux-based Raspberry Pi Compute Module carrier board (Yak), students evaluate AC and DC charging topologies, low-voltage control circuits, and reinforced high-voltage isolation barriers. Students measure IEC 61851-1 Control Pilot PWM states, monitor isolated polyphase energy metering ADCs, test residual current monitoring (GFCI) and contact weld detection safety mechanisms, and observe ISO 15118 high-level vehicle communication via HomePlug GreenPhy power-line communication (PLC). Through hands-on configuration of Open Charge Point Protocol (OCPP) management connections, CAN bus power converters, and Modbus serial telemetry, students gain a comprehensive understanding of embedded systems, safety interlocks, and network communications in modern electric mobility infrastructure.
Uploaded by demo on 2026-09-03 · ready · Electronics · Original source ↗
Files: README.md · SECURITY.md · belaybox_README.md · dependencies.yaml · everest-metadata.yaml
Readiness checks
-
complete 2026-09-04 00:15 🛡 Cybersecurity: Review before networking · 4 findings 55 searches · 14 pagesview · PDF
Latest report — 2026-09-04 00:15
Readiness: EVerest EV Charging Stack (BelayBox)
Verdict: Ready with caveats · 2026-09-03 · est. parts cost EUR 2.500,00 for the complete BelayBox Assembly Kit (plus EUR 40–280 shipping); a component-level rebuild is not fully priced Cybersecurity — software & network: Review before networking
You can buy everything this lab needs today, but only just. Pionix sells the complete BelayBox Assembly Kit at EUR 2.500,00 and its product page reads "Low stock: 2 left". The YAK board on its own is "Out of stock", the YETI + YAK + CABLE bundle is unavailable, and the YETI Kit is also down to "Low stock: 2 left" — so a second station, or a replacement board, cannot be had from stock right now. At component level the picture is good: the boards' KiCad 6 sources and a BOM export are public under CERN-OHL-P-2.0, and of the parts identified from them every one is orderable from an authorized distributor except the RTC backup cell, which is obsolete and out of stock everywhere but has a verified direct substitute. This is the cold check — it establishes the baseline, so every part below carries its current price, stock and lifecycle for the next comparison.
One thing worth knowing before you read on: the snapshot was written from the upload, which contained no schematics and no BOM, so most components were recorded as specifications only. The project's reference-hardware repository is public and does carry a KiCad BOM export and the schematic sheets. Those supplied the real part numbers used throughout this report, and several correct a guess in the snapshot.
Action required
| Part | Problem | Recommended action |
|---|---|---|
| Yak High-Level Controller Board | "Out of stock" as a standalone YAK Kit (EUR 1.000,00), and the YETI + YAK + CABLE bundle is unavailable | Buy the complete BelayBox Assembly Kit (EUR 2.500,00, 2 left), which includes the YAK board; or ask support.pionix.com for a restock date |
| Coin cell, Yak RTC backup (ML-621S/DN) | Obsolete; zero stock at DigiKey, Mouser and Newark (DigiKey quotes a 22-week factory lead time); ECIA lifecycle risk High | Order ML621-TZ1 instead ($2.49, stock 10836) — DigiKey's Direct substitute, same 3 V and same 6.8 mm × 2.2 mm cell. Do not fit a CR2032/CR1220: wrong size and wrong chemistry (see Substitutes) |
| Isolated metering ADC (ADE7932ARIZ) | The exact tube part has 3 in stock at DigiKey and 2 at Mouser — five pieces across the only two authorized distributors, against 4 needed per board | Order the reel part ADE7932ARIZ-RL ($17.87, stock 838); check the minimum order quantity before committing |
| AC mains terminal block (WAGO 2606-1105) | DigiKey lists no stock quantity and ECIA reports no authorized distributor carrying it; rated 31 A against the snapshot's ≥ 32 A requirement | Order direct from WAGO. Confirm the 31 A terminal rating is acceptable before running the board at its 32 A jumper setting |
| CAN transceiver (SN65HVD230, no suffix in the design) | The plain SN65HVD230D is Obsolete; ECIA lifecycle risk High | Order SN65HVD230DR ($2.83). DigiKey shows 0 with a 12-week lead time, but Mouser holds 3684 at $3.08 |
| Motor lock driver (BD6221F-E2) | Lifecycle "Not For New Designs" | No action for a standard build — the whole circuit is marked DNP (do not populate) on the Yeti board. Only relevant if you populate the inlet-lock option |
| GFCI residual current sensor (T60404-N4641-X920) | Only one of two authorized distributors holds stock, at $49.95 | No action today (DigiKey stock 493). Buy a spare with the board — this is the board's most concentrated single-source risk |
Cybersecurity — software & network
Review before networking — Nothing checked came back with a known vulnerability, but almost nothing could be checked: the OS image and 27 libraries have no version pinned, the 22 that are pinned are source builds no advisory database covers, and the device's admin and SSH surfaces are undocumented.
| Component | Version | How known | Support status |
|---|---|---|---|
| Pionix BelayBox OS image (Raspbian/Debian for CM4) | not determined | not determined (The snapshot records the image only as 'Raspbian-based Pionix BelayBox OS'; it is supplied by Pionix on request and no version, release or codename is stated anywhere in the lab's materials.) | — |
| Yeti STM32 firmware (yeti-firmware) | not determined | not determined (belaybox_README.md gives only the repository URL; no tag, release or commit is recorded.) | — |
| LF Energy EVerest core stack | not determined | not determined (The lab's materials name the repository but not which EVerest release is installed on the BelayBox.) | — |
| sigslot | v1.2.3 | read from project (pinned as a git tag in dependencies.yaml (fetched fetched/01-dependencies.yaml)) | — |
| pugixml | v1.15 | read from project (pinned as a git tag in dependencies.yaml (fetched fetched/01-dependencies.yaml)) | — |
| libwebsockets | v4.5.2 | read from project (pinned as a git tag in dependencies.yaml (fetched fetched/01-dependencies.yaml)) | — |
| json-rpc-cxx | v0.3.2 | read from project (pinned as a git tag in dependencies.yaml (fetched fetched/01-dependencies.yaml)) | — |
| libcurl | curl-8_18_0 | read from project (pinned as a git tag in dependencies.yaml (fetched fetched/01-dependencies.yaml)) | — |
| Josev (ext-switchev-iso15118) | 26f79889e0472805422edb9799a8396d89437d63 | read from project (pinned as a git tag in dependencies.yaml (fetched fetched/01-dependencies.yaml)) | — |
| libnfc-nci (linux_libnfc-nci) | 2024.11.0 | read from project (pinned as a git tag in dependencies.yaml (fetched fetched/01-dependencies.yaml)) | — |
| ftxui | v6.1.9 | read from project (pinned as a git tag in dependencies.yaml (fetched fetched/01-dependencies.yaml)) | — |
| sdbus-cpp | v2.2.1 | read from project (pinned as a git tag in dependencies.yaml (fetched fetched/01-dependencies.yaml)) | — |
| gtest (googletest) | release-1.12.1 | read from project (pinned as a git tag in dependencies.yaml (fetched fetched/01-dependencies.yaml)) | — |
| catch2 | v3.10.0 | read from project (pinned as a git tag in dependencies.yaml (fetched fetched/01-dependencies.yaml)) | — |
| mosquitto | v2.0.22 | read from project (pinned as a git tag in dependencies.yaml (fetched fetched/01-dependencies.yaml)) | — |
| ryml (rapidyaml) | v0.10.0 | read from project (pinned as a git tag in dependencies.yaml (fetched fetched/01-dependencies.yaml)) | — |
| grpc | v1.71.0 | read from project (pinned as a git tag in dependencies.yaml (fetched fetched/01-dependencies.yaml)) | — |
| eebus-grpc | v0.2.0 | read from project (pinned as a git tag in dependencies.yaml (fetched fetched/01-dependencies.yaml)) | — |
| grpc-extended-cpp-plugin | v0.2.0 | read from project (pinned as a git tag in dependencies.yaml (fetched fetched/01-dependencies.yaml)) | — |
| nlohmann_json | v3.12.0 | read from project (pinned as a git tag in dependencies.yaml (fetched fetched/01-dependencies.yaml)) | — |
| nlohmann_json_schema_validator | 2.4.0 | read from project (pinned as a git tag in dependencies.yaml (fetched fetched/01-dependencies.yaml)) | — |
| date | v3.0.4 | read from project (pinned as a git tag in dependencies.yaml (fetched fetched/01-dependencies.yaml)) | — |
| libfmt | 12.1.0 | read from project (pinned as a git tag in dependencies.yaml (fetched fetched/01-dependencies.yaml)) | — |
| pybind11 | v3.0.2 | read from project (pinned as a git tag in dependencies.yaml (fetched fetched/01-dependencies.yaml); the same version was additionally checked against OSV via PyPI 3.0.2 (0 advisories).) | — |
| pybind11_json | 0.2.15 | read from project (pinned as a git tag in dependencies.yaml (fetched fetched/01-dependencies.yaml)) | — |
| EVerest Python packages (jinja2, pyyaml, requests, jsonschema, stringcase, pytest, pytest-asyncio, python-dateutil, paho-mqtt, pyftpdlib, ocpp, websockets, pyOpenSSL) | not determined | unpinned (Listed in everest-metadata.yaml (fetched fetched/02-everest-metadata.yaml) with a licence but no version constraint; the build installs whatever is current.) | — |
| EVerest C/C++ system and protocol libraries (ext-mbedtls, boost, sqlite_cpp/sqlite3, libcbv2g, libpcap, libevent, openssl, mqttc, libcap, nodejs/node-addon-api, nanopb, websocketpp, libmodbus, libbacktrace) | not determined | unpinned (Listed in everest-metadata.yaml (fetched fetched/02-everest-metadata.yaml) with a licence but no version constraint; supplied by the OS image or built from source at build time.) | — |
| EVerest internal components (libocpp, libevse-security, libslac, libfsm, liblog, libtimer, everest-framework, everest-admin-panel, everest-cmake, edm, everest-testing, everest-utils, hash-library, metamacros, cpm, code-coverage, ev-dev-tools) | not determined | not determined (Enumerated in everest-metadata.yaml without versions; they are first-party EVerest code built from the same tree.) | — |
| Component | Finding | Severity | Fix available? |
|---|---|---|---|
| EVerest Python packages and C/C++ system libraries | The 27 Python and C/C++ packages EVerest lists in everest-metadata.yaml carry a licence but no version constraint, so the charger builds against whatever version is current on the day it is built and there is no fixed version to check for vulnerabilities. | posture | Mitigation only - pin versions / use the lockfile |
| everest-admin-panel (web UI and admin backend) | A web admin backend that graphically edits the charger's configuration runs on the device, and the lab's materials state neither its listening port nor whether it requires a login, so its exposure cannot be established from the sources. | posture | Mitigation only - confirm the admin panel's port and authentication before enabling it, and keep it off any routable network |
| Pionix BelayBox OS image | The charger runs a vendor-supplied Raspbian image whose version is not stated and which exposes an SSH daemon on port 22, with the login credentials not documented in the lab's materials. | posture | Mitigation only - change any vendor default login before the unit is networked, and keep the charger on its own isolated network segment |
| pyftpdlib test harness | The automated test harness starts an FTP server on ports 20/21 plus a passive range while tests run, which is an open file-transfer service on whatever network the bench is plugged into. | posture | Mitigation only - run the test harness only on an isolated bench network |
What this means for your lab
This charger is a networked Linux computer that also switches mains power, so treat it like a server rather than an appliance. It reaches the outside world in several ways at once: an SSH login on the usual port, a web admin page that can rewrite the charger's own configuration, an outbound WebSocket link to a charging-station management system, an MQTT channel between its internal parts, a gRPC service when the EEBUS feature is on, and a link to the car itself over the charging cable. The lab's materials do not say what the SSH password is, nor whether the admin page asks for a login at all - so we cannot tell you it is safe, only that it is unknown. Someone else on the same network who reached that admin page could change how the charger behaves. Two further gaps matter: the operating system image comes from the vendor with no version on it, and 27 of the software libraries EVerest builds on have no version pinned, so neither can be checked against the public vulnerability databases. The 22 libraries that are pinned are compiled from source, which no vulnerability database indexes either. Practical advice: put the BelayBox on its own isolated network segment or a lab VLAN with no route to the campus network or the internet, change any vendor default login before you plug in a network cable, leave the admin panel off until you have confirmed it requires a password, and talk to campus IT before connecting it to anything shared. Running it on an isolated bench network is the single most effective thing you can do, and it costs nothing.
Not checked
- The 22 third-party libraries pinned in dependencies.yaml (libwebsockets v4.5.2, libcurl curl-8_18_0, mosquitto v2.0.22, grpc v1.71.0 and 18 others): EVerest builds them from source at pinned git tags. OSV.dev indexes package registries, not source checkouts, so no advisory database covers them - the lookups returned 'not an OSV ecosystem', which is not the same as 'no vulnerabilities'. The one exception was pybind11, whose git tag v3.0.2 is also published to PyPI as 3.0.2: that version was checked and has no known advisories.
- Pionix BelayBox OS image (Debian/Raspbian): No version, release or codename is stated in the lab's materials and the image is distributed by Pionix on request, so it could not be bound to a Debian support cycle - its end-of-life status is unknown.
- Yeti STM32 firmware: Vendor firmware for a microcontroller; there is no advisory database for it and no version is recorded.
- LF Energy EVerest core stack: The installed release is not stated in the lab's materials, so there is no version to check.
- EVerest Python packages (13, incl. requests, websockets, paho-mqtt, pyOpenSSL, ocpp): Unpinned in everest-metadata.yaml - there is no version to look up. A guessed version would produce a meaningless result.
- EVerest C/C++ system and protocol libraries (14, incl. openssl, ext-mbedtls, sqlite3, libmodbus, websocketpp): Unpinned in everest-metadata.yaml, and supplied by the OS image or built from source, so no registry version exists to check.
- EVerest internal components (libocpp, libevse-security, libslac, everest-framework and others): First-party EVerest code with no external advisory database and no versions recorded.
Parts
Primary boards and enclosure sub-assemblies
| Part | Spec/Package | Status | Stock | Price | Source |
|---|---|---|---|---|---|
| Pionix BelayBox Enclosure | Custom chassis; 3D-printable or CNC from project CAD | Readily available (in kit only) | Kit: 2 left | included in kit, EUR 2.500,00 | Pionix shop, "BelayBox Housing Parts [PN: 1004]" |
| Yeti 22 kW AC three-phase power board | Custom PCBA, 4 kV reinforced isolation barrier | Available, thin stock | "Low stock: 2 left" | EUR 700,00 | Pionix shop, YETI Kit [PN: 1001] |
| Yak high-level Linux controller board | Custom CM4 carrier PCBA | Hard to obtain standalone | "Out of stock" | EUR 1.000,00 | Pionix shop, YAK Kit [PN: 1002]; also inside the BelayBox kit |
| Raspberry Pi Compute Module 4 | CM4, Wi-Fi/BLE, 2–8 GB RAM, eMMC | Readily available | Multiple sellers | $45.00–$190.00 (e.g. 2GB/32GB Wi-Fi at $87.50) | Retail shopping; also included in the YAK Kit |
Yeti board embedded active components and sub-circuits
| Part | Spec/Package | Status | Stock | Price | Source |
|---|---|---|---|---|---|
| Microcontroller U16 — STM32G483RET6 | 64-LQFP (10×10), 1.71–3.6 V supply | Active | 885 (DigiKey), 550 Mouser, 132 Newark | $10.02 | DigiKey. Identified from the Yeti BOM — the snapshot did not name the family |
| Power relays K1, K2 — AHES4291 | Through hole, 12 VDC coil, 3PST-2NO/1NC, 35 A, 277 VAC nom. | Active | 122 (DigiKey), 1025 Mouser, 1000 Sager | $23.21 | DigiKey; 7 distributors in stock. See Watch list on the voltage rating |
| GFCI/RCM sensor U29 — T60404-N4641-X920 | Flux-gate module, 32 A/40 A, DC–2 kHz, 4.9–5.1 V, through hole | Active | 493 (DigiKey); Mouser out of stock | $49.95 | DigiKey. Snapshot guessed a 12 V or 3.3 V supply; it is a 5 V part |
| Isolated metering ADCs U11–U14 (×4) — ADE7932ARIZ | 20-SOIC (7.50 mm), 3.3 V | Active, but hard to obtain in the tube part | 3 (DigiKey) + 2 (Mouser) | $17.87 | DigiKey. Use the reel part — see Substitutes |
| FRAM U3 — CY15B256Q (no suffix in design) | 8-SOIC (3.90 mm), 2–3.6 V, SPI | Active (‑SXAT, ‑SXE); ‑SXA is Last Time Buy | 15000 (‑SXAT), 169 (‑SXE) | $4.54 (‑SXAT) · $13.42 (‑SXE) | DigiKey. The bare CY15B256Q is a family root, not orderable |
| AC/DC converter PS3 — MPM-20-12 | 4-DIP module, 80–264 VAC in, 12 V 1.8 A, 22 W | Active | 70 (DigiKey), 225 Onlinecomponents, 186 Mouser | $14.30 | DigiKey; 5 distributors in stock |
| Motor lock driver U25 — BD6221F-E2 | 8-SOIC (4.40 mm), 6–15 V, 1 A | Not For New Designs (circuit is DNP) | 1878 (DigiKey), 2500 TTI | $2.94 | DigiKey. Sheet note: "12V/1A driver for Motor Lock - not populated" |
| Zero-crossing detector circuit (L1 sync) | Discrete circuit across the 4 kV barrier | not checked | — | — | No single part number identifies it; ships populated on the YETI board |
Yak board embedded active components and communication interfaces
| Part | Spec/Package | Status | Stock | Price | Source |
|---|---|---|---|---|---|
| HomePlug GreenPHY PLC modem — I2PLCAMN-ISE-004-T (I2SE PLC Stamp) | SMT module, QCA7005/QCA7006, 3.3 V | Hard to obtain (not a catalog part); available from the vendor | Not stocked by any authorized distributor | "Sample-Price at 15,90 EUR" | 0 results at DigiKey; no ECIA distributor. Sold by chargebyte (formerly I2SE). Already fitted on the YAK board |
| CAN transceiver U22 — SN65HVD230 (no suffix in design) | 8-SOIC (3.90 mm), 3–3.6 V | Plain ‑D Obsolete; ‑DR Active | ‑DR: 0 DigiKey (12-wk lead), 3684 Mouser | $2.83 (‑DR) | DigiKey/Mouser. See Substitutes |
| CAN controller U17 — "MCP2515-xSO" | 8-SOIC | not checked | — | — | The schematic value leaves the temperature-grade character unresolved; no lookup was made rather than invent a suffix |
| RS-485 transceiver, Yeti U20 — THVD1450DR | 8-SOIC | Active | 17422 | $2.04 | DigiKey. The part actually on the Yeti board |
| RS-485 transceiver, Yak U21 — ISL83485 | 8-SOIC (3.90 mm), 3–3.6 V | ‑IBZ‑T7A Active; ‑IB and ‑IP Obsolete | 463 (‑IBZ‑T7A) | $2.92 | DigiKey. Snapshot's representative MAX3485EESA+ is also Active, $11.44, stock 965 |
| RTC U5 — PCF85063ATL (orderable PCF85063ATL/1,118) | 10-XFDFN (2.6×2.6), 0.9–5.5 V, I2C | Active | 35809 | $0.85 | DigiKey. Snapshot guessed DS3231/PCF8523/PCF8563 in SOIC-8 — all would be footprint mismatches |
| Coin cell BT1 — ML-621S/DN | 3 V rechargeable ML cell, 6.8 mm × 2.2 mm | Obsolete, unobtainable | 0 at DigiKey, Mouser and Newark | $1.16 listed | DigiKey; 22-week factory lead time. See Substitutes |
| Ethernet RJ45 jack — J0011D21BNL | Shielded RJ45 with magnetics | Active | 1933 | $9.55 | DigiKey (snapshot's representative; the jack fitted to YAK was not separately identified) |
| USB connectors — 67068-8000 (Molex 0670688000) | USB 2.0 Type-B receptacle, through hole right-angle | Active | 27704 (DigiKey), 35835 Mouser | $1.61 | DigiKey; 9 distributors in stock, cheapest authorized $0.7326 (Avnet) |
User interface, controls, and programming hardware
| Part | Spec/Package | Status | Stock | Price | Source |
|---|---|---|---|---|---|
| Pionix 1000-nit touchscreen display (optional) | 5" IPS, capacitive touch, custom stacking header | Available in kit only | Kit: 2 left | included in kit, EUR 2.500,00 | "BelayBox Display [PN: 1005]"; not sold standalone on the Pionix shop |
| NXP PN532 RFID module | 13.56 MHz reader, UART harness | Readily available | Many sellers | $11.99–$39.95 (Adafruit breakout $39.95) | Retail shopping; also included in the YAK Kit. UART-mode configuration not verified per listing |
| TagConnect TC2030-IDC programming cable | 6-pin spring-pin, proprietary footprint | Active, single-sourced | 1549 | $44.58 | DigiKey — the only authorized distributor with stock. One cable serves any number of boards |
| 32 A / 16 A selection jumper — 382811-6 | 2.54 mm header with shunt | Active | 131410 | $0.165 | DigiKey; a jumper also ships with the YAK Kit |
Interconnects, power terminals, and wiring
| Part | Spec/Package | Status | Stock | Price | Source |
|---|---|---|---|---|---|
| Yeti-to-Yak 10-pin umbilical pair — "WR-MPC3-Male-THT-10" | Würth WR-MPC3 series, 10-pin, through hole | not checked | — | — | The BOM gives a series/configuration string, not an orderable number. Supplied as "Cable Set [PN: 1003]" in the BelayBox kit |
| 12 V DC barrel jack — PJ-002A | Through-hole PCB barrel connector | Active | 88782 | $0.62 | DigiKey |
| AC mains terminal blocks — WAGO 2606-1105 (J1, J3) and 2604-1102 (J2) | 7.50 mm pitch, 5-pole lever/push-in, 31 A, 600 V | Active, but no distributor stock for 2606-1105 | 2606-1105: none listed · 2604-1102: 9362 | $16.04 (2606-1105/010-000) · $4.18 (2604-1102) | DigiKey; no ECIA distributor lists 2606-1105. Snapshot's representative 1988972 is Active, $1.03, stock 8848 |
| Vehicle charging cable / inlet (IEC 62196 Type 2) | 230/400 V AC, 32 A, CP + PP | Readily available | Multiple sellers | $156.10–$346.42 (open-end Type 2 32 A from $199.00) | Retail shopping. The BelayBox kit already ships with a Type 2 connector and cable set |
| External temperature sensor (10 kΩ NTC probe) | 2-wire probe to Yeti analog GPIO | Readily available | Many sellers | $7.66 (TDK B57500K0103A001, 3988 K) to $1.00 | Retail shopping. Beta match to the firmware table not verified |
| External SPI LCD header — 68000-108HLF | 0.1" (2.54 mm) pin header | Active | 3443 | $2.76 | DigiKey |
Optional external hardware for DC charging mode
| Part | Spec/Package | Status | Stock | Price | Source |
|---|---|---|---|---|---|
| External HV DC contactors (×2) | Chassis-mount, ≥ 1000 V DC, 12/24 V coil | not checked | — | — | No part number in the sources (brand examples only); quote-only industrial equipment |
| External DC fast-charging power module | 19" rack, 150–1000 V DC out, CAN control | not checked | — | — | No part number in the sources; quote-only industrial equipment |
| External insulation monitoring device | DIN-rail, RS-485/Modbus RTU | not checked | — | — | No part number pinned beyond the "Bender iso165C" example; quote-only instrument |
Substitutes
| For part | Substitute | Differences | Verified | Judgment |
|---|---|---|---|---|
| ADE7932ARIZ (metering ADC, 4 needed, 5 pieces available) | ADE7932ARIZ-RL — $17.87, stock 838 | Same manufacturer, same base part number, same DigiKey description; identical package 20-SOIC (0.295", 7.50 mm) on both; the ‑RL entry's 3.3–10 V supply range contains the plain part's 3.3 V, so the board's 3.3 V secondary rail is covered | Verified: package/case identical and supply range covers 3.3 V (DigiKey parametrics on both parts). Not verified: that "‑RL" denotes reel packaging only — that reading is assumed, and reel packaging may carry a minimum order quantity | Acceptable |
| ML-621S/DN (RTC backup cell, Obsolete, 0 stock) | ML621-TZ1 — $2.49, stock 10836 | Same 3 V rating, same 6.8 mm × 2.2 mm cell size, same ML rechargeable family; DigiKey classifies it a Direct substitute | Verified: rated voltage and size/dimension (DigiKey parametrics on both parts) plus DigiKey's Direct-substitute classification. Not verified: retainer/terminal style — the parametrics do not state it, and "‑TZ1" is assumed to be a termination code | Acceptable — this is the one to order |
| ML-621S/DN | MS621FE-FL11E — $2.51, stock 29188 | Same 3 V rating, same 6.8 mm diameter, 2.1 mm high against 2.2 mm (0.1 mm shorter); also a rechargeable cell | Verified: rated voltage and diameter (DigiKey parametrics on both parts); height difference stated. Not verified: terminal style, and whether the Yak charge circuit suits this cell's charging profile — no datasheet was fetched | Acceptable as a second source |
| ML-621S/DN | CR2032 / CR1220 (as named in the snapshot) | CR2032 measures 20.0 mm × 3.2 mm against the original's 6.8 mm × 2.2 mm, and it is primary (non-rechargeable) chemistry where the design uses a rechargeable ML cell | Verified: both cells' size and rated voltage from DigiKey parametrics this run | Rejected — hard stop. Wrong size for the retainer and wrong chemistry; do not fit a primary cell where a rechargeable one is expected |
| SN65HVD230D (CAN transceiver, Obsolete) | SN65HVD230DR — $2.83, Mouser stock 3684 | Same family, same package 8-SOIC (0.154", 3.90 mm), same 3–3.6 V supply; Active where the plain ‑D is Obsolete | Verified: package/case and supply range identical (DigiKey parametrics on both). Not verified: that the suffix difference is packaging only | Acceptable |
| TC2030-IDC (single-sourced programming cable) | Segger 8.06.16 J-Link 6-pin needle adapter — $138.52, stock 237 | DigiKey's own suggestion, but three times the price and classified only "Similar", not equivalent | Not verified: that the adapter mates with the TC2030 footprint — no datasheet or drawing was fetched | Plausible, unverified — do not treat as a drop-in. No action needed while TC2030-IDC is in stock |
Verify any substitute against its datasheet before ordering — the checks above are made from distributor parametrics, not from the boards themselves.
Other dependencies
- Reference hardware repository — github.com/PionixPublic/reference-hardware: live, fetched this run. KiCad 6 sources for both boards plus the Yeti BOM export, under CERN-OHL-P-2.0. This is the fallback if Pionix stock runs out.
- Pionix commercial shop — shop.pionix.com: live, fetched this run; the product list and three product pages were captured.
- PCB fabrication — 2 boards, KiCad 6. The Yeti stackup needs reinforced isolation construction with a 4 kV creepage barrier; board dimensions are not stated in the sources. No fabrication quote was sought — not checked. This is not a routine 2-layer order, and the isolation stackup narrows the field of fabricators considerably.
- Enclosure CAD (Autodesk Fusion 360) — a360.co/45erK90: not checked (not fetched this run).
- EVerest hardware assembly guide — everest.github.io/nightly/hardware/pionix_belay_box.html: the fetch failed this run ("page could not be downloaded — blocked, timeout, or gone"). Worth a manual check, since it is the assembly instruction source the lab relies on.
- Pionix BelayBox user manual — pionix.com/user-manual-belaybox: not checked.
- Pionix hardware support, LF Energy Zulip chat, LF Energy mailing list — not checked.
Watch list
- Pionix kit stock. Two BelayBox Assembly Kits and two YETI Kits left, YAK sold out. This is the whole lab in one line: if those sell before the next check, the only routes are a Pionix restock or fabricating the boards yourself. Re-check the shop first.
- ML-621S/DN backup cell. Already obsolete with zero authorized stock and a 22-week factory lead time. Expect the listing to disappear entirely; ML621-TZ1 is the standing answer.
- ADE7932ARIZ tube packaging. Five pieces across two distributors will not survive another buyer. The reel part is the practical route, and its stock is worth watching too.
- WAGO 2606-1105. No authorized distributor holds it and DigiKey publishes no quantity — a part that is catalogued but not stocked can quietly become a lead-time problem. Its 31 A rating against the snapshot's ≥ 32 A requirement is also unresolved.
- AHES4291 relay voltage rating. DigiKey's parametrics say 277 VAC nominal against the snapshot's stated ≥ 400 V AC requirement. The 40 A / 480 VAC sibling AHES4291Q exists but was not stocked at lookup time. Worth settling against the Yeti design before anyone substitutes a relay.
- Obsolete siblings hiding behind unsuffixed design values. The design names SN65HVD230, ISL83485 and CY15B256Q without package suffixes, and in each family at least one variant is Obsolete or Last Time Buy. Order the exact suffixes named in this report.
- The T60404-N4641-X920 GFCI sensor. One distributor with stock, $49.95, and no substitute suggested by DigiKey. A safety-critical part with a single supply line is worth a spare on the shelf.
Snapshot What the lab depended on when it was uploaded — the baseline the readiness checks research against.
This lab implements the Pionix BelayBox EV charging reference platform running the LF Energy EVerest open-source charging framework. The system is a two-board architecture comprising the Yeti AC/DC power controller board and the Yak high-level Linux carrier board. The electrical system operates across multiple power domains: a high-voltage AC grid power path running at 110 V / 230 V AC single-phase or 400 V AC three-phase (up to 32 A / 22 kW continuous, with external prototype capability up to 1000 V DC in DC test mode); an internal 12 V DC power distribution rail supplied either by an onboard 110/230 V AC to 12 V DC converter on Yeti or through an external 12 V DC barrel jack; and low-voltage digital rails consisting of 5 V DC (powering the Raspberry Pi Compute Module 4 host and USB VBUS) and 3.3 V DC logic throughout both boards (powering the STMicroelectronics STM32 microcontroller, isolated ADC secondaries, FRAM, PLC modem, RS-485 transceivers, CAN transceivers, and zero-crossing detection circuits). A 4 kV reinforced isolation barrier separates the high-voltage mains and metering circuits from the low-voltage control domain on the Yeti board.
Bill of Materials
Note on design source fidelity: The reference design files in the upload do not include raw KiCad schematics (.kicad_sch), PCB layouts (.kicad_pcb), or tabular BOM exports with manufacturer part numbers and reference designators. Component requirements below represent all physical parts, sub-modules, connectors, and peripheral assemblies documented in belaybox_README.md, the EVerest project documentation, and system wiring diagrams.
Primary Boards and Enclosure Sub-Assemblies
Pionix BelayBox Enclosure
- Identity: Custom 3D mechanical enclosure designed in Autodesk Fusion 360 (project link: https://a360.co/45erK90).
- Quantity needed: 1.
- Footprint/package: Custom chassis/enclosure assembly housing the Yeti power board, Yak controller board, display, and EV charging cabling.
- Electrical constraints: Must maintain electrical creepage and clearance distances compliant with IEC 61851-1 safety requirements; supports earth ground (PE) chassis bonding.
- Substitution latitude: Must match internal mounting standoff patterns and external I/O openings for Yeti and Yak; can be 3D printed or CNC machined from project CAD files.
- Control type: Enclosure/chassis (fixed mechanical housing).
- Sourcing plan: retail shopping search: Pionix BelayBox enclosure or general web research: Pionix BelayBox 3D CAD models https://a360.co/45erK90
Yeti 22 kW AC Three-Phase Power Board PCB Assembly
- Identity: Pionix Yeti reference power board (designed in KiCad 6; reference hardware repo: https://github.com/PionixPublic/reference-hardware).
- Quantity needed: 1.
- Footprint/package: Custom multi-layer PCB assembly featuring a 4 kV reinforced isolation barrier (designated white isolation strip across the board).
- Electrical constraints: High-voltage AC domain up to 400 V AC three-phase + Neutral at 32 A (22 kW); internal 12 V DC power bus; 3.3 V DC logic; 4 kV isolation barrier between high-voltage metering/relays and low-voltage control circuits.
- Substitution latitude: Must be the Yeti reference board design or an electrically identical implementation conforming to the Pionix Yeti pinout, UART protocol, and reinforced isolation stackup.
- Control type: Fixed power controller PCB.
- Sourcing plan: retail shopping search: Pionix Yeti power board assembly or general web research: Pionix reference-hardware Yeti KiCad 6 project
Yak High-Level Linux Controller Board PCB Assembly
- Identity: Pionix Yak reference carrier board (designed in KiCad 6; reference hardware repo: https://github.com/PionixPublic/reference-hardware).
- Quantity needed: 1.
- Footprint/package: Custom carrier board PCB designed to mate with Raspberry Pi Compute Module 4 (CM4) via high-density dual Hirose mezzanine connectors, stacking over Yeti.
- Electrical constraints: Input supply: 12 V DC (via 10-pin Yeti umbilical or external barrel jack); generates onboard 5 V DC and 3.3 V DC logic rails.
- Substitution latitude: Core carrier for CM4, GreenPhy PLC modem, and EVerest communication interfaces. Substitution requires board redesign to preserve identical I/O routing and 10-pin Yeti umbilical pinout.
- Control type: Fixed host carrier PCB.
- Sourcing plan: retail shopping search: Pionix Yak carrier board assembly or general web research: Pionix reference-hardware Yak KiCad 6 project
Host Processor: Raspberry Pi Compute Module 4 (CM4)
- Identity: Raspberry Pi Compute Module 4, Quad-Core ARM Cortex-A72 @ 1.5 GHz, 1 GB to 8 GB LPDDR4 RAM, onboard eMMC flash or external micro-SD slot, dual-band 2.4 GHz / 5.0 GHz Wi-Fi and Bluetooth 5.0.
- Quantity needed: 1.
- Footprint/package: Standard Raspberry Pi CM4 form factor (2x 100-pin high-density Hirose mezzanine board-to-board connectors).
- Electrical constraints: Supply rail: 5 V DC nominal (supplied by Yak carrier regulators); I/O voltage: 3.3 V.
- Substitution latitude: Any Raspberry Pi CM4 module with Wi-Fi/BLE enabled; if eMMC version is used, Yak's USB client port is required for flashing.
- Control type: Microcomputer host platform (fixed).
- Sourcing plan: retail shopping search: Raspberry Pi Compute Module 4 CM4 Wi-Fi
Yeti Board Embedded Active Components and Sub-Circuits
Microcontroller (Yeti U1)
- Identity: STMicroelectronics STM32 microcontroller (family and specific part number not stated in sources; runs Pionix yeti-firmware).
- Quantity needed: 1.
- Footprint/package: Surface-mount IC (LQFP or QFP package on Yeti PCB).
- Electrical constraints: Logic rail: 3.3 V DC; clocking and GPIOs for PWM CP generation, isolated ADC SPI/UART reads, GFCI monitoring, and UART to Yak.
- Substitution latitude: Specific STM32 MCU pinned by the compiled firmware binary in the
yeti-firmwarerepository. Cannot be swapped without modifying firmware register maps and pin definitions. - Control type: Fixed embedded microcontroller.
- Sourcing plan: general web research: STM32 microcontroller part number used in Pionix yeti-firmware hardware repository
Three-Phase Power Relays with Mirror Contacts
- Identity: 35 A electromechanical power relays with mechanically linked mirror contacts for contact weld detection.
- Quantity needed: Multiple (sufficient to switch L1, L2, L3, and Neutral; supports independent switching of 1-phase [N+L1] vs 3-phase [N+L1+L2+L3]).
- Footprint/package: Through-hole high-current PCB power relay footprint.
- Electrical constraints: Switched contacts rated for ≥ 400 V AC, ≥ 35 A continuous; coil voltage driven from 12 V DC rail using PWM coil holding reduction.
- Substitution latitude: Must have mechanically linked mirror contacts (EN 60947-4-1 / IEC 61851-1 compliant) for safety weld detection. Contact rating must meet or exceed 35 A at 400 V AC.
- Control type: Electromechanical safety switch.
- Sourcing plan: general web research: 35A 400VAC PCB relay with mirror contacts for EV charging
GFCI Residual Current Monitor Module
- Identity: Combined AC/DC Ground Fault Circuit Interrupter (GFCI / RCM) module.
- Quantity needed: 1.
- Footprint/package: SMT or through-hole modular daughtercard/sensor footprint on Yeti PCB.
- Electrical constraints: Detection threshold: 5 mA or 6 mA DC residual fault current (IEC 62955) and 20 mA or 30 mA AC residual fault current; provides analog leakage current telemetry output to STM32. Supply rail: 12 V or 3.3 V DC.
- Substitution latitude: Must conform to EVSE safety standards (IEC 62955 / IEC 61851-1) for smooth DC fault tripping at ≤ 6 mA and AC fault tripping at ≤ 30 mA, with telemetry output matching Yeti firmware ADC calibration.
- Control type: Integrated safety sensor.
- Sourcing plan: general web research: 6mA DC 30mA AC residual current monitor module for EVSE
Isolated Shunt-Based Energy Metering ADCs
- Identity: Isolated Analog-to-Digital Converters (ADCs) for 3-phase + Neutral shunt current and voltage measurement.
- Quantity needed: 3 or 4 (covering L1, L2, L3, and Neutral).
- Footprint/package: SMT isolated package (e.g. SOIC-8 or SOIC-16 wide-body with reinforced galvanic isolation).
- Electrical constraints: Sampling rate up to 8 kHz; galvanic reinforced isolation rating ≥ 4 kV; communicates over isolated digital serial bus to STM32; measures phase voltage, current, power, and line frequency.
- Substitution latitude: High-speed isolated delta-sigma or SAR ADC. Pinout and communication protocol must match Yeti PCB schematic.
- Control type: Fixed precision analog front-end.
- Sourcing plan: general web research: isolated delta-sigma ADC for shunt-based polyphase EV metering
Non-Volatile Memory (FRAM)
- Identity: Ferroelectric RAM (FRAM) IC for power metering non-volatile energy registers.
- Quantity needed: 1.
- Footprint/package: Standard SMT package (SOIC-8 / TSSOP-8).
- Electrical constraints: Supply rail: 3.3 V DC; SPI or I2C bus connection to STM32; high write endurance for continuous 8 kHz sampling accumulation.
- Substitution latitude: Any standard serial FRAM (Cypress/Infineon or Fujitsu) matching Yeti pinout and communication protocol. Standard EEPROM lacks required write cycle endurance.
- Control type: Fixed data storage.
- Sourcing plan: general web research: serial SPI/I2C FRAM memory 3.3V SOIC-8
Onboard AC/DC Power Supply Converter Module
- Identity: Compact AC/DC converter module, 110 V / 230 V AC universal input to 12 V DC regulated output.
- Quantity needed: 1.
- Footprint/package: PCB-mount encapsulated module or discrete onboard flyback circuit.
- Electrical constraints: Input: 85 V to 264 V AC, 50/60 Hz; Output: 12 V DC, capacity sufficient to supply Yeti board relays, electronics, and Yak carrier with CM4 (recommended ≥ 20 W to 30 W).
- Substitution latitude: Any pin-compatible universal AC/DC PCB power supply module matching Yeti's footprint and 12 V DC current requirement.
- Control type: Fixed internal power supply.
- Sourcing plan: general web research: PCB mount 110V/230V to 12V DC power supply module 25W
Motor Lock Driver Circuit
- Identity: 12 V / 1 A H-bridge or high-side switch driver circuit for EV inlet locking actuator.
- Quantity needed: 1 circuit (noted in sources as normally unpopulated on standard Yeti assembly).
- Footprint/package: SMT footprint on Yeti PCB.
- Electrical constraints: 12 V rail, 1 A peak current drive.
- Substitution latitude: Standard motor driver IC or MOSFET bridge matching Yeti PCB footprint.
- Control type: Unpopulated / optional actuator driver.
- Sourcing plan: general web research: 12V 1A motor lock driver IC for EV inlet
Zero-Crossing Detector Circuit (L1 Sync)
- Identity: Mains zero-crossing synchronization circuit outputting a 3.3 V TTL square wave synchronized to L1 zero crossings.
- Quantity needed: 1 circuit.
- Footprint/package: Onboard discrete/op-amp/optocoupler circuit crossing the 4 kV barrier.
- Electrical constraints: Mains L1 AC reference; outputs 3.3 V logic signal to external PLC modem for ISO 15118 carrier synchronization.
- Substitution latitude: Must maintain 4 kV reinforced isolation between L1 mains and the 3.3 V output.
- Control type: Fixed synchronization circuit.
- Sourcing plan: general web research: reinforced isolated mains zero-crossing detection circuit 3.3V TTL
Yak Board Embedded Active Components and Communication Interfaces
HomePlug GreenPhy PLC Modem
- Identity: ISO 15118 / DIN SPEC 70121 compliant HomePlug GreenPhy transceiver module or chip (e.g., Qualcomm QCA7000 / QCA7005 or Lumissil/Vertexcom equivalent).
- Quantity needed: 1.
- Footprint/package: SMT module or QFN IC on Yak carrier board, coupled to Control Pilot line.
- Electrical constraints: Supply rail: 3.3 V DC; SPI interface to Raspberry Pi CM4; analog front-end coupled via capacitor/transformer to Yeti CP line.
- Substitution latitude: Must be GreenPhy protocol compliant supporting High-Level Communication (HLC) under ISO 15118-2, ISO 15118-20, and DIN SPEC 70121.
- Control type: High-level charging modem.
- Sourcing plan: general web research: QCA7000 QCA7005 HomePlug GreenPhy PLC module for ISO 15118
CAN Bus Transceiver and Controller
- Identity: CAN bus interface circuit (CAN controller via CM4 SPI + 3.3 V / 5 V CAN transceiver IC, e.g., MCP2515 + MCP2551 / TJA1050 or native CM4 interface).
- Quantity needed: 1.
- Footprint/package: SMT IC(s) on Yak carrier board with screw terminal or RJ12/RJ45 connector.
- Electrical constraints: 3.3 V or 5 V logic; differential CANH/CANL bus for external DC power supply control.
- Substitution latitude: Standard ISO 11898-compliant CAN interface.
- Control type: Vehicle/power supply communication interface.
- Sourcing plan: general web research: 3.3V CAN transceiver IC for Raspberry Pi carrier
RS-485 / Modbus Transceiver
- Identity: Half-duplex RS-485 differential transceiver IC (e.g., MAX485, MAX3485, or isolated equivalent).
- Quantity needed: 2 (one on Yeti, one on Yak).
- Footprint/package: SOIC-8 SMT footprint on carrier boards.
- Electrical constraints: Supply rail: 3.3 V DC; differential A/B lines terminated for Modbus RTU telemetry with external meters or insulation monitors.
- Substitution latitude: Any standard half-duplex RS-485 transceiver operating at 3.3 V logic.
- Control type: Industrial bus interface.
- Sourcing plan: distributor lookup (representative example — sources give spec only): MAX3485EESA+
Real-Time Clock (RTC) IC and Battery Holder
- Identity: I2C Real-Time Clock IC with backup battery circuit (e.g., DS3231, PCF8523, or PCF8563).
- Quantity needed: 1.
- Footprint/package: SOIC-8 / TSSOP-8 SMT footprint, paired with a coin-cell battery retainer.
- Electrical constraints: Supply rail: 3.3 V DC; maintains system time when Yak board is unpowered.
- Substitution latitude: Any I2C RTC supported natively by Raspberry Pi OS / Linux kernel device tree overlays.
- Control type: System clock maintenance.
- Sourcing plan: general web research: I2C RTC IC with coin cell holder for Raspberry Pi CM4
Coin Cell Battery (Yak RTC)
- Identity: 3 V Lithium coin cell battery (CR1220 or CR2032 based on Yak socket size).
- Quantity needed: 1.
- Footprint/package: Coin cell form factor.
- Electrical constraints: Nominal voltage: 3.0 V DC.
- Substitution latitude: Standard commercial lithium coin cell matching the installed retainer size.
- Control type: Passive consumable power source.
- Sourcing plan: retail shopping search: CR1220 or CR2032 3V lithium coin cell battery
Ethernet PHY and RJ45 Jack
- Identity: Ethernet physical layer interface (utilizing CM4 BCM54210PE Gigabit PHY or onboard magnetics) terminating in an RJ45 modular jack.
- Quantity needed: 1.
- Footprint/package: PCB-mount shielded RJ45 jack with integrated magnetics and status LEDs.
- Electrical constraints: 10/100/1000Base-T Ethernet.
- Substitution latitude: Standard RJ45 connector matching Yak PCB footprint.
- Control type: Fixed network interface.
- Sourcing plan: distributor lookup (representative example — sources give spec only): J0011D21BNL
USB Host and Client Connectors (Yak)
- Identity: USB Type-A Host receptacle(s) and USB Micro-B or Type-C Client receptacle (for flashing CM4 eMMC).
- Quantity needed: 1 client connector; 1 or 2 host connectors.
- Footprint/package: Standard through-hole or SMT USB connectors matching Yak layout.
- Electrical constraints: 5 V VBUS, USB 2.0 / 3.0 compliant.
- Substitution latitude: Any USB connector matching Yak PCB mechanical footprint.
- Control type: Peripheral interface.
- Sourcing plan: distributor lookup (representative example — sources give spec only): 67068-8000
User Interface, Controls, and Programming Hardware
Pionix 1000-Nit Sunlight-Readable Touchscreen Display (Optional / Peripherals)
- Identity: Stackable HDMI display module available from Pionix; 1000 nits sunlight-readable brightness with capacitive touch overlay.
- Quantity needed: 1 (optional for human-machine interface).
- Footprint/package: Display module matching Yak's custom HDMI and capacitive touch stacking header.
- Electrical constraints: Powered from 5 V / 12 V DC rail; HDMI video signaling and I2C/USB touch interface.
- Substitution latitude: Custom stacking connector designed by Pionix; generic HDMI display requires cabling adapter.
- Control type: User-operated capacitive touchscreen.
- Sourcing plan: retail shopping search: Pionix stackable 1000-nit sunlight readable HDMI display
NXP PN532 RFID Module (External Peripheral)
- Identity: NXP PN532-based 13.56 MHz RFID/NFC reader board with UART interface.
- Quantity needed: 1 (for user RFID tap authorization).
- Footprint/package: External module with 4-pin or 5-pin UART/power harness connecting to Yak's dedicated RFID header.
- Electrical constraints: Supply rail: 3.3 V or 5 V DC; 3.3 V UART signaling (TX/RX).
- Substitution latitude: Any standard PN532 RFID breakout module configured for high-speed UART mode.
- Control type: User-operated RFID card reader.
- Sourcing plan: retail shopping search: PN532 NFC RFID reader module UART
TagConnect TC2030 Programming Port and Cable
- Identity: TagConnect TC2030-IDC 6-pin spring-pin programming connector footprint on Yeti PCB.
- Quantity needed: 1 footprint on PCB; 1 programming cable for firmware flashing.
- Footprint/package: TagConnect TC2030 6-pin leg or no-legs footprint on Yeti PCB.
- Electrical constraints: 3.3 V SWD (SWDIO, SWCLK, NRST, GND, VDD).
- Substitution latitude: Footprint is proprietary to TagConnect; programming requires matching TagConnect TC2030 cable connecting to ST-Link or J-Link debugger.
- Control type: Programming interface.
- Sourcing plan: distributor lookup: TC2030-IDC
32 A / 16 A Current Selection Jumper
- Identity: 2-pin or 3-pin standard 2.54 mm (0.1 in) pitch header with shunt jumper.
- Quantity needed: 1.
- Footprint/package: 2-pin 0.1" header.
- Electrical constraints: 3.3 V pull-up logic input to STM32.
- Substitution latitude: Any standard 2.54 mm jumper block.
- Control type: Set-once configuration jumper (hardware maximum current limit).
- Sourcing plan: distributor lookup (representative example — sources give spec only): 382811-6
Interconnects, Power Terminals, and Wiring
Yeti-to-Yak Board-to-Board Umbilical Connector Pair
- Identity: 10-pin board-to-board mating connector pair (header and receptacle, 2.54 mm or 2.0 mm pitch).
- Quantity needed: 1 pair (1 on Yeti, 1 on Yak).
- Footprint/package: Multi-pin vertical shrouded header and mating socket.
- Electrical constraints: Carries 12 V DC power from Yeti to Yak, ground, and bidirectional 3.3 V UART communication lines (TX, RX, control lines).
- Substitution latitude: Must match exact pinout, height, and pitch between stacked boards.
- Control type: Fixed board interconnect.
- Sourcing plan: general web research: 10-pin board to board connector Pionix Yeti Yak
12 V DC Power Barrel Jack (Yeti)
- Identity: PCB-mount DC power jack, center positive (typically 2.1 mm x 5.5 mm or 2.5 mm x 5.5 mm).
- Quantity needed: 1.
- Footprint/package: Standard through-hole PCB barrel connector.
- Electrical constraints: 12 V DC nominal input; rated for ≥ 3 A continuous to power both boards and relays during DC charging evaluation.
- Substitution latitude: Any barrel jack matching the Yeti PCB footprint.
- Control type: External power input.
- Sourcing plan: distributor lookup (representative example — sources give spec only): PJ-002A
AC Mains High-Current Terminal Blocks
- Identity: Heavy-duty PCB screw or spring-cage terminal blocks for grid connection (L1, L2, L3, Neutral, PE) and switched EV output.
- Quantity needed: 2 terminal blocks or sets of 5-pole connectors (Mains In: L1, L2, L3, N, PE; Switched Out: L1, L2, L3, N).
- Footprint/package: High-power PCB through-hole terminals (e.g. Phoenix Contact COMBICON or WAGO PCB terminals, 7.62 mm or 10.16 mm pitch).
- Electrical constraints: Voltage rating: ≥ 400 V AC / 600 V AC; Current rating: ≥ 32 A continuous.
- Substitution latitude: Any terminal block matching lead pitch and capable of carrying ≥ 32 A continuous safely.
- Control type: Heavy electrical power terminal.
- Sourcing plan: distributor lookup (representative example — sources give spec only): 1988972
Vehicle Charging Cable / Inlet Assembly
- Identity: IEC 62196 Type 2 (Mennekes) or SAE J1772 vehicle inlet or tethered cable assembly with Control Pilot (CP), Proximity Pilot (PP), and 32 A phase lines.
- Quantity needed: 1.
- Footprint/package: Chassis-mount EV socket or tethered plug with wire pigtails connecting to Yeti terminals.
- Electrical constraints: Voltage rating: 230/400 V AC, 32 A; Pilot lines: ±12 V CP signal, resistance-coded PP line.
- Substitution latitude: Standard IEC 62196 Type 2 socket/cable for European standard or SAE J1772 for North American standard.
- Control type: External user-operated charging connector.
- Sourcing plan: retail shopping search: IEC 62196 Type 2 EV charging cable 32A 22kW
External Temperature Sensor (Plug PTC/NTC)
- Identity: Plug-embedded NTC thermistor (e.g., 10 kΩ NTC) or PTC sensor to monitor charging connector pin overheating.
- Quantity needed: 1 or 2.
- Footprint/package: Embedded within charging plug assembly; 2-pin wire tail connecting to Yeti GPIO header.
- Electrical constraints: Measured via Yeti analog GPIO voltage divider.
- Substitution latitude: Standard 10 kΩ NTC thermistor with beta matching Yeti firmware lookup table.
- Control type: Passive thermal sensor.
- Sourcing plan: retail shopping search: 10k NTC thermistor temperature sensor probe
External SPI LCD Connector (Yeti)
- Identity: External pin header for small SPI LCD screen used in standalone Yeti charging mode.
- Quantity needed: 1.
- Footprint/package: 0.1" (2.54 mm) vertical or right-angle pin header on Yeti PCB.
- Electrical constraints: 3.3 V power and SPI bus signals (SCK, MOSI, CS, DC, RESET).
- Substitution latitude: Any standard 0.1" pin header matching footprint.
- Control type: Interface connector.
- Sourcing plan: distributor lookup (representative example — sources give spec only): 68000-108HLF
Optional External Hardware for DC Charging Mode
External High-Voltage DC Contactors
- Identity: Heavy-duty DC contactors (e.g., Gigavac, TE Connectivity, or Albright) for switching external high-voltage DC bus (up to 1000 V DC, 100 A to 250 A).
- Quantity needed: 2 (DC+ and DC- lines).
- Footprint/package: Chassis-mount high-voltage DC contactors with auxiliary feedback.
- Electrical constraints: 12 V or 24 V DC coil voltage (coils driven directly by Yeti onboard power relays); contact ratings ≥ 1000 V DC.
- Substitution latitude: Any automotive/industrial EV DC contactor with appropriate coil voltage and voltage/current interruption rating.
- Control type: External electromechanical contactor.
- Sourcing plan: general web research: 1000V DC 200A contactor 12V coil EV charging
External AC/DC DC Fast Charging Power Supply Module(s)
- Identity: Modular EV fast charging power converter module (e.g., Infypower, Huawei, or Tonhe 15 kW to 30 kW AC-to-DC converter).
- Quantity needed: 1 or more (30 kW prototype configuration described in documentation).
- Footprint/package: 19" rack-mount or standalone converter chassis.
- Electrical constraints: Universal 3-phase AC input; output variable 150 V to 1000 V DC; CAN bus control interface communicating with Yak.
- Substitution latitude: Any CAN-controlled industrial DC EV charger power module supported by EVerest CAN driver modules.
- Control type: External high-power converter module.
- Sourcing plan: general web research: CAN bus controlled 30kW EV charging AC DC power module
External Insulation Monitoring Device (DC Mode)
- Identity: High-voltage DC insulation monitor (e.g., Bender A-ISOMETER iso165C or equivalent).
- Quantity needed: 1.
- Footprint/package: Industrial DIN-rail or chassis module.
- Electrical constraints: Monitors DC bus insulation resistance to earth up to 1000 V DC; RS-485 / Modbus RTU interface connected to Yak.
- Substitution latitude: Any insulation monitoring device supported by EVerest Modbus driver modules.
- Control type: Safety monitoring instrument.
- Sourcing plan: general web research: Bender insulation monitor Modbus RS485 for DC EVSE
Software and network dependencies
The Pionix BelayBox platform depends on embedded microcode running on the Yeti STM32 board, a Debian/Raspbian-based operating system on the Raspberry Pi CM4, the LF Energy EVerest application stack, and 22 pinned third-party Git repositories compiled via CMake.
System Software and Platform Firmware
Pionix BelayBox Operating System Image
- Platform/Distribution: Raspbian / Debian-based embedded Linux image customized for Raspberry Pi Compute Module 4 with kernel device tree overlays for Yak hardware peripherals.
- Repository / Source: Available from Pionix via contact@pionix.de or Pionix BelayBox image repository.
- Version: Not stated in the sources (documented only as Raspbian-based Pionix BelayBox OS).
- Version provenance: Not stated.
- Version pinning: Unpinned.
- Manifest location: None uploaded.
- Network exposure: Connects to local Ethernet (Gigabit), dual-band Wi-Fi (2.4/5.0 GHz), and optional cellular USB modems. Exposes standard SSH daemon (port 22) and local EVerest service ports. Default credentials not stated in the sources.
- Check plan: support-status lookup: Debian Linux
Yeti STM32 Firmware
- Component: Embedded firmware for STMicroelectronics STM32 microcontroller handling the IEC 61851-1 state machine, PWM CP generation, relay switching, weld detection, and isolated ADC sampling.
- Repository / Source: https://github.com/PionixPublic/yeti-firmware
- Version: Not stated in the sources.
- Version provenance: Not stated.
- Version pinning: Unpinned in workspace (repository tracked externally).
- Manifest location: belaybox_README.md specifies git URL.
- Network exposure: None. Internal microcontroller communicating over local point-to-point 3.3 V UART to Yak controller board at 115200 baud.
- Check plan: not checkable: vendor firmware without advisory database
LF Energy EVerest Core Stack
- Component: Modular charging framework orchestrating ISO 15118-2/-20, IEC 61851, OCPP 1.6/2.0.1, energy management, and device drivers.
- Repository / Source: https://github.com/EVerest/everest
- Version: Not stated in the sources.
- Version provenance: Not stated.
- Version pinning: Unpinned in workspace.
- Manifest location: belaybox_README.md, README.md, everest-metadata.yaml.
- Network exposure: Communicates externally over ISO 15118 SLAC/PLC to EV; connects via WebSockets/TLS over Ethernet or Wi-Fi to remote OCPP Charging Station Management Systems (CSMS); listens locally for administration and inter-process communication.
- Check plan: vulnerability lookup: everest / github / latest
Third-Party Software Dependencies (from dependencies.yaml)
The following 22 dependencies are explicitly declared with fixed Git tags or commit hashes in dependencies.yaml and compiled into the EVerest stack via CMake:
sigslot
- Source: https://github.com/palacaze/sigslot
- Version: v1.2.3
- Version provenance: pinned in dependencies.yaml
- Check plan: vulnerability lookup: sigslot / github / v1.2.3
pugixml
- Source: https://github.com/zeux/pugixml
- Version: v1.15
- Version provenance: pinned in dependencies.yaml
- Check plan: vulnerability lookup: pugixml / github / v1.15
libwebsockets
- Source: https://github.com/warmcat/libwebsockets.git
- Version: v4.5.2
- Version provenance: pinned in dependencies.yaml
- Network exposure: Acts as WebSocket client for OCPP connections and server for local admin backend. Listens on TCP/IPv6 when enabled.
- Check plan: vulnerability lookup: libwebsockets / github / v4.5.2
json-rpc-cxx
- Source: https://github.com/jsonrpcx/json-rpc-cxx.git
- Version: v0.3.2
- Version provenance: pinned in dependencies.yaml
- Check plan: vulnerability lookup: json-rpc-cxx / github / v0.3.2
libcurl
- Source: https://github.com/curl/curl.git
- Version: curl-8_18_0
- Version provenance: pinned in dependencies.yaml
- Check plan: vulnerability lookup: curl / github / 8.18.0
Josev (ISO 15118 Communication Stack)
- Source: https://github.com/EVerest/ext-switchev-iso15118.git
- Version: 26f79889e0472805422edb9799a8396d89437d63
- Version provenance: pinned in dependencies.yaml
- Network exposure: Communicates over IPv6 link-local network via GreenPhy modem to connected EV for High-Level Communication (ISO 15118-2, -20).
- Check plan: vulnerability lookup: ext-switchev-iso15118 / github / 26f79889e0472805422edb9799a8396d89437d63
libnfc-nci
- Source: https://github.com/EVerest/linux_libnfc-nci.git
- Version: 2024.11.0
- Version provenance: pinned in dependencies.yaml
- Check plan: vulnerability lookup: linux_libnfc-nci / github / 2024.11.0
ftxui
- Source: https://github.com/ArthurSonzogni/ftxui
- Version: v6.1.9
- Version provenance: pinned in dependencies.yaml
- Check plan: vulnerability lookup: ftxui / github / v6.1.9
sdbus-cpp
- Source: https://github.com/Kistler-Group/sdbus-cpp.git
- Version: v2.2.1
- Version provenance: pinned in dependencies.yaml
- Check plan: vulnerability lookup: sdbus-cpp / github / v2.2.1
gtest (GoogleTest)
- Source: https://github.com/google/googletest.git
- Version: release-1.12.1
- Version provenance: pinned in dependencies.yaml
- Check plan: vulnerability lookup: googletest / github / release-1.12.1
catch2
- Source: https://github.com/catchorg/Catch2.git
- Version: v3.10.0
- Version provenance: pinned in dependencies.yaml
- Check plan: vulnerability lookup: catch2 / github / v3.10.0
mosquitto
- Source: https://github.com/eclipse-mosquitto/mosquitto
- Version: v2.0.22
- Version provenance: pinned in dependencies.yaml
- Network exposure: Core MQTT messaging broker and client library. Used for local inter-process communication (IPC) between EVerest modules. Can listen on port 1883 if configured as broker; compiled with broker disabled in default dependencies options.
- Check plan: vulnerability lookup: mosquitto / github / v2.0.22
ryml (Rapid YAML)
- Source: https://github.com/biojppm/rapidyaml
- Version: v0.10.0
- Version provenance: pinned in dependencies.yaml
- Check plan: vulnerability lookup: rapidyaml / github / v0.10.0
grpc
- Source: https://github.com/grpc/grpc.git
- Version: v1.71.0
- Version provenance: pinned in dependencies.yaml
- Network exposure: Listens on/initiates gRPC connections over HTTP/2 for EEBUS communication.
- Check plan: vulnerability lookup: grpc / github / v1.71.0
eebus-grpc
- Source: https://github.com/enbility/eebus-grpc.git
- Version: v0.2.0
- Version provenance: pinned in dependencies.yaml
- Check plan: vulnerability lookup: eebus-grpc / github / v0.2.0
grpc-extended-cpp-plugin
- Source: https://github.com/EVerest/grpc-extended-cpp-plugin.git
- Version: v0.2.0
- Version provenance: pinned in dependencies.yaml
- Check plan: vulnerability lookup: grpc-extended-cpp-plugin / github / v0.2.0
nlohmann_json
- Source: https://github.com/nlohmann/json
- Version: v3.12.0
- Version provenance: pinned in dependencies.yaml
- Check plan: vulnerability lookup: nlohmann-json / github / v3.12.0
nlohmann_json_schema_validator
- Source: https://github.com/pboettch/json-schema-validator
- Version: 2.4.0
- Version provenance: pinned in dependencies.yaml
- Check plan: vulnerability lookup: json-schema-validator / github / 2.4.0
date (Howard Hinnant Date library)
- Source: https://github.com/HowardHinnant/date.git
- Version: v3.0.4
- Version provenance: pinned in dependencies.yaml
- Check plan: vulnerability lookup: date / github / v3.0.4
libfmt
- Source: https://github.com/fmtlib/fmt.git
- Version: 12.1.0
- Version provenance: pinned in dependencies.yaml
- Check plan: vulnerability lookup: fmt / github / 12.1.0
pybind11
- Source: https://github.com/pybind/pybind11.git
- Version: v3.0.2
- Version provenance: pinned in dependencies.yaml
- Check plan: vulnerability lookup: pybind11 / github / v3.0.2
pybind11_json
- Source: https://github.com/pybind/pybind11_json.git
- Version: 0.2.15
- Version provenance: pinned in dependencies.yaml
- Check plan: vulnerability lookup: pybind11_json / github / 0.2.15
Supporting Libraries and Ecosystem Packages (from everest-metadata.yaml)
The following packages are enumerated in everest-metadata.yaml without explicit version pins:
Python Package Ecosystem:
- jinja2 (templating engine) — version not stated; check plan: vulnerability lookup: jinja2 / pypi / unpinned
- pyyaml (YAML parser) — version not stated; check plan: vulnerability lookup: pyyaml / pypi / unpinned
- requests (HTTP client) — version not stated; check plan: vulnerability lookup: requests / pypi / unpinned
- jsonschema (schema validation) — version not stated; check plan: vulnerability lookup: jsonschema / pypi / unpinned
- stringcase (string conversions) — version not stated; check plan: vulnerability lookup: stringcase / pypi / unpinned
- pytest (testing framework) — version not stated; check plan: vulnerability lookup: pytest / pypi / unpinned
- pytest-asyncio (async pytest support) — version not stated; check plan: vulnerability lookup: pytest-asyncio / pypi / unpinned
- python-dateutil (datetime utilities) — version not stated; check plan: vulnerability lookup: python-dateutil / pypi / unpinned
- paho-mqtt (Python MQTT client) — version not stated; check plan: vulnerability lookup: paho-mqtt / pypi / unpinned
- pyftpdlib (asynchronous FTP server library) — version not stated; check plan: vulnerability lookup: pyftpdlib / pypi / unpinned
- ocpp (Python OCPP JSON protocol implementation) — version not stated; check plan: vulnerability lookup: ocpp / pypi / unpinned
- websockets (Python WebSocket client/server) — version not stated; check plan: vulnerability lookup: websockets / pypi / unpinned
- pyOpenSSL (OpenSSL wrapper) — version not stated; check plan: vulnerability lookup: pyOpenSSL / pypi / unpinned
C/C++ System and Protocol Libraries:
- ext-mbedtls (Mbed TLS) — version not stated; check plan: vulnerability lookup: mbedtls / github / unpinned
- boost (Boost C++ libraries) — version not stated; check plan: vulnerability lookup: boost / boost / unpinned
- sqlite_cpp / sqlite3 (SQLite database engine) — version not stated; check plan: vulnerability lookup: sqlite3 / c / unpinned
- libcbv2g (V2GTP EXI codec library) — version not stated; check plan: vulnerability lookup: libcbv2g / github / unpinned
- libpcap (packet capture library) — version not stated; check plan: vulnerability lookup: libpcap / debian / unpinned
- libevent (asynchronous event library) — version not stated; check plan: vulnerability lookup: libevent / debian / unpinned
- openssl (cryptographic toolkit) — version not stated; check plan: vulnerability lookup: openssl / c / unpinned
- mqttc (MQTT-C embedded client) — version not stated; check plan: vulnerability lookup: mqtt-c / github / unpinned
- libcap (POSIX capabilities library) — version not stated; check plan: vulnerability lookup: libcap / debian / unpinned
- nodejs and node-addon-api (Node.js runtime and headers) — version not stated; check plan: vulnerability lookup: nodejs / node / unpinned
- nanopb (Protocol Buffers) — version not stated; check plan: vulnerability lookup: nanopb / github / unpinned
- websocketpp (C++ WebSocket library) — version not stated; check plan: vulnerability lookup: websocketpp / github / unpinned
- libmodbus (MODBUS RTU/TCP implementation) — version not stated; check plan: vulnerability lookup: libmodbus / github / unpinned
- libbacktrace (symbolic backtrace generator) — version not stated; check plan: vulnerability lookup: libbacktrace / github / unpinned
- EVerest internal utilities (libfsm, liblog, metamacros, libocpp, libevse-security, libslac, hash-library, libtimer, everest-framework, everest-admin-panel, everest-cmake, cpm, code-coverage, edm, ev-dev-tools, everest-testing, everest-utils) — versions not stated; check plan: not checkable: internal EVerest components without external advisory database.
Manifests and Unpinned Findings
- Primary dependency manifest:
dependencies.yaml(fully pinned for 22 git repositories). - Secondary package metadata:
everest-metadata.yaml(61 components, licenses declared, but version constraints are unstated). - Unpinned finding: The operating system image (Raspbian BelayBox image), Yeti STM32 microcontroller firmware, and all 13 Python dependencies lack explicit version pinning in the uploaded workspace files.
Network Exposure Summary
- Physical Interfaces: Fast/Gigabit Ethernet port, dual-band Wi-Fi 802.11b/g/n/ac (2.4/5.0 GHz), Bluetooth 5.0, CAN bus (industrial vehicle/power supply network), RS-485 / Modbus RTU (serial), and HomePlug GreenPhy PLC over Control Pilot line.
- Network Services / Ports:
- Local MQTT broker/client (port 1883 or Unix domain socket) for intra-module communications.
- Libwebsockets / WebSocket++ client connection outbound to CSMS over port 80 / 443 (OCPP-J 1.6 / 2.0.1).
- Web UI / Admin Backend:
everest-admin-panelfrontend and backend server for graphical configuration editing (listening port not specified in sources). - gRPC service:
eebus-grpclistening on network interfaces when EEBUS module is enabled. - HomePlug GreenPhy PLC: Uses IPv6 link-local communication (V2GTP over UDP port 15118 and TCP port 15118 for ISO 15118 communication with the vehicle).
- Test Harness FTP Server:
pyftpdlibruns an asynchronous FTP server during automated testing runs (ports 20/21 and passive ranges). - Remote Access: Documentation notes standard Linux networking on CM4; SSH server status and default login credentials are not stated in the sources.
Fabrication and Mechanical Specifications
- Board Count: 2 PCBs (Yeti power board and Yak controller carrier board).
- CAD Platform: KiCad 6 (KiCad schematics and layouts reside externally at https://github.com/PionixPublic/reference-hardware).
- Yeti PCB Dimensions & Layers: Board dimensions not stated in sources. Layer stackup requires reinforced isolation construction with a physical 4 kV creepage isolation barrier (prominent white soldermask/barrier strip on PCB separating mains switching and isolated metering from digital logic).
- Yak PCB Dimensions & Layers: Board dimensions not stated in sources; mechanically sized to fit standard Raspberry Pi CM4 mezzanine form factor with mounting provisions to stack onto Yeti.
- Mechanical Enclosure: 3D CAD design published in Autodesk Fusion 360 at https://a360.co/45erK90 with assembly instructions at https://everest.github.io/nightly/hardware/pionix_belay_box.html#pionix-belaybox.
External URLs and Remote Assets
- Reference Hardware Repository: https://github.com/PionixPublic/reference-hardware
- Yeti Firmware Repository: https://github.com/PionixPublic/yeti-firmware
- EVerest Software Repository: https://github.com/EVerest/everest
- Pionix BelayBox 3D CAD (Fusion 360): https://a360.co/45erK90
- Pionix BelayBox User Manual: https://pionix.com/user-manual-belaybox
- EVerest Hardware Assembly Guide: https://everest.github.io/nightly/hardware/pionix_belay_box.html#pionix-belaybox
- EVerest Security Policy: https://everest.github.io/nightly/project/governance/security.html
- Pionix Commercial Shop: https://shop.pionix.com/
- Pionix Hardware Support: https://support.pionix.com/
- LF Energy Zulip Chat: https://lfenergy.zulipchat.com/
- LF Energy Mailing List: https://lists.lfenergy.org/g/everest