I've been working on an open-source PDU controller...

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

Dave Corder

Well-Known Member
Dec 21, 2015
421
319
63
43
In my homelab/homeprod environment, I have several APC AP9210 and AP9211 1U rack-mount PDUs that I've picked up for next to nothing over the years. They could be considered ancient now, but they are built like tanks. Mine are still going strong, but their management capabilities leave a lot to be desired, especially compared to other options these days (IMHO).

I've retrofitted one of them (so far) by ripping out the guts and wiring the 8 outlets inside to a Kincony KC868-A8 board (8 relays, with Ethernet, powered by an ESP32). My first iteration simply used ESPHome on the board, and that works well enough, but I also have a pair of OpenJBOD boards, which have inspired me to work on some custom code to be the brains of these things. I'm calling it "OpenPDU".

I've almost got the first iteration of the software ready and, honestly, I just wanted to show off a little bit right now. I have a couple more things to add (mainly MQTT support and power-on delays) before I'm ready to start using it myself and publish the code, but it's close.

The KC868-A8 has enough expansion options that I could add overall or per-port current monitoring as well, but for now it's just switched outlets and NeoPixel-based status LEDs. I plan to have a more detailed post eventually on the hardware side of things eventually, but it's been tough to find the time to work on that part of the project lately.

It's written in MicroPython and runs on the KC868-A8's ESP32. I've tried to make the code flexible enough to be able to be easily adapted to other hardware, but for now it is somewhat tailored to my use cases.

Any thoughts or comments or other feedback would be welcomed.

Screenshot 2026-02-14 at 2.38.28 PM.png