Spark Logic

Connect an STM32F100

LQFP48 7 × 7 mm

LQFP64

10 × 10 mm Current package
LQFP100 14 × 14 mm
Open LQFP64 pinout → Change memory option →

Selected device: STM32F100RE (512 KiB Flash, 32 KiB SRAM). The guide uses a regulated 3.3 V supply and lists the physical pin numbers for this package.

Connect every VDD and VSS pin

Required

Connect every VDD and VSS pin · STM32F100REVDD rail · 3.3 VVDD #19, 32, 48, 64VSS #18, 31, 47, 63C1C2C3C4C5C1 100 nFC2 100 nFC3 100 nFC4 100 nFC5 4.7 µF

Connect every VDD to one regulated 3.3 V rail and every VSS to board ground. The digital supply operating range is 2.0–3.6 V. Complete the VDDA and VBAT steps before powering the MCU.

Install 4 ceramic 100 nF capacitors, one close to each VDD/VSS pair (#19/#18, #32/#31, #48/#47, #64/#63). Place the bulk capacitor across VDD_3 #64 and VSS_3 #63. Choose a part that still provides 4.7 µF or more after tolerance and DC bias.

Check the connection
With power off, check that each VDD and VSS pin connects to its intended rail. After completing the power and boot steps, measure 3.2–3.4 V between each VDD and board ground with the supply on.

Sources: DS5944 Rev 11 · power supply scheme, Figure 9·AN2586 Rev 8 · decoupling, §2.2·AN2586 Rev 8 · decoupling layout, Figure 13

Pins for this step

Power the analog domain

Required

Power the analog domain · STM32F100REVDD rail · 3.3 VVDDA #13VSSA #12C1C2C1 10 nFC2 1 µF

Connect VDDA to the same 3.3 V rail as VDD and VSSA to board ground, even when neither converter is used. With the ADC or DAC enabled, the VDDA operating range is 2.4–3.6 V.

The analog reference is internally bonded to VDDA and VSSA in this package.

Place 10 nF and 1 µF ceramic capacitors in parallel close to the analog power pins.

Check the connection
After completing the required wiring, power the board and measure VDDA with the meter common lead on VSSA. Expect 3.2–3.4 V.

Sources: DS5944 Rev 11 · power supply scheme, Figure 9·DS5944 Rev 11 · shared reference decoupling, Figure 36

Pins for this step

VDDA
#13
VSSA
#12

Connect VBAT to the main supply

Required

Connect VBAT to the main supply · STM32F100REVDD rail · 3.3 VVBAT #1Board GNDC1C1 100 nF

For a design powered only by the main supply, connect VBAT to VDD and fit one 100 nF ceramic capacitor from VBAT to board ground close to the pin.

The real-time clock and backup registers lose power when the main supply is removed. If you need separate backup power, use the VBAT operating range of 1.8–3.6 V and review the startup current-injection conditions in RM0041 §4.1.2.

Check the connection
With the board unpowered, verify continuity between VBAT and VDD. After completing the required wiring, power the board and measure 3.2–3.4 V at VBAT relative to board ground.

Sources: AN2586 Rev 8 · VBAT decoupling, §2.2·RM0041 Rev 6 · battery backup domain, §4.1.2

Pins for this step

VBAT
#1

Select the boot memory

Required

User Flash
Select the boot memory · STM32F100REGND10 kΩBOOT0 #60

With power off, connect BOOT0 to ground through 10 kΩ. Either BOOT1 level selects user Flash while BOOT0 is low.

Use ±5%, ⅛ W resistors. Even with the full 3.4 V across a resistor at its 9.5 kΩ minimum, dissipation is below 1.3 mW. The MCU samples the straps after reset and when exiting Standby.

Check the connection
Measure BOOT0 near 0 V relative to board ground at reset release. If valid firmware is present, it should run from user Flash.

Sources: AN2586 Rev 8 · boot straps, Table 2 and Figure 10

Pins for this step

BOOT0
#60
System bootloader
Select the boot memory · STM32F100REVDD10 kΩBOOT0 #60GND10 kΩPB2 #28BOOT1

With power off, connect BOOT0 to VDD through 10 kΩ and PB2 (BOOT1) to ground through a second 10 kΩ resistor.

Use ±5%, ⅛ W resistors. Even with the full 3.4 V across a resistor at its 9.5 kΩ minimum, dissipation is below 1.3 mW. The MCU samples the straps after reset and when exiting Standby.

For the STM32F100 system bootloader, follow the default USART1 wiring on PA9/PA10. After programming, restore the user Flash strap and reset.

Check the connection
Measure BOOT0 near VDD and PB2 near 0 V relative to board ground at reset release. The device should select system memory.

Sources: AN2586 Rev 8 · boot straps, Table 2 and Figure 10·AN2606 Rev 68 · system bootloader pins, Table 36

Pins for this step

BOOT0
#60
PB2
#28

Add a reset noise filter

Optional

Add a reset noise filter · STM32F100RENRST #7100 nF

With the board unpowered, place a 100 nF ceramic capacitor between NRST and board ground to filter reset noise. The MCU supplies its own reset pull-up.

If an external circuit asserts reset, use a switch to ground or an open-drain output that releases the line after the reset pulse.

Check the connection
Measure NRST relative to board ground with the board powered. Expect near VDD when released and near 0 V while external reset is asserted.

Sources: AN2586 Rev 8 · reset filter, §2.3.3 and Figure 5

Pins for this step

NRST
#7

Connect a serial wire debug probe

Optional

Connect a serial wire debug probe · STM32F100REDebug probeTargetSWDIOPA13 #46SWCLKPA14 #49GNDBoard GNDVTref inVDD railnRESETNRST #7

Connect SWDIO to PA13 and SWCLK to PA14. Connect probe ground to board ground and, if the probe has a target voltage reference input (VTref), connect it to the VDD rail according to the probe manual. Power the target from its own supply.

If supported, connect the probe reset output to NRST for connect-under-reset. Reserve PA13 and PA14 for debug in firmware while you need SWD.

Check the connection
With the target powered, measure VTref relative to probe ground where available. Expect the same voltage as VDD. Select SWD in the debugger and confirm that it detects the target.

Sources: AN2586 Rev 8 · debug pin assignments, Tables 3–4·AN2586 Rev 8 · debug connector, Figure 12

Pins for this step

SWDIO · PA13
#46
SWCLK · PA14
#49
NRST
#7
VTref · VDD rail
#19,#32,#48,#64
Ground · VSS
#18,#31,#47,#63

Connect a 3.3 V serial adapter

Optional

Default · PA9 / PA10
Connect a 3.3 V serial adapter · STM32F100RE3.3 V adapterMCU · USART1TXRX PA10 #43RXTX PA9 #42GNDBoard GND

Use a serial adapter with 3.3 V TTL/CMOS signal levels. Keep RS-232 and 5 V logic disconnected. Power the target from its own 3.3 V supply and leave the adapter VCC pin open.

Wire adapter TX to PA10 #43 (MCU RX), adapter RX to PA9 #42 (MCU TX), and adapter GND to board ground. Power both ends before transmitting.

In application firmware, enable the GPIO, AFIO and USART1 clocks. Select AFIO_MAPR.USART1_REMAP = 0, configure TX as alternate-function push-pull and RX as an input, and set the same baud rate and framing on both ends. This circuit uses asynchronous mode without hardware flow control.

PA9 and PA10 also carry TIM1_CH2/TIM1_CH3 and the TIM15_BKIN/TIM17_BKIN break inputs. Use the remap if another peripheral already uses these pins.

For the system bootloader, use PA9/PA10 and the STM32 programming tool. The remap applies to your own firmware.

Check the connection
With a test application on the MCU, open a terminal with matching settings, for example 115200 baud, 8 data bits, no parity and 1 stop bit. Send a byte and confirm that the application echoes it. If the terminal stays silent, verify the crossed TX/RX wiring, common ground and selected remap.

Sources: RM0041 Rev 6 · USART1 remapping, Table 44·DS5944 Rev 11 · pin definitions, Table 4·AN2606 Rev 68 · system bootloader pins, Table 36

Pins for this step

USART1_TX · PA9
#42
USART1_RX · PA10
#43
Ground · VSS
#18,#31,#47,#63
Remap · PB6 / PB7
Connect a 3.3 V serial adapter · STM32F100RE3.3 V adapterMCU · USART1TXRX PB7 #59RXTX PB6 #58GNDBoard GND

Use a serial adapter with 3.3 V TTL/CMOS signal levels. Keep RS-232 and 5 V logic disconnected. Power the target from its own 3.3 V supply and leave the adapter VCC pin open.

Wire adapter TX to PB7 #59 (MCU RX), adapter RX to PB6 #58 (MCU TX), and adapter GND to board ground. Power both ends before transmitting.

In application firmware, enable the GPIO, AFIO and USART1 clocks. Select AFIO_MAPR.USART1_REMAP = 1, configure TX as alternate-function push-pull and RX as an input, and set the same baud rate and framing on both ends. This circuit uses asynchronous mode without hardware flow control.

PB6/PB7 share the default I²C1 clock and data lines and the TIM16_CH1N/TIM17_CH1N outputs. They also carry TIM4_CH1/TIM4_CH2. Use the default USART1 pins if PB6/PB7 are occupied. If I²C1 is the only conflict, move it to PB8/PB9 when those pins are free.

For the system bootloader, use PA9/PA10 and the STM32 programming tool. The remap applies to your own firmware.

Check the connection
With a test application on the MCU, open a terminal with matching settings, for example 115200 baud, 8 data bits, no parity and 1 stop bit. Send a byte and confirm that the application echoes it. If the terminal stays silent, verify the crossed TX/RX wiring, common ground and selected remap.

Sources: RM0041 Rev 6 · USART1 remapping, Table 44·DS5944 Rev 11 · pin definitions, Table 4·AN2606 Rev 68 · system bootloader pins, Table 36

Pins for this step

USART1_TX · PB6
#58
USART1_RX · PB7
#59
Ground · VSS
#18,#31,#47,#63

Reference documents