Skip to content

iamwreckage/BenchVolt-PD

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

image

BenchVolt-PD

BenchVolt PD is an open-source, USB-C powered multi-channel lab power supply delivering up to 100 W. Features 5 outputs (0 V–32 V), STM32 control, USB-PD, low-noise LDOs, and a Python GUI. Compact, portable, and perfect for makers and engineers.

image

How It Works; When BenchVolt PD powered on, all regulators and converters start in the disabled state. The STM32 microcontroller first powers up and performs safety checks by monitoring temperature, current, and voltage. It then enables the DC-DC converters, followed by the linear regulators in sequence.

Throughout operation, the MCU continuously monitors system all parameters to maintain safe operating conditions.

An additional safety layer can be used by setting a power limit through the USB PD interface, ensuring the system never exceeds the predefined power threshold. This limit can be configured either from the device’s on-screen menu / rotary encoder or through the Python control interface.

Each DC-DC converter is monitored to ensure no more than 5 A is drawn from its output. The 1.8 V and 2.5 V LDO regulators share the same 4 V / 5 A pre-regulator rail, while the 3.3 V and Adjustable (0.5 V – 5.5 V) LDOs share the 5.5 V / 5 A rail. Therefore, when both LDOs on the same rail are heavily loaded, their combined output current should not exceed 5 A total (typically below 3 A per channel).

The third buck-boost output (2.5 V – 32 V) operates independently and is capable of delivering up to 3A. Since this channel’s output comes directly from the DC-DC converter, its ripple and noise levels are relatively higher; however, overall stability and performance remain excellent for most applications.

The other outputs — regulated through LDOs — provide exceptionally low ripple, offering clean and stable voltages ideal for sensitive analog and digital circuits.

Note:

  • In theory, the system is capable of delivering up to 100W of total power. However, due to conversion and regulation losses within the DC-DC converters and LDOs, the full 100W cannot be used.

  • The maximum achievable power depends on the connected USB PD adapter / cable — for example, a 65 W charger will cap the system power at 65 W.

Features & Specifications

Power & Outputs

  • Five independent output channels with adjustable voltage and current
  • Fixed outputs: 1.8 V, 2.5 V, 3.3 V @ up to 3 A
  • Adjustable Output 1: 0.5 V – 5 V @ up to 3 A
  • Adjustable Output 2: 2.5 V – 32 V @ up to 3 A
  • 2.54 mm (100 mil) pin headers for powering multiple evaluation boards
  • Arbitrary waveform generation and predefined waveforms (Square, Sine, Triangle, Ramp) available on adjustable channels

Output Noise & Ripple

Image or Table will be added here...

Arbitrary Functions

  • Number of Points: 1024
  • Resolution: 12-bit
  • Point Parameters: Dwell time and Voltage
  • Dwell Time Range: 4 ms – 16,384 ms
  • Repetition Rate: 1 – 255 times or continuous

USB Power Delivery Support

  • USB-C input supporting PD sink mode
  • Up to 100 W USB-PD power input

Controls

  • 1.9″ TFT display (170 × 320) for real-time voltage, current, and PD status
  • Rotary encoder for fast menu navigation and fine (5 mV) step adjustments
  • SCPI command support for remote programming
  • Python GUI for desktop monitoring and control

Electronics

  • Microcontroller: STM32F030F4
  • USB-PD Controller: STUSB4500 (sink mode)
  • Configurable LDOs and boost converters for precise output regulation
  • Over-current protection on all channels
  • Firmware upgradeable via USB through the Python interface (no ST-LINK required)

About

BenchVolt PD is an open-source, USB-C powered multi-channel lab power supply delivering up to 100 W. Features 5 outputs (0 V–32 V), STM32 control, USB-PD, low-noise LDOs, and a Python GUI. Compact, portable, and perfect for makers and engineers.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C 98.6%
  • Other 1.4%