The 10-Inch Rack PDU (Power Distribution Unit) is a modular power management system designed for efficient control and monitoring of power in a rack-mounted environment. The project includes a Main Board and a display board to handle switching and power management.
Update 05.2025: Since lot of people said, it would be nice to have a Non-230V-Version, I started to develop the USB-C version of ENERGIS with USB PD Source functionality: PDNode-600 Pro
| Feature | Description | Status | Note |
|---|---|---|---|
| Renamebable Channels | Channels are marked as 1–8; add label functionality | See: Control page | |
| Preset features | ENERGIS now offers 5 programmable presets to apply on output | See: Settings page | |
| Apply-On-Startup feature | A saved preset can be set to be auto-applied on device startup | See: Settings page | |
| Offset Calibration | Implement off-state auto-zero for 0.75–0.77V and 0.02–0.05A offsets | - | |
| Safety features | Software based current limit and restricion policy implemented | - | |
| Sheet metal enclosure | Manufacturing and assembly ready. No future revision for enclosure | - |
| Hardware Phase | Status | Firmware Phase | Status |
|---|---|---|---|
| PCB Design for Rev1.0 | ✅ Completed | CONFIG file for HW description | ✅ Completed |
| Enclosure Design | ✅ Completed | ILI4988 TFT LCD Driver | ✅ Completed |
| Order PCB | ✅ Completed | MCP23017 Display-Board Driver | ✅ Completed |
| Prototyping and Hardware Testing | ✅ Completed | MCP23017 Relay-Board Driver | ✅ Completed |
| Implementing Rev2.0 | ✅ Completed | W5500 Ethernet Driver | ✅ Completed |
| Implementing Relay Board Rev2.1 | ✅ Completed | CAT24C512 512K EEPROM Driver | ✅ Completed |
| Initial Firmware Development | ✅ Completed | Version Control and EEPROM Data | ✅ Completed |
| Final PCB Revision | ✅ Completed | Display Functions | ✅ Completed |
| Enclosure Testing & Ventilation | ✅ Completed | System Startup Script | ✅ Completed |
| Power Monitoring | ✅ Completed | Multicore processing and RTOS | ✅ Completed |
| Production Optimization | 🔵 Planned | Pushbutton control | ✅ Completed |
| - | - | HLW8032 Power Monitor Dirver | ✅ Completed |
| - | - | Make Everything work together | ✅ Completed |
| - | - | HTML Server Implementation | ✅ Completed |
| - | - | Software debugging | ✅ Completed |
| - | - | Ethernet based firmware update | ❌ Not Possible |
- Input: 230 V AC, 10 A max
- Output Voltage: 230 V AC
- Total Output Current (all channels combined): 10 A max
- Per-Channel Output Current: 10 A max per active channel, with total combined output limited to 10 A
- Internal Power Supply: 12 V, 1.5 A SMPS
- Derived Internal Voltages: 5 V and 3.3 V regulated from 12 V
- Common AC Trace Handling: 16A max
- Per-Relay Trace Rating: 16A max
- Relay Contact Rating: 16A max
- Relay Driver: ULN2803 Darlington Array
- Driving Current: 33 mA per relay
- Input: 250 V AC, 15 A max
- Output Voltage: 250 V AC
- Total Output Current (all channels combined): 15 A max
- Per-Channel Output Current: 15 A max per active channel, with total combined output limited to 15 A
- Internal Power Supply: 12 V, 1.5 A SMPS
- Derived Internal Voltages: 5 V and 3.3 V regulated from 12 V
- Common AC Trace Handling: 16 A max
- Per-Relay Trace Rating: 16 A max
- Relay Contact Rating: 16 A max
- Relay Driver: ULN2803 Darlington Array
- Driving Current: 33 mA per relay
- Main Board: Handles Ethernet communication, power conversion, and system logic. Manages AC switching with 8x 230V relays and safety isolation.
- Display Board: Headless mode, possible manual control with push buttons and real-time LED feedback
- Ethernet Connectivity: Uses the W5500 SPI-based Ethernet chip for remote control and monitoring via SNMPv1 and/or Web-UI
- Power Measurement: AC voltage and current sensing for monitoring.
- Sheetmetal Enclosure: Designed for 10-inch rack mounting with front and rear access.
The full schematics for each board are available:
Main Board Top |
Main Board Bottom |
Display Board Top |
Display Board Bottom |
PEM Adapter |
PEM Adapter |
The Energis PDU enclosure is built from Aluminum 5052 sheet metal with a thickness of 1.5 mm, ensuring both durability and lightweight construction. It follows a 10-inch rack form factor (1U height) with custom mounting brackets and integrated cutouts for AC input, Ethernet, USB-C, status LEDs, and IEC outlets.
Key specifications:
- Material: Aluminum 5052, 1.5 mm
- Finish: Powder coat (matte black, process black)
- Threads & tapped holes: Yes (no inserts, no welding)
- Marking: Laser engraved front and back panel labeling
- Design: Precision CNC cut and bent sheet metal, matte black powder-coated for protection and aesthetics
Mounting options:
- Desktop use without brackets
- 10-inch rack mounting
The ENERGIS now includes a lightweight embedded Web-UI for configuration and control.
Automated hardware and firmware validation is now integrated into ENERGIS.
Test reports are published through GitHub Pages for transparent, reproducible verification.
All tests are executed using my Universal Test Framework (UTFW), a custom Python-based automation framework, developed for hardware and firmware validation.
UTFW provides deterministic test sequencing, automated setup and teardown, structured logging, analysis, and unified HTML/XML reporting.
The nightly regression runs every individual test together to verify overall system stability and catch integration issues early.
Comprehensive end-to-end system test covering:
- UART communication
- SNMP protocol
- Web interface (PCAP)
- EEPROM persistence
- Power monitoring (HLW8032)
- ADC/thermal sanity checks
- Relay stress switching
- Serial Communication Test Report (HTML)
- Network SNMP Test Report (HTML)
- Network PCAP Analysis Report (HTML)
- PCAP Capture Test Report (HTML)
- Power Monitoring Test Report (HLW8032) (HTML)
- EEPROM Persistence Test Report (HTML)
- Sanity Check Test Report (HTML)
- Relay Stress Switching Test Report (HTML)
- Initial desing
- Correct all hardware related bugs
- Display-Board Rev0.2.0:
- Buttons too close to each-other. Manual control is uncomfortable
- MCP23S17 seems like unreachable, invertory shortage everywhere. Change to MCP23017
- Controller-Board Rev0.2.0:
- W5500 crystal wiring bug.
- v1.0 connectors replaced to smaller FFC ones
- Relay-Board Rev0.2.0:
- Add HLW8032 for power monitoring
- Replace Flyback converter to a cheaper - ready made AC-DC converter unit
- Relay-Board Rev0.2.1:
- Capacitive dropper does not have enough power to supply 8xHLW8032 - Non-Isolated buck converter implemented
- Display-Board Rev0.2.1:
- Planned revision without the LCD. This is the main size issue, going to do a version where the setup fits in 1U size. Currently for debug purposes 1.5U is perfectly fine
- Relay-Board and Controller Board is now combined: Main Board
- Added enable functionality to the PSU
- Added high precision LDO to supply the MCU
- Additional fan is possible, but the temperature doesn't go above 36°C
- Cleaned up routing both for Display- and Main board
- NEW: PEM-Adapter: Unfortunately the commercially available Power Entry Modules are using bussed topology, seems like it's impossible to buy snap-in modules with individual L/N control. The only possibility I've found is the 3-104-370 from Schurter, but it's a PCB-mountable version. Using a small adapter board to hook the solder joints to faston connectors seems to be the only possibility
This project's software is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). See the Software License file for details.
-
✅ You can freely use, modify, and distribute this software
-
✅ You can use this project for personal, educational, or internal purposes
-
✅ You can contribute improvements back to this project
-
⚠️ You must share any modifications you make if you distribute the software -
⚠️ You must release the source code if you run a modified version on a server that others interact with -
⚠️ You must keep all copyright notices intact -
❌ You cannot incorporate this code into proprietary software without sharing your source code
-
❌ You cannot use this project in a commercial product without either complying with AGPL or obtaining a different license
Hardware designs, schematics, and related documentation are licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License (CC BY-NC-SA 4.0). See the Hardware License file for details.
-
✅ You can study, modify, and distribute the hardware designs
-
✅ You can create derivative works for personal, educational, or non-commercial use
-
✅ You can build this project for your own personal use
-
⚠️ You must give appropriate credit and indicate if changes were made -
⚠️ You must share any modifications under the same license terms -
⚠️ You must include the original license and copyright notices -
❌ You cannot use the designs for commercial purposes without explicit permission
-
❌ You cannot manufacture and sell products based on these designs without a commercial license
-
❌ You cannot create closed-source derivatives for commercial purposes
-
❌ You cannot use the designer's trademarks without permission
Commercial use of this project is prohibited without obtaining a separate commercial license. If you are interested in:
- Manufacturing and selling products based on these designs
- Incorporating these designs into commercial products
- Any other commercial applications
Please contact me through any of the channels listed in the Contact section to discuss commercial licensing arrangements. Commercial licenses are available with reasonable terms to support ongoing development.
For questions or feedback:
- Email: dvidmakesthings@gmail.com
- GitHub: DvidMakesThings
Contributions are welcome! As this is an early-stage project, please reach out before making substantial changes:
- Fork the repository
- Create a feature branch (
git checkout -b feature/concept) - Commit your changes (
git commit -m 'Add concept') - Push to the branch (
git push origin feature/concept) - Open a Pull Request with a detailed description









