Spark Logic

STM32F103 PWM audio player with DMA pinout

TIM4 drives PWM on PB6. The timer update request triggers DMA1 channel 7 to write each sample into the channel compare register.

STM32F103C8T6 Blue Pill

49 contacts Current package

Spark Logic project archive · The documented blue PCB has two 20-contact headers, SWD and Micro USB. Its PC13 user LED is active low. The USB D+ pull-up varies across production boards.

STM32F103C8T6 Blue Pill pinout

Header 1
Use the board connector marking and locate contact 1 before wiring.
Header 2
Use the board connector marking and locate contact 1 before wiring.
SWD header
Use the board connector marking and locate contact 1 before wiring.
USB connector
Use the board connector marking and locate contact 1 before wiring.
Selected pin details

H1-8 · A3

Configurable I/O · GPIO

Routes to MCU PA3. Choose the applicable GPIO or peripheral function in the MCU documentation.

STM32F103C8T6 Blue Pill connector map

Electrical limits · Link to this pin

All 49 pins

PinSignalDirectionFunction
H1-1VB PowerPower Connects to VBAT. Use the specified board power connection.
H1-2C13 Configurable I/OConfigurable I/O Routes to MCU PC13. Choose the applicable GPIO or peripheral function in the MCU documentation.
H1-3C14 Configurable I/OConfigurable I/O Routes to MCU PC14. Choose the applicable GPIO or peripheral function in the MCU documentation.
H1-4C15 Configurable I/OConfigurable I/O Routes to MCU PC15. Choose the applicable GPIO or peripheral function in the MCU documentation.
H1-5A0 Configurable I/OConfigurable I/O Routes to MCU PA0. Choose the applicable GPIO or peripheral function in the MCU documentation.
H1-6A1 Configurable I/OConfigurable I/O Routes to MCU PA1. Choose the applicable GPIO or peripheral function in the MCU documentation.
H1-7A2 Configurable I/OConfigurable I/O Routes to MCU PA2. Choose the applicable GPIO or peripheral function in the MCU documentation.
H1-8A3 Configurable I/OConfigurable I/O Routes to MCU PA3. Choose the applicable GPIO or peripheral function in the MCU documentation.
H1-9A4 Configurable I/OConfigurable I/O Routes to MCU PA4. Choose the applicable GPIO or peripheral function in the MCU documentation.
H1-10A5 Configurable I/OConfigurable I/O Routes to MCU PA5. Choose the applicable GPIO or peripheral function in the MCU documentation.
H1-11A6 Configurable I/OConfigurable I/O Routes to MCU PA6. Choose the applicable GPIO or peripheral function in the MCU documentation.
H1-12A7 Configurable I/OConfigurable I/O Routes to MCU PA7. Choose the applicable GPIO or peripheral function in the MCU documentation.
H1-13B0 Configurable I/OConfigurable I/O Routes to MCU PB0. Choose the applicable GPIO or peripheral function in the MCU documentation.
H1-14B1 Configurable I/OConfigurable I/O Routes to MCU PB1. Choose the applicable GPIO or peripheral function in the MCU documentation.
H1-15B10 Configurable I/OConfigurable I/O Routes to MCU PB10. Choose the applicable GPIO or peripheral function in the MCU documentation.
H1-16B11 Configurable I/OConfigurable I/O Routes to MCU PB11. Choose the applicable GPIO or peripheral function in the MCU documentation.
H1-17R Active-low resetActive-low reset Connects to MCU NRST. Use a compatible open-drain reset signal.
H1-183.3 PowerPower Connects to 3V3. Use the specified board power connection.
H1-19G ReturnReturn Connects to the board’s ground plane.
H1-20G ReturnReturn Connects to the board’s ground plane.
H2-13.3 PowerPower Connects to 3V3. Use the specified board power connection.
H2-2G ReturnReturn Connects to the board’s ground plane.
H2-35V PowerPower Connects to 5V. Use the specified board power connection.
H2-4B9 Configurable I/OConfigurable I/O Routes to MCU PB9. Choose the applicable GPIO or peripheral function in the MCU documentation.
H2-5B8 Configurable I/OConfigurable I/O Routes to MCU PB8. Choose the applicable GPIO or peripheral function in the MCU documentation.
H2-6B7 Configurable I/OConfigurable I/O Routes to MCU PB7. Choose the applicable GPIO or peripheral function in the MCU documentation.
H2-7B6 Configurable I/OConfigurable I/O Routes to MCU PB6. Choose the applicable GPIO or peripheral function in the MCU documentation.
H2-8B5 Configurable I/OConfigurable I/O Routes to MCU PB5. Choose the applicable GPIO or peripheral function in the MCU documentation.
H2-9B4 Configurable I/OConfigurable I/O Routes to MCU PB4. Choose the applicable GPIO or peripheral function in the MCU documentation.
H2-10B3 Configurable I/OConfigurable I/O Routes to MCU PB3. Choose the applicable GPIO or peripheral function in the MCU documentation.
H2-11A15 Configurable I/OConfigurable I/O Routes to MCU PA15. Choose the applicable GPIO or peripheral function in the MCU documentation.
H2-12A12 Configurable I/OConfigurable I/O Routes to MCU PA12. Choose the applicable GPIO or peripheral function in the MCU documentation.
H2-13A11 Configurable I/OConfigurable I/O Routes to MCU PA11. Choose the applicable GPIO or peripheral function in the MCU documentation.
H2-14A10 Configurable I/OConfigurable I/O Routes to MCU PA10. Choose the applicable GPIO or peripheral function in the MCU documentation.
H2-15A9 Configurable I/OConfigurable I/O Routes to MCU PA9. Choose the applicable GPIO or peripheral function in the MCU documentation.
H2-16A8 Configurable I/OConfigurable I/O Routes to MCU PA8. Choose the applicable GPIO or peripheral function in the MCU documentation.
H2-17B15 Configurable I/OConfigurable I/O Routes to MCU PB15. Choose the applicable GPIO or peripheral function in the MCU documentation.
H2-18B14 Configurable I/OConfigurable I/O Routes to MCU PB14. Choose the applicable GPIO or peripheral function in the MCU documentation.
H2-19B13 Configurable I/OConfigurable I/O Routes to MCU PB13. Choose the applicable GPIO or peripheral function in the MCU documentation.
H2-20B12 Configurable I/OConfigurable I/O Routes to MCU PB12. Choose the applicable GPIO or peripheral function in the MCU documentation.
H3-13V3 PowerPower Connects to 3V3. Use the specified board power connection.
H3-2DIO Configurable I/OConfigurable I/O Routes to MCU PA13. Choose the applicable GPIO or peripheral function in the MCU documentation.
H3-3CLK Configurable I/OConfigurable I/O Routes to MCU PA14. Choose the applicable GPIO or peripheral function in the MCU documentation.
H3-4GND ReturnReturn Connects to the board’s ground plane.
H4-1VBUS PowerPower Connects to 5V. Use the specified board power connection.
H4-2D- BidirectionalBidirectional USB data line. PCB net destination is PA11.
H4-3D+ BidirectionalBidirectional USB data line. PCB net destination is PA12.
H4-4ID UnconfirmedUnconfirmed The board source supplies no net for this position. Consult the schematic before use.
H4-5GND ReturnReturn Connects to the board’s ground plane.

Signal assignments

TIM4_CH1 PWM on PB6

The timer’s update event requests the DMA transfer. PB6 carries the resulting compare output in the default mapping.

Electrical limits

ParameterLimitConditions and source
Sample stream8-bit unsigned · 16 kHz8-bit unsigned · 16 kHz The archived example stores the data in MCU Flash. A half-second clip uses approximately 8,000 samples. Original PWM audio project
DMA requestTIM4_UP → DMA1 channel 7TIM4_UP → DMA1 channel 7 On STM32F103. Enable one request source on this DMA channel at a time. RM0008 Rev 21, Fig. 50

Models and documents

This guide follows the archived Blue Pill example using a short unsigned 8-bit, 16 kHz sample array in Flash. The output is first checked as a logic waveform.

STM32F103C8T6 Blue Pill
The documented blue PCB has two 20-contact headers, SWD and Micro USB. Its PC13 user LED is active low. The USB D+ pull-up varies across production boards.