Giter VIP home page Giter VIP logo

x-cube-usb-pd's Introduction

X-CUBE-USB-PD

"X-Cube-USB-PD" is the open source Firmware for STM32Fx microcontrollers. It support USB Type-C and USB PD up to 100W.

  • The FW can be tested with the following Evaluation Kit:
    • P-NUCLEO-USB002 (based on STUSB1602 controller + STM32F0)
    • P-NUCLEO-USB001 (based on Discrete components + STM32F0)
    • STM32G071B-DISCO discovery kit (based on STM32G0)
    • STM32G081B-EVAL Evaluation board (contains 2 USB-C ports)

   (The FW sources are located in the folder: STM32CubeExpansion_USBPD_F0)

Purpose:

USB type-C (USB-C) and USB Power Delivery (USB-PD) controller based on STM32.

Work in any mode: DFP, UFP, and DRP (Dual Role Power)
Specifiation: Compliant with USB PD v2.0 & v3.0, and USB Type-C v1.2

Description:

This is the firmware to use with either :

  1. STM32 and a dedicated USB PD controller
  2. or STM32 and GPIO/ADC pins to simulate a USB Type-C + PD controller.
  • Case 1: Optimised PCB solution. No external components needed.
  • Case 2: No specific USB-PD IC is required. Everything is managed by software. Making this discrete solution a low cost USB-PD controller. Just few external component are required like resitors, capacitors, and Mosfets.

These solutions from the silicon provider (STMicroelectronics) has been certified by the official USB organisation (USB-IF: USB implementer forum). It only works on STM32 microcontroller (ARM Cortex-M based). But may be ported on other devices.

Hardware:

Several boards are available to implement and test the USB-C PD firmware.

  • Provider: STMicroelectronics

  • Development board: P-NUCLEO-USB002     (contains NUCLEO-F072RB Board + MB1303 expansion board)

    Onboard Devices:

    • Embedded Controller: STM32F072 (runs the USB-PD stack in software)

    • Analog Front End: STUSB1602 USB-PD controller (high voltage tolerant 28V)

      • Note: NUCLEO-F072RB is the Nucleo board.
        MB1303 is the Xpansion board containing STUSB1602, to connect on top of the Nucleo board.

  • Development board: P-NUCLEO-USB001     (contains NUCLEO-F072RB Board + MB1257 expansion board)

    Onboard Devices:

    • Embedded Controller: STM32F072 (runs the USB-PD stack in software)
    • Analog Front End: Discrete implementation with several external components
      • warning: STM32F0 is not 5V compatible, but 3.6V max --> needs external components.
  • Development board: STM32G071B-DISCO     (USB-C Discovery kit for STM32G071RB MCU)

    Onboard Devices:

    • Embedded Controller: STM32G071 with UCPD feature (runs the USB-PD stack in software)
    • Analog Front End: Discrete implementation (warning: STM32G0 is not 5V compatible --> needs external components).
      • warning: STM32G0 is not 5V tolerant, but 3.6V max --> needs external components.
  • Development board: STM32G081B-EVAL Evaluation board     (the daughterboard features 2 independent USB-C ports controlled)

    Onboard Devices:

    • Embedded Controller: STM32G081RBT6 with UCPD feature (runs the USB-PD stack in software)
    • Analog Front End: Discrete implementation
      • warning: STM32G0 is not 5V tolerant, but 3.6V max --> needs external components.

X Cube USB PD
STUSB1602 solution or Discrete solution STM32G0 world 1st general purpose MCU with USB-C support

x-cube-usb-pd's People

Contributors

st-one avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.