{"id":17117191,"url":"https://github.com/z4yx/usb-c-pps","last_synced_at":"2025-04-13T02:32:39.272Z","repository":{"id":149772392,"uuid":"237716928","full_name":"z4yx/USB-C-PPS","owner":"z4yx","description":"USB-PD charger as a programmable power supply.","archived":false,"fork":false,"pushed_at":"2021-05-09T13:13:09.000Z","size":18874,"stargazers_count":65,"open_issues_count":0,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-26T20:51:33.524Z","etag":null,"topics":["pps","stm32","usb","usb-pd"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/z4yx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-02-02T04:14:43.000Z","updated_at":"2025-03-23T20:59:23.000Z","dependencies_parsed_at":null,"dependency_job_id":"2ee43676-8ab2-4807-874f-b521a308f315","html_url":"https://github.com/z4yx/USB-C-PPS","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/z4yx%2FUSB-C-PPS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/z4yx%2FUSB-C-PPS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/z4yx%2FUSB-C-PPS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/z4yx%2FUSB-C-PPS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/z4yx","download_url":"https://codeload.github.com/z4yx/USB-C-PPS/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248657820,"owners_count":21140842,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["pps","stm32","usb","usb-pd"],"created_at":"2024-10-14T17:50:51.828Z","updated_at":"2025-04-13T02:32:35.777Z","avatar_url":"https://github.com/z4yx.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# USB Programmable Power Supply\n\n![Photo](Docs/UCDC-Photo.jpg)\n\nThis 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.\n\nIf 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.\n\n## Usage\n\n![Usage](Docs/instructions.png)\n\n## Hardware\n\nThe STM32G071 MCU controls all the communications and user interactions. Complete hardware design files are in the `Schematics` folder.\n\n## Build the Firmware\n\nSet 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:\n\n```\nexport GCC_PATH=/opt/gcc-arm-none-eabi-8-2019-q3-update/bin/\n```\n\nThen build the firmware with make:\n\n```\nmake\n```\n\nAfter a successful compilation, you may download `build/UCDC.bin` to the STM32 with ST-Link or any other Link you have.\n\n\n## Acknowledgment\n\nThis project is based on the demo code of [STM32G071B-DISCO](https://www.st.com/en/evaluation-tools/stm32g071b-disco.html).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fz4yx%2Fusb-c-pps","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fz4yx%2Fusb-c-pps","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fz4yx%2Fusb-c-pps/lists"}