Skip to content

DvidMakesThings/HW_10-In-Rack_PDU

Repository files navigation

ENERGIS - The Managed PDU Project for 10-Inch Rack

Overview

Firmware Development Status

PDU 3D View

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

Progress and news

Latest Features

Feature Description Status Note
Renamebable Channels Channels are marked as 1–8; add label functionality Completed See: Control page
Preset features ENERGIS now offers 5 programmable presets to apply on output Completed See: Settings page
Apply-On-Startup feature A saved preset can be set to be auto-applied on device startup Completed See: Settings page
Offset Calibration Implement off-state auto-zero for 0.75–0.77V and 0.02–0.05A offsets Completed -
Safety features Software based current limit and restricion policy implemented Completed -
Sheet metal enclosure Manufacturing and assembly ready. No future revision for enclosure Completed -

Currently working on

Improvement Description Status
Production optimization Finalize assembly workflow and cost reduction In Progress
Extended testing Expand automated test coverage (I²C, SPI, long-term soak tests) In Progress
Community feedback Incorporate suggestions and adapt design for wider use cases Open
And even more debugging It survived the 24h test, but you can never test enough In Progress

Development Phases (Hardware + Firmware)

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

Specifications (EU, IEC/ENEC)

Electrical Characteristics

  • 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

Relay Output Ratings

  • Common AC Trace Handling: 16A max
  • Per-Relay Trace Rating: 16A max
  • Relay Contact Rating: 16A max

Control and Driving Circuit

  • Relay Driver: ULN2803 Darlington Array
  • Driving Current: 33 mA per relay

Specifications (US/Canada, UL/CSA)

Electrical Characteristics

  • 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

Relay Output Ratings

  • Common AC Trace Handling: 16 A max
  • Per-Relay Trace Rating: 16 A max
  • Relay Contact Rating: 16 A max

Control and Driving Circuit

  • Relay Driver: ULN2803 Darlington Array
  • Driving Current: 33 mA per relay

Features

  • 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.

Schematics

The full schematics for each board are available:


Hardware Stackup

Main Board 3D Top View
Main Board Top
Main Board 3D Bottom View
Main Board Bottom
Display Board 3D Top View
Display Board Top
Display Board 3D Bottom View
Display Board Bottom
PEM-Adapter 3D Top View
PEM Adapter
PEM-Adapter 3D Bottom View
PEM Adapter

Enclosure

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



PDU 3D View 1 PDU 3D View 2



Mounting options:

  • Desktop use without brackets
  • 10-inch rack mounting

Web UI

The ENERGIS now includes a lightweight embedded Web-UI for configuration and control.

Control page

Web-UI

Settings page

Web-UI Settings


Tests

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.


Nightly Regression Suite

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

Latest Regression Report


Individual Test Reports


Changelog:

Rev0.1.0:

  • Initial desing

Rev0.2.0:

  • 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

Rev0.2.1:

  • 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

ENERGIS 1.0.0

  • 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

ENERGIS 1.1.0

  • 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

License

Software Components

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.

What AGPL-3.0 means:

  • 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 Components

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.

What CC BY-NC-SA 4.0 means:

  • 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 & Enterprise Use

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.

Contact

For questions or feedback:

Contributing

Contributions are welcome! As this is an early-stage project, please reach out before making substantial changes:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/concept)
  3. Commit your changes (git commit -m 'Add concept')
  4. Push to the branch (git push origin feature/concept)
  5. Open a Pull Request with a detailed description

About

8CH PDU for 10 Inch Racks

Topics

Resources

License

AGPL-3.0, Unknown licenses found

Licenses found

AGPL-3.0
LICENSE-AGPL
Unknown
LICENSE-CC-BY-NC-SA

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

  •  

Packages

No packages published

Contributors 3

  •  
  •  
  •