cancel
Showing results for 
Search instead for 
Did you mean: 

STM32G431 schematic review

tuncayarda
Associate

Hello,

 

I designed a custom control board based on STM32G431CBT6 and before manufacturing the PCB I would like to make sure there are no fundamental hardware mistakes.

 

My main concern is not firmware but hardware connections.

 

I would appreciate if you can review especially:

 

  • SWD programming interface connections

  • Power supply and decoupling capacitors

  • BOOT0 and NRST configuration

  • VDDA and VREF+ connections

  • CAN transceiver interface (TJA1051/3 with VIO = 3.3V)

  • Anything that may prevent programming or startup

 

 

The goal is to verify that the MCU can be programmed and start reliably after assembly.

 

I am attaching the schematic below.

 

Thank you very much for your time.

 

MCU: STM32G431CBT6

Supply: 3.3V regulator

Debugger: ST-Link via SWDScreenshot 2026-02-16 at 21.55.48.png

1 ACCEPTED SOLUTION

Accepted Solutions
TDK
Super User
  • PC13 shouldn't be used to drive an LED.
    • TDK_0-1771268577086.png
  • NRST (PG10) does not need an external pullup, as it has an internal one. This will work though.
  • I recommend using a standard debug header rather than 4-pins that you need to connect manually. Note that programmers typically don't provide power.

Otherwise, looks good.

If you feel a post has answered your question, please click "Accept as Solution".

View solution in original post

6 REPLIES 6
TDK
Super User
  • PC13 shouldn't be used to drive an LED.
    • TDK_0-1771268577086.png
  • NRST (PG10) does not need an external pullup, as it has an internal one. This will work though.
  • I recommend using a standard debug header rather than 4-pins that you need to connect manually. Note that programmers typically don't provide power.

Otherwise, looks good.

If you feel a post has answered your question, please click "Accept as Solution".
mƎALLEm
ST Employee

For the relays control I suggest a GND isolation/separation using optocouplers to avoid any high-voltage spikes, and noise generated by relays coil and the relay switching, otherwise you may face unwanted resets of the MCU.

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.
Andrew Neil
Super User

Include NRST on the programming connector.

If possible, have a UART for diagnostics

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.
Chris21
Senior III

"BOOT0 and NRST configuration"

You don't have a provision to use BOOT0.

Consider moving your CAN_RX to a different pin so that you can utilize BOOT0.

And as Andrew said, "If possible, have a UART for diagnostics" + reprogramming flash with bootloader.


@TDK wrote:
  • PC13 shouldn't be used to drive an LED.

TDK_0-1771268577086.png


Indeed.

But it is OK for these pins to sink current; eg, for an LED:

https://community.st.com/t5/stm32-mcus-products/stm32f030-pc13-14-15-current-sink-limits/m-p/721081/highlight/true#M261048

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.
Andrew Neil
Super User

@tuncayarda all of your LED series resistors are 220 ohm:

AndrewNeil_0-1775829497846.png

Shouldn't the 12V ones (D2-3, D5-6) be higher ?

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.