PD with Current Monitor using STUSB4500 and ATtiny1604

PD with Current Monitor using STUSB4500 and ATtiny1604


The Power Deliverer utilizes a USB-C power adapter as a power source for a range of fixed voltages. The device displays a list of voltages and current sources from the adapter, which the users can select. Once a voltage option is selected, the Power Deliverer continuously monitors the current usage and presents it on the device’s display. The Power Deliverer is based on STUSB4500, INA181, and ATtiny1604 microcontrollers. The output display used is a 128×32 OLED display which features excellent contrast and brightness.

The current monitor works by measuring the voltage drop across a current sensing resistor, and it is placed between the positive voltage output and the load. It is commonly known as a “high-side” current monitor. However, the positive rail can be as high as 20V. It becomes impractical to directly measure this using an analog input on the microcontroller. Therefore, to measure this voltage drop, two matched high-precision voltage dividers are required, or an alternative option would be to use an analog sensor like the INA181A2.

Monitor of Power Deliverer

Working and Circuitry of Power Deliverer

When the user connects the Power Deliverer board to the USB-C charger, it displays a range of voltages and current options available. The device can offer a maximum of 20V at 5A. A green LED also lights up to show that the output is active. If the charger is not supported, the display shows “NO PD” as the output.

The STUSB4500 is a USB power delivery controller and is controlled via the I2C interface by an ATtiny1604 processor. The way the STUSB4500 works is that it allows you to define between one and three Sink PDOs, and it automatically selects the highest-voltage Source PDO available from the charger with the required current capability. Thus STUSB4500 works as a regulator which controls the power supply by allowing the required amount of power. The initial default PDOs are 5V 1.5A, 15V 1.5A, and 20V 1A.

Schematics of Power Deliverer

The display used is a 128×32 monochrome OLED display based on the SSD1306 display controller. To fit five power profiles on a 32-bit pixel display, the 5×5 matrix form factor is used. The Power Deliverer is compatible with Apple’s 35W dual power adapter (A2676), Apple’s 96W power adapter (A2166), Apple’s 140W power adapter (A2452), a UGREEN 20W PD Fast Charger with PPS (CD137), and an AUKEY Omnia Mix 3 90W charger (PA-B6S).

For more information on the power deliverer, visit the project page.

Please follow and like us:
Pin Share

Saumitra Jagdale is a Backend Developer, Freelance Technical Author, Global AI Ambassador (SwissCognitive), Open-source Contributor in Python projects, Leader of Tensorflow Community India, and Passionate AI/ML Enthusiast

view all posts by saumitra
Notify of

Inline Feedbacks
View all comments
Get new posts by email:
Get new posts by email:

Join 97,426 other subscribers