Community Charge Kiosk
24 V DC bus → USB-C PD 100 W ×4 + Qi pads + 12 V sockets, with a simple token/queue display.
Drop-in for portable power boxes or solar carts. Field-serviceable. Standards-aligned. No fluff.
What you’re building
Outputs
- USB-C PD: 4 × 100 W source ports (20 V × 5 A max each)
- Qi wireless: 2 × 15–25 W pads (Qi / Qi2-ready)
- 12 V sockets: 2 × automotive panel receptacles (15 A each)
Inputs
- 24 V DC bus via SB50 quick-connect
- Optional: solar/alternator upstream (handled by your battery box)
Brains (optional)
- ESP32 soft-AP queue/token screen (joins people to a charging queue)
- 0.96″ SSD1306 OLED for “Now Serving” + slot count
Bill of Materials (buy list)
Part
Notes
Qty
Ref
USB-C PD 100 W DC-input module (12–24 V)
Industrial 12–24 V input, PD 3.0/PPS; 5/9/12/15/20 V up to 5 A; mountable
4
Coolgear CG-PD100C or CG-PDC100W-PCBA
Qi wireless TX modules, 15 W (Qi / EPP), Qi2-ready if available
Use 12–19 V input reference designs/pads; ensure FOD & thermal cutback
2
WPC Qi EPP-class TX
12 V panel sockets (marine)
15 A rated; watertight cap; 1-1/8″ hole
2
Blue Sea 1011
Anderson SB50 panel/lead set
50 A class DC quick-connect; #6–16 AWG contacts
1
SB50 (red/grey keyed)
Busbars (150 A, covered)
Positive & negative distribution, #8-32 screws + 1/4″ studs
2
Blue Sea 2300/2301
Main battery fuse (Class-T or MRBF per bank)
Install at battery per ABYC; choose rating for cable ampacity
1
Class-T (main) + MRBF branches
Branch fuses/breakers
Size for wire: PD modules ~10 A ea @24 V worst-case; Qi 3–5 A; sockets 15 A
6–8
ATO/ATC or DIN DC breakers
Enclosure (IP-rated) + panel plate
Powder-coat steel or polycarbonate, IP65–67 target
1
~12″×10″×5″
Wire & lugs
Per ampacity & run length: 10 AWG for PD feeds; 14–16 AWG Qi; 12 AWG sockets
as needed
Tinned copper + heat-shrink
ESP32 dev board + SSD1306 128×64
For queue/token (optional)
1 set
ESP32-WROOM + I²C OLED
Fans & grill (optional)
80 mm 24 V PWM + filter for thermal management
1–2
≥20 CFM
Sizing wires? Use DC ampacity & voltage-drop charts; fuse for the wire, not the load.
Wiring Overview
Topology:
- SB50 inlet → upstream main fuse at battery → kiosk positive busbar
- From busbar → branch fuses → four PD modules, two Qi TX modules, two 12 V sockets
- Returns → negative busbar → SB50 return
Label every branch; leave a service loop; add grommets & strain reliefs.
Critical: At the battery, place over-current protection “as close as practicable,” respecting the 7″ / 40–72″ sheath exceptions. Use Class-T where fault currents are high; MRBFs can protect smaller branches.
Follow your battery maker’s fuse guidance.
Branch fuse starting points
- USB-C PD 100 W modules (24 V side): 10 A each
- Qi TX (15–25 W): 3–5 A each
- 12 V outlet: 15 A each (socket rating)
Adjust for cable gauge & run length per ampacity charts.
Suggested wire (short runs)
- PD branches: 10 AWG (or 12 AWG if short & ventilated)
- Qi pads: 16–14 AWG
- 12 V sockets: 12 AWG
Grounding & enclosure
- Bond negative bus to chassis if system requires it
- Target enclosure IP65+; filtered fan if Qi/PD heat builds
Step-by-Step Assembly
0) Prep & layout
- Print the Quick-Start Card for the lid.
- CNC/hand-cut panel plate: 4 × USB-C, 2 × Qi pad windows, 2 × 12 V sockets, status LED, service switch.
- Bench-test each PD module with a known load/cable before mounting.
1) Power ingress & protection
- Crimp SB50 contacts to your 24 V feed leads; verify polarity.
- At the battery side, install the main fuse (Class-T/MRBF) per manufacturer guidance and ABYC distance rules.
- Inside the kiosk, land positive/negative to covered busbars; torque per spec.
2) Mount converters & sockets
- Panel-mount the four PD modules; ensure airflow paths. Keep coil-to-metal clearance under Qi pads.
- Install 12 V sockets (1-1/8″ hole) with watertight caps oriented downward.
- Adhere Qi TX coils under the panel windows; follow the TX vendor’s coil height & FOD notes.
3) Branch wiring & fusing
- From positive bus → inline blade fuse or DIN breaker → PD module +VIN (10 A). Repeat ×4.
- Qi: 3–5 A each; 12 V sockets: 15 A each (use 12 AWG).
- Return all negatives to the negative busbar. Heat-shrink every crimp. Label both ends.
4) Optional queue/token display
- Wire ESP32 3V3/GND → SSD1306 (I²C SCL/SDA). Mount OLED behind a window.
- Flash the sketch below to host a captive “Join Queue” page; the OLED shows “Now Serving”.
ESP32 Queue (Soft-AP + OLED)
// Minimal ESP32 queue server + SSD1306 OLED (Arduino)
// Libraries: WiFi.h, WebServer.h, Adafruit_SSD1306, Adafruit_GFX
#include <WiFi.h>
#include <WebServer.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define OLED_RESET -1
Adafruit_SSD1306 oled(128,64,&Wire,OLED_RESET);
WebServer server(80);
const char* ssid="ChargeQueue";
const char* pass=""; // open AP
volatile uint32_t nextToken = 1, nowServing = 1;
String page(){
return String("<!doctype html><html><body style='font-family:sans-serif'>")
+ "<h2>Community Charge Queue</h2>"
+ "<p>Now Serving: <strong>"+String(nowServing)+"</strong></p>"
+ "<a href='/join'>Join Queue</a> • "
+ "<a href='/pop'>Advance (staff)</a></body></html>";
}
void draw(){
oled.clearDisplay(); oled.setTextSize(2); oled.setTextColor(SSD1306_WHITE);
oled.setCursor(0,0); oled.print("SERVING");
oled.setCursor(0,24); oled.setTextSize(3); oled.print(nowServing);
oled.display();
}
void setup(){
WiFi.softAP(ssid, pass);
Wire.begin(); oled.begin(SSD1306_SWITCHCAPVCC, 0x3C); draw();
server.on("/", [](){ server.send(200,"text/html",page()); });
server.on("/join", [](){
uint32_t tok = nextToken++;
server.send(200,"text/html","<p>Your token: <b>"+String(tok)+"</b></p><p><a href='/'>Back</a>");
});
server.on("/pop", [](){ nowServing++; draw(); server.sendHeader("Location","/"); server.send(302); });
server.begin();
}
void loop(){ server.handleClient(); }
ESP32 captive portal / AP patterns and SSD1306 library usage are documented by vendors and community guides.
5) Bring-up & test
- Check polarity & continuity (no load). Close fuses/breakers.
- Test each PD port with an e-marked 5 A USB-C cable and a PD analyzer or laptop; verify 20 V @ ≤5 A.
- Verify Qi pads with a Qi phone; confirm FOD trips with a stray coin.
- Load a 12 V socket with a 120–150 W car load; verify fuse trip point is appropriate.
6) Thermal & labeling
- Add an 80 mm 24 V fan + filter if the panel gets >40 °C at full load.
- Label: “USB-C PD 100 W MAX | E-marked cable required for 5 A”, “Qi 15–25 W”, “12 V 15 A”.
Hazards & Rules (read before use)
- Fuse at the source. Main battery protection at the battery per ABYC; branch fuses sized to wire ampacity.
- USB-C 5 A requires e-marked cable. Without it, compliant PD sources won’t deliver 5 A/100 W.
- Qi pads heat metal. Keep ferritic objects off the pad; rely on FOD & thermal cutback.
- DC arcs bite. De-energize before service; cover busbars; use torque spec and strain relief.
- Ingress. If outdoors, target IP65+ panel geometry; drip loop your SB50 lead.
24 V Battery Runtime Estimator
Rough math; assumes 90% DC path efficiency and uses 80% of rated pack capacity for life.
Loads
× PD @ W
× Qi @ W
W other (fans, router, etc.)
Result
—
—
Printable Quick-Start (panel lid)
Community Charge Kiosk — Quick-Start
- Connect 24 V: SB50 to battery box (main fuse at battery).
- USB-C PD (x4): Use e-marked 5 A cable for 100 W; otherwise limited to ≤3 A.
- Qi pads (x2): Place phone centered; remove metal cases.
- 12 V sockets (x2): 15 A max each; do not exceed rating.
- Join queue: Connect to Wi-Fi “ChargeQueue” → tap “Join”.
- Shutdown: Unplug loads → open branch breakers → disconnect SB50.
Service: open panel; check for loose lugs, heat-discolored terminals, and blown fuses.
References
- USB-IF — USB Power Delivery Rev 3.1 overview (240 W EPR; 100 W at 20 V×5 A requires 5 A-rated e-marked cable)
- Wireless Power Consortium — Qi / Qi2 specs and 15–25 W capabilities (EPP & Qi2)
- Blue Sea Systems — DC wire ampacity & wire-size selection
- ABYC E-11 excerpt — battery fuse placement distance rules (7″ baseline; sheath exceptions)
- Anderson Power — SB50 datasheet (ratings, wire sizes)
- Coolgear — 12–24 V DC-input USB-C PD 100 W modules (industrial, mountable)
- IEC — IP ratings (ingress protection)
- ESP32 docs — captive portal/AP patterns; SSD1306 OLED library docs