Mark set out to simplify a cluttered workbench full of power adapters by designing a smart 8-channel power distribution and monitoring system built around an ESP32, giving him full control over each output while tracking voltage, current, energy use and even running costs in real time. As he explains, “there must be a better way,” and the result is a custom PCB with integrated current sensing, programmable protection, and an intuitive rotary-driven interface that can automatically shut down channels on overcurrent to protect connected devices. From careful PCB assembly and thermal management to firmware that stores settings and energy data in non-volatile memory, the project highlights both practical challenges and thoughtful engineering decisions, all wrapped up in a compact, 3D-printed enclosure designed for everyday use on the bench.
As laboratories and desktop workspaces become increasingly complex, so does the demand for reliable, intelligent power distribution. Mark’s custom-built "PowerMon 8" takes a practical problem, too many devices, too many adapters, and transforms it into a tightly integrated system that combines control, monitoring, and protection in a single unit.
“So I decided there must be a better way… not only does it distribute power… it also includes an energy monitor.”
This project goes beyond a simple power strip. It introduces real-time analytics, independent channel control, and programmable safeguards, all driven by an ESP32-based embedded system and supported by a purpose-built PCB.

From Clutter to Control: The Motivation Behind PowerMon 8
A scenario that is familiar to many: a workstation crowded with power-hungry devices, each requiring its own adapter and outlet. Maybe they're not all USB-C yet, maybe they're USB-A, perhaps some are still barrel jack. Regardless, you have a lot of power requirements, and so does Mark. Mark’s design consolidates this into a single distribution unit capable of powering and managing eight outputs independently.
Rather than simply routing power, the device actively monitors consumption and provides feedback, allowing users to understand both instantaneous usage and long-term cost implications.
“I have an office with a whole load of outlet sockets… and each socket is occupied with one of these annoying power adapters.”

System Architecture and Hardware Design
At the core of the system is an ESP32 microcontroller, chosen for its versatility and ability to manage multiple inputs, outputs, and communication tasks simultaneously. The hardware is divided into several key functional blocks:
- Eight independent output channels
- Dedicated current sensing per channel
- Switchable outputs via MOSFET stages
- Dual power regulation (fixed 5V and adjustable rail)
- User interface via rotary encoder and OLED display
Each output channel is effectively identical, simplifying both PCB design and firmware logic.
“It’s eight of them and they’re all the same… we have our energy monitor… outputs that can be enabled or disabled.”
The bill of materials listed out at the end of this blog reflects careful component selection, including:
- INA219 current sensors for precise per-channel monitoring
- Onsemi MOSFETs (FDN340P / FDN335N) for efficient switching
- LM1084 adjustable regulator for configurable output voltage
- Precision resistors and capacitors supporting stable measurements
This combination ensures accuracy in measurement while maintaining robustness under varying load conditions.

Power Stage and Thermal Considerations
Power handling is a critical aspect of the design. With multiple channels potentially drawing current simultaneously, thermal management becomes essential.
Mark addressed this by designing a custom heatsink solution tailored to the PCB layout.
“I designed my own heat sink… it all depends on how much power you’re going to export.”
Rather than using conventional mounting, thermal adhesive is used to secure the heatsink:
“There is a difference between this one and actual thermal paste… this one does [stick].”
This decision simplifies assembly while still providing effective thermal coupling. However, it introduces a constraint: sufficient curing time is required before applying load.

Assembly Challenges and Practical Considerations
Although many surface-mount components were pre-installed, assembly still required careful handling, particularly for fine-pitch soldering.
“That’s why I use a microscope… I instantly see it and I can correct it.”
LED alignment also proved important due to the enclosure design, requiring incremental soldering and verification:
- Initial single-pin soldering for adjustment
- Mechanical alignment checks with enclosure lid
- Final soldering once positioning was confirmed
These steps highlight a recurring theme: mechanical and electrical design must be considered together, especially in compact builds.

User Interface and Interaction Design
The system’s interface is deliberately minimal, relying on a single rotary encoder for navigation and configuration. Despite this simplicity, it enables full control over:
- Channel switching
- Current limit configuration
- Energy pricing
- System monitoring
“Rotate to navigate… press to confirm… depending on what layer in the menu we are in.”
Visual feedback is provided through both an OLED display and LED indicators, with clear colour coding for channel states:
- Green – active
- Blue – disabled
- Red – tripped
“If it’s triggered… it will be rather orange… and I manually have to enable it again.”

Firmware: Monitoring, Protection and Control
The firmware ties the entire system together, managing inputs, measurements, and output control in real time. The structure follows a typical embedded pattern:
- Initialisation in setup()
- Event-driven loop for interaction
- Periodic safety checks for protection
A key feature is continuous monitoring of current across all channels, with automatic shutoff when limits are exceeded.
“Whenever that current is exceeded… the output will be disabled immediately.”
A simplified representation of this logic appears in the code:
// Periodic overcurrent check (conceptual)
if (measuredCurrent[channel] > maxCurrent[channel]) {
disableOutput(channel);
setChannelState(channel, TRIPPED);
}
The firmware also maintains persistent state using non-volatile memory, ensuring that configuration and energy data survive power cycles.
“We retrieve some parameters from the non-volatile memory… channels that were on or off last time.”
Energy Monitoring and Cost Analysis of Real-World Behaviour and Safety Features
Beyond protection, PowerMon 8 delivers detailed energy insights. Each channel tracks:
- Voltage
- Current
- Power consumption
- Total energy usage
- Calculated cost
“I used 0.02 kilowatt hours… which is equal to 1 euro… because I set the unit price very high.”
This enables meaningful evaluation of device efficiency and long-term operational costs, particularly useful for development and testing environments. In practice, the system behaves intelligently under fault conditions. When a current limit is exceeded:
- Output is immediately disabled
- Status changes to indicate a fault
- User must manually reset the channel
“The minute I set the current limit lower… it will detect and it will switch off.”
This manual reset requirement ensures that faults are acknowledged rather than silently ignored.

Enclosure Design, Future Improvements and Expansion Possibilities
A custom 3D-printed enclosure brings the project together, ensuring:
- Secure PCB mounting
- Correct LED alignment
- Accessible controls
- Thermal clearance
The integration of mechanical, thermal, and electrical elements demonstrates a complete product-oriented approach rather than a simple prototype. While already feature-rich, the design naturally opens the door to further enhancements:
- Remote monitoring via Wi-Fi (leveraging ESP32 capabilities)
- Data export or logging to external systems
- Automated channel scheduling
- Integration with test automation frameworks
Mark encourages modification and iteration, highlighting the project’s adaptability.
“If you’re going to change something please let me know… I’m very curious on what you’re going to change.”
PowerMon 8 aims to be more than an exercise in PCB design, it is a practical tool that addresses everyone's messy workbench. By combining power distribution, monitoring, and protection into a cohesive system, Mark has created something that fits naturally into any serious workspace, and maybe, the non-serious ones too. Give it a go.
Supporting Links and Files
Bill of Materials
| Product Name | Manufacturer | Quantity | Buy Kit |
|---|---|---|---|
| CL31A106KBHNNNE | SAMSUNG | 8 | Buy Now |
| 16PK330MEFC6.3X11 | Rubycon | 2 | Buy Now |
| C0603C104K3RACTU | Yageo | 13 | Buy Now |
| TAJB107K006RNJ | Kyocera AVX | 2 | Buy Now |
| TAJA106K016RNJ | Kyocera AVX | 1 | Buy Now |
| CC0805KRX7R9BB104 | Yageo | 4 | Buy Now |
| ES5JB | Shandong Jingdao Microelectronics | 1 | Buy Now |
| L-934LID | Kingbright | 8 | Buy Now |
| FDN340P | Onsemi | 8 | Buy Now |
| FDN335N | Onsemi | 8 | Buy Now |
| LR2512-22R050F4 | TT Electronics | 8 | Buy Now |
| MCHP05W4F1200T5E | MULTICOMP PRO | 1 | Buy Now |
| ERA6ARB103V | Panasonic | 16 | Buy Now |
| 3314J-1-102E | BOURNS | 1 | Buy Now |
| 0805W8F1001T5E | Panasonic | 8 | Buy Now |
| MC0805S8F4701T5E | MULTICOMP PRO | 2 | Buy Now |
| MCHP05W4F1501T5E | MULTICOMP PRO | 3 | Buy Now |
| MC0805S8F5101T5E | MULTICOMP PRO | 3 | Buy Now |
| MCWR08X3301FTL | MULTICOMP PRO | 2 | Buy Now |
| MCTF0805BTC1002 | MULTICOMP PRO | 2 | Buy Now |
| EC11E09244AQ | ALPSALPINE | 1 | Buy Now |
| LM1084IS-ADJ-TP | TECH PUBLIC | 1 | Buy Now |
| KLDX-0202-A | Kycon | 9 | Buy Now |
| INA219AIDR | TI | 8 | Buy Now |
Additional Parts
| Product Name | Manufacturer | Quantity |
|---|---|---|
| ESP32 Doit Devkit 1 | ||
| Display SSD1351 OLEd color | ||
| PCB | ||
| AMS1084CM-5.0 or lm1084/lm1085 | AMS | 1 |
-
donnersm
-
Cancel
-
Vote Up
0
Vote Down
-
-
Sign in to reply
-
More
-
Cancel
Comment-
donnersm
-
Cancel
-
Vote Up
0
Vote Down
-
-
Sign in to reply
-
More
-
Cancel
Children