Here’s the block diagram showing Ampisu’s architecture.

Let’s start with the input. Ampisu is designed to work with any standard USB port on a computer. The USB-C connector supports input currents of up to 3 A. The available current is advertised by the USB host via a resistor network, which Ampisu reads accordingly. USB is also used for communication: the device enumerates as a composite USB device, providing a serial interface for log output and a WebUSB-compatible interface that accepts SCPI commands.
An RP2040 microcontroller handles all host communication, controls the voltage and current limits of the two configurable output channels, and continuously measures output voltage and current. It also drives the 3-channel RGB LED controller for status indication (and a bit of light show).
A central design aspect of Ampisu is galvanic isolation. Isolation protects the host from accidental miswiring and enables flexible output configurations, such as series connection for higher or negative voltages. The system is therefore split into four galvanically isolated domains: the USB host domain, which contains the microcontroller, and three separate output channel domains. These domains are connected only through the flyback converter’s transformer and isolated I²C links.
Each of the two configurable channels includes a dual-channel DAC that generates the reference voltages for the constant-current source and the linear voltage regulator. This allows precise, fine-grained control of both output voltage and current limits. A dual-channel ADC measures the actual output voltage and current.
The auxiliary channel provides a fixed 3.3 V output with a maximum power of 500 mW.
I’ll release the full schematics after the crowdfunding campaign ends.
Until then, which aspects of Ampisu would you like to learn more about? Let me know in the comments.
Kai
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.