Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/z4yx/usb-c-pps
USB-PD charger as a programmable power supply.
https://github.com/z4yx/usb-c-pps
pps stm32 usb usb-pd
Last synced: about 2 months ago
JSON representation
USB-PD charger as a programmable power supply.
- Host: GitHub
- URL: https://github.com/z4yx/usb-c-pps
- Owner: z4yx
- License: bsd-3-clause
- Created: 2020-02-02T04:14:43.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2021-05-09T13:13:09.000Z (over 3 years ago)
- Last Synced: 2024-10-31T17:44:54.569Z (2 months ago)
- Topics: pps, stm32, usb, usb-pd
- Language: C
- Homepage:
- Size: 18 MB
- Stars: 60
- Watchers: 3
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# USB Programmable Power Supply
![Photo](Docs/UCDC-Photo.jpg)
This USB-C to DC adapter utilizes the USB Power Delivery protocol that turns your USB-PD charger into a programmable power supply. Voltage regulation is done in the USB-PD capable charger, while this adapter only controls the on/off and negotiates the desired voltage with the charger.
If the charger has PD 3.0 PPS feature, the output voltage can be adjusted in the unit of 20mV within the APDO range. Otherwise, only fixed voltages announced by the charger (PDOs) can be selected.
## Usage
![Usage](Docs/instructions.png)
## Hardware
The STM32G071 MCU controls all the communications and user interactions. Complete hardware design files are in the `Schematics` folder.
## Build the Firmware
Set an environment variable that points to [GNU Arm Embedded Toolchain](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads), for example:
```
export GCC_PATH=/opt/gcc-arm-none-eabi-8-2019-q3-update/bin/
```Then build the firmware with make:
```
make
```After a successful compilation, you may download `build/UCDC.bin` to the STM32 with ST-Link or any other Link you have.
## Acknowledgment
This project is based on the demo code of [STM32G071B-DISCO](https://www.st.com/en/evaluation-tools/stm32g071b-disco.html).