| .. _weact_stm32g431_core: |
| |
| WeAct Studio STM32G431 Core Board |
| ################################# |
| |
| The WeAct STM32G431 Core Board is a low-cost bare-bones STM32G431-based development |
| board. See the `STM32G431CB website`_ for more information about the MCU. More information |
| about the board, including schematics, is available from the `WeAct GitHub`_. |
| |
| Modifications USB-C Power Delivery |
| ********************************** |
| |
| The board does not support USB-C PD in its standard configuration. To enable USB-C PD, CC1 |
| and CC2 need to be disconnected from their pull-down resistors and be connected to PB6 and |
| PB4 respectively. Dead battery support requires PA9 and PA10 to be routed to CC1 and |
| CC2. VBUS also needs to be connected to the MCU through a voltage divider. |
| |
| The pull-downs are disconnected by removing the zero-Ohm resistors on SB8 and SB9 next to |
| the USB-C connector. SB3, SB5, SB6, and SB7 then need to be closed to connect the CCx |
| lines to the MCU. The voltage divider is connected to PB2 by closing SB4. |
| |
| After these modifications have been made, PA9, PA10, PB2, PB4, and PB6 should be |
| considered reserved for USB-C and not available for other applications. |
| |
| .. warning:: |
| The internal USB DFU boot loader may not work correctly with machines that respect USB |
| PD signaling unless dead battery support has been enabled. A USB-C to USB-A adapter or |
| programming using the SWD port can be used as a workaround. |
| |
| |
| Supported Features |
| ================== |
| |
| The Zephyr weact_stm32g431_core board configuration supports the following hardware |
| features: |
| |
| +------------+------------+-------------------------------------+ |
| | Interface | Controller | Driver/Component | |
| +============+============+=====================================+ |
| | NVIC | on-chip | nested vector interrupt controller | |
| +------------+------------+-------------------------------------+ |
| | UART | on-chip | serial port | |
| +------------+------------+-------------------------------------+ |
| | GPIO | on-chip | gpio | |
| +------------+------------+-------------------------------------+ |
| | ADC | on-chip | ADC Controller | |
| +------------+------------+-------------------------------------+ |
| | USB | on-chip | USB device | |
| +------------+------------+-------------------------------------+ |
| | UCPD | on-chip | ucpd | |
| +------------+------------+-------------------------------------+ |
| |
| The default configuration can be found in the defconfig file: |
| |
| :zephyr_file:`boards/weact/stm32g431_core/weact_stm32g431_core_defconfig` |
| |
| Pin Mapping |
| =========== |
| |
| Default Zephyr Peripheral Mapping: |
| ---------------------------------- |
| |
| - UART_2 TX/RX : PA2/PA3 |
| - UCPD1 CCx : PB6/PB4 (not connected by default) |
| - UCPD1 DBCCx : PA9/PA10 (not connected by default) |
| - BUTTON (User) : PC13 |
| - BUTTON (BOOT0) : PB8 |
| - LED0 : PC6 |
| - ADC (VBUS) : PB2 |
| |
| The ADC is disabled by default since the VBUS voltage divider is not connected in the |
| board's standard configuration. |
| |
| |
| Hardware Configuration |
| ---------------------- |
| +---------------+---------+-----------------------------------------------+ |
| | Solder bridge | Default | Description | |
| +===============+=========+===============================================+ |
| | SB1/SB2 | Open | Route PC14/PC15 (LSE) to header | |
| +---------------+---------+-----------------------------------------------+ |
| | SB6/SB7 | Open | Connect PB4/PB6 (UCPD1_CCx) to USB-C CCx pins | |
| +---------------+---------+-----------------------------------------------+ |
| | SB3/SB5 | Open | Connect PA9/PA10 (UCPD1_DBCCx) to to PB6/PB4 | |
| +---------------+---------+-----------------------------------------------+ |
| | SB4 | Open | Connect PB2 to VBUS voltage divider | |
| +---------------+---------+-----------------------------------------------+ |
| | SB8/SB9 | Closed | Connect USB-CCx to pull-down resistors | |
| +---------------+---------+-----------------------------------------------+ |
| | SB10 | Open | VBUS protection diode bypass | |
| +---------------+---------+-----------------------------------------------+ |
| |
| |
| Clock Sources |
| ------------- |
| |
| The board has two external oscillators. The frequency of the slow clock (LSE) is 32.768 |
| kHz. The frequency of the main clock (HSE) is 8 MHz. |
| |
| The default configuration sources the system clock from the PLL, which is derived from |
| HSE, and is set at 144 MHz. The 48 MHz clock used by the USB interface is derived from the |
| PLL instead of the internal 48 MHz oscillator. |
| |
| Programming and Debugging |
| ************************* |
| |
| The MCU is normally programmed using the ROM bootloader or the exposed SWD port. |
| |
| Please note that some laptops may not detect the ROM bootloader correctly if the CCx |
| pull-downs have been disconnected by opening SB8 and SB9 unless dead battery support has |
| been enabled by closing SB3 and SB5. A USB-C to USB-A adapter can be used as a workaround |
| if this is a problem. |
| |
| Flashing an Application |
| ======================= |
| |
| Connect a USB-C cable and the board should power ON. Force the board into DFU mode by |
| keeping the BOOT0 switch pressed while pressing and releasing the NRST switch. |
| |
| The dfu-util runner is supported on this board and so a sample can be built and tested |
| easily. |
| |
| .. zephyr-app-commands:: |
| :zephyr-app: samples/basic/blinky |
| :board: weact_stm32g431_core |
| :goals: build flash |
| |
| Debugging |
| ========= |
| |
| The board can be debugged by installing the included 100 mil (0.1 inch) header, and |
| attaching an SWD debugger to the 3V3 (3.3V), GND, SCK, and DIO pins on that header. |
| |
| |
| References |
| ********** |
| |
| .. target-notes:: |
| |
| .. _WeAct GitHub: |
| https://github.com/WeActStudio/WeActStudio.STM32G431CoreBoard |
| |
| .. _STM32G431CB website: |
| https://www.st.com/en/microcontrollers-microprocessors/stm32g431cb.html |
| |
| .. _STM32F401x reference manual: |
| https://www.st.com/resource/en/reference_manual/rm0440-stm32g4-series-advanced-armbased-32bit-mcus-stmicroelectronics.pdf |