Skip to the content
2 layers80 × 50 mmOpen PSU Meter ESP32, the printed circuit board in 3D

Open PSU Meter ESP32

nitefood/opsum5

OPSUM - The Open PSU Meter project

Size
80 × 50 mm
Copper layers
2
Thickness
1.6 mm
Parts
51
Nets
84
Pads
192
Tracks, vias
307, 268
Pours
61
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
22 Jun 2026
Updated
15 Jul 2026

Overview

Open PSU Meter ESP32 is an open-source printed circuit board by nitefood, from the nitefood/opsum repository on GitHub, published under the MIT licence. It is a 2-layer board of 80 × 50 mm with 51 parts on 84 nets, routed with 307 tracks and 268 vias.

It is built around the B0505S-2WR3, ADUM1201ARZ-RL7 and CH340N, with the INA226AIDGSR, CC0603KRX7R9BB104 and CL31A476MPHNNNE among its other parts. Its parts include 15 capacitors, 14 resistors, 6 diodes, 4 ICs and 2 connectors. It belongs with the power boards and the ESP32 boards of this library.

Main components

12

README

README.md

OPSUM - The Open PSU Meter project

OPSUM is a DC voltmeter and ammeter board with 4mm banana socket inputs, that enables measuring and logging voltage, current and power, even when using a bench PSU that has no builtin telemetry feature. Communication between the board and the host happens via UART protocol over a dedicated USB port that is galvanically isolated from the PSU/DUT (power supply unit and device under test) side of the PCB, in order to protect the host-side (PC) from potentially destructive shorts or spikes happening on the DUT side.

This repository is structured as a monorepo: hardware design files, enclosure CAD files, firmware, host-side GUI tools, release binaries, communication protocol documentation, and third-party GUIs are kept together so you can build, flash, and evolve the project starting from a single source of truth.

Features

Current
  • Real-time voltage, current, and power monitoring based on the INA226 monitor IC and the ESP32-S3 SoC.
  • Kelvin-sensed shunt layout and full noise filtering (as per TI's datasheet, chapter 6.4.2 "Filtering and Input Considerations") for improved measurement accuracy.
  • Reverse-polarity, overvoltage, and negative-voltage protection circuitry.
  • PMOS input protection stage with zener-clamped gate drive.
  • TVS + Schottky protected INA VBUS input.
  • Galvanic isolation protecting the host-side USB port from the PSU/DUT side.
  • Handles up to 36 V bus voltage and 20 A current.
  • Compact, low-cost, fully open source hardware, firmware and software project.
Planned
  • I2C display showing real time telemetry from the board (I2C pin header for the display is already present on the PCB, only needs designing the enclosure lid opening and in-firmware support)

Images

Enclosure render (outside)Enclosure render (inside)
PCB LayoutPCB 3D View
3D printed enclosure (top view)3D printed enclosure (sockets visible)
3D printed enclosure (internal 12AWG wiring)

Farmtech's PSU monitor displaying telemetry coming from a live OPSUM board


Quick Start

If you want to build the project yourself, the step-by-step approach is:

  1. Manufacture the board using a third party PCB fab house (I've used JLCPCB with great results, so tolerances and specs are guaranteed to comply with their capabilities, but any fab house should be easily capable to manufacture this board). Gerbers, BOM and CPL files alongside required production settings and instructions for PCB manufacturing and assembly are all in the hardware section.

    Disclaimer: the JLCPCB link above is a referral URL, I get a little kickback if you use it to subscribe or buy from them. Thanks for your support!

  2. Solder the remaining through-hole components on the PCB using the instruction under howto-build. I've included a bill of material for THT and hand-assembly components required to complete the project, complete with links to AliExpress to source them.
  3. First-flash the new ESP32-S3 board with the -FULL image (using esptool). Prebuilt binaries and usage instructions for esptool are in the dist section.
  4. 3D print the enclosure and assemble the finished product. Instructions are under enclosure.
  5. Connect the USB port to your PC and use a client-side program to interface with the OPSUM board and receve its readings. I've included a minimal GUI, alongside with fully featured third party tools compatibile with OPSUM's core firmware protocol.

If you want to flash a different firmware, or update/reflash the core firmware in the future, there is no need to disassemble the board to access the native MCU USB port. Just use the isolated USB port with the included flash tool, and reflash the board using a -OTA image. OPSUM's main firmware OTA image is packaged under dist as well.

Open Tooling Approach

This repository includes everything, ranging from the basic OPSUM GUI plus third-party client-side tools that support the Core firmware communication protocol, to enclosure CAD models, PCB layout design files, assembly guides and protocol specification documentation.

You are free to use whichever compatible client (or firmware) matches your needs.

Repository Layout

FolderContents
dist/release binaries + compilation and flash instructions
protocol-specs/DFU (flashing) and UART (runtime communication with the host) protocol specs
src/Firmware/Core (main) and DFU (flash update mode) firmware source code
src/GUI/host-side GUI tools source code root folder
src/GUI/flash-tool/desktop DFU flashing GUI source code
src/GUI/opsum-gui/minimal OPSUM runtime GUI frontend source code
third_party_tools/bundled alternative host-side tools and board-side firmware binaries
hardware/schematic, PCB layout, BOM, CPL, Gerbers and manufacturing guide
enclosure/CAD files for the OPSUM case
howto-build/Manual assembly and soldering step-by-step instructions for the OPSUM board project

Contributing

OPSUM is inteded as an open, community driven project. Anyone is welcome to contribute to it by creating or improving client-side tools, firmware, enclosure, PCB design, protocol specs or documentation!

Acknowledgements

This project was born out of the desire to improve my PCB design skills, and to document a complete DIY approach to getting a full featured ammeter from scratch, instead of buying one.

In this endeavor, I've received a lot of precious support and ideas from the JFIXX community. If you want to join us to say hello, his discord server is a welcoming and friendly place, full of very skilled and amazing techs!

Supporting the project

If you like this project and want to support it, you can do so by clicking the button below. Thank you! <3

"Buy Me A Coffee"

Parts

51
QtyValueFootprintReferences
9100nCapacitor_SMD:C_0603_1608MetricC2, C3, C4, C5, C6, C7, C8, C9, C10
447uCapacitor_SMD:C_1206_3216MetricC12, C13, C14, C15
45K1Resistor_SMD:R_0603_1608MetricR1, R2, R11, R12
4MountingHole_PadMountingHole:MountingHole_2.7mm_M2.5_Pad_ViaMH1, MH2, MH3, MH4
310KResistor_SMD:R_0402_1005MetricR3, R4, R8
3FiducialFiducial:Fiducial_1mm_Mask2mmFID1, FID2, FID3
210RResistor_SMD:R_0402_1005MetricR6, R7
210uCapacitor_SMD:C_1206_3216MetricC1, C11
22K2Resistor_SMD:R_0603_1608MetricR13, R14
2GREENLED_SMD:LED_0805_2012MetricLED1, LED2
2SS14Diode_SMD:D_SMAD1, D3
1100KResistor_SMD:R_0402_1005MetricR10
1330RResistor_SMD:R_0402_1005MetricR9
13mRWSL3637:WSL3637_VISR5
1ADuM1201ARPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU2
1B0505S-2WR3B_S-2WR2_MNS:B_S-2WR2_MNSPS1
1CH340NPackage_SO:JEITA_SOIC-8_3.9x4.9mm_P1.27mmU1
1DPDTEasyEDA_Lib:SW-TH_SK22D02G5SW1
1ESP32-S3-ZEROESP32-S3-ZERO:MODULE_ESP32-S3-ZEROU3
1HL2309Package_TO_SOT_SMD:SOT-23-3Q1
1INA226Package_SO:TSSOP-10_3x3mm_P0.5mmU4
1KH-TYPE-C-16PKH-TYPE-C-16P:KINGHELM_KH-TYPE-C-16PJ1
1MMSZ5242BDiode_SMD:D_SOD-123D4
1PANEL_DISPLAY_I2CConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ6
1SMAJ36ADiode_SMD:D_SMAD2

Similar boards

  • 2 layers131.5 × 83.5 mmBadge esp32-s3, the printed circuit board in 3D

    Badge esp32-s3

    BYU-I-eBadge/e-badge

    A hackable eBadge platform for students — a customizable, programmable electronics badge designed for hands-on learning and creative exploration throughout their academic journey.

    218 parts2MIT
  • 4 layers95 × 74 mmPicoPSU, the printed circuit board in 3D

    PicoPSU

    MECSEM/electrical

    All the electrical designs for MECSEM.

    129 partsGPL-3.0
  • 2 layers40 × 40 mmLDO, the printed circuit board in 3D

    LDO

    Ken-2511/LDO

    Two KiCad 10 projects, stacked on the same 40x40 mm footprint:

    26 parts
  • 4 layers80 × 105.5 mmNetdaq, the printed circuit board in 3D

    Netdaq

    Gherkin/netdaq

    913 partsCERN-OHL-P-2.0
  • 2 layers78.4 × 40 mmExpression pedal, the printed circuit board in 3D

    Expression pedal

    mod-audio/cc-hw-expression-pedal-LEGACY

    MOD Expression pedal hardware repository

    72 parts3
  • 2 layers46.5 × 32 mmHalf bridge load cells board, the printed circuit board in 3D

    Half bridge load cells board

    XuanTrace/half-bridge-load-cells-board

    Open-source half-bridge load cell PCB design featuring the HX710A/B/C ADC chip. Supports SMD with castellation (half-hole), pin headers, and XH2.45 4-pin connectors.

    46 parts1
  • 2 layers84.6 × 157.4 mmPico2-artnet node, the printed circuit board in 3D

    Pico2-artnet node

    klnspdr/pico2-artnet-node

    PCB + SMD Components: 8.146$ / board Missing Components: - 4x XLR Connectors (1.40€ / piece) - 1x WizNet W5500-EVB-PICO2 (12€ / piece) - 1x B0505S (1.05$ / piece) - 1x WIZPoE Module (8€ / piece) - 2x 1x20 2.54mm…

    124 parts
  • 4 layers220 × 175 mmM68030-sbc, the printed circuit board in 3D

    M68030-sbc

    mattbettcher/m68030-sbc

    See 68030-design/spec.md for the design specification.

    279 parts

Questions

How big is the Open PSU Meter ESP32 PCB?

It measures 80 × 50 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Open PSU Meter ESP32 use?

51 parts, built around the B0505S-2WR3, ADUM1201ARZ-RL7, CH340N and INA226AIDGSR. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Open PSU Meter ESP32 KiCad files?

From the nitefood/opsum repository on GitHub, at the commit this page was made from: the board is hardware/KiCad/Open_PSU_Meter_ESP32.kicad_pcb and its schematic hardware/KiCad/Open_PSU_Meter_ESP32.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Open PSU Meter ESP32 design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).