Hardware:

Hardware is set up in 4 blocks:

USB, Controller, variable DCDC and output.

The main controller is an AVR126DA32 and a MCP2221A USB to serial device.

The SPI output is buffered via 4 level shifters.

This allows the output to consist of multiple voltage levels.

The output voltage is controlled via a variable voltage supply and a digital potentiometer

The possible output voltages are: 5, 3.3, 2.5, 1.8 and 1.2V

Connectors from to view:

Software:

The software is controlled by simple clear text commands. these lets you control the voltage level and  change SPI modes / clock.

Commands are for example:

VE - voltage enable

V5- voltage to 5V

SThh,hh,hh - SPI transmit followed by hex values

-> command_list .h