Show HN: A Software-Defined USB PD Charger (ESP32, FPGA, Open Source Hardware)

  • Posted 8 hours ago by SDCforAll
  • 6 points
https://www.crowdsupply.com/candysign/hummingkit
We built a multi-port USB-C PD3.2 system that treats power delivery as a software-defined problem rather than fixed-function silicon.

This started as our internal R&D platform while developing a consumer charger. We were uncomfortable with the typical “the FAE handles the firmware, you just build the hardware” model that dominates the PD ecosystem. In that model, key behavior lives in vendor-controlled binaries, arbitration rules are opaque, and meaningful customization is either discouraged or impossible.

We wanted full ownership of the system — from power stage to protocol logic — and we wanted the ability to inspect, version, test, and evolve the charging algorithms ourselves. Instead of treating firmware as a thin configuration layer on top of fixed-function silicon, we designed the charger as a programmable system from the beginning.

Furthermore, we want to empower everyone.

So we redesigned the stack with a clean separation of concerns:

* ESP32-C3 (Wi-Fi + BLE) running open firmware

* FPGA handling safety features and control plane management

* 5× PD3.2 controllers (up to 140W per port capability)

The ESP32 chip offers:

* Local HTTP/JSON API

* MQTT client

* Prometheus exporter

* OTA updates

* Telemetry aggregation

Everything works locally; no cloud required (although cloud is available).

We approached this using software engineering discipline instead of traditional embedded shortcuts:

* Software defined, and software as an asset not a liability

* Open Source firmware

* Reviewable, testable modules

* Exposed APIs instead of hidden vendor blobs

The idea is simple: if modern infrastructure is observable and programmable, power delivery should be too.

It’s fully solid-state, built with industrial components (Coilcraft inductors, Murata/Samsung MLCCs), and powered by an off-the-shelf Mean Well PSU for reliability and traceability.

Repo: https://github.com/ifanrx/IonBridge

Happy to answer technical questions.

1 comments

    Loading..