Blue Pill je levná vývojová deska s čipem STM32F103C8T6 (ARM Cortex-M3, 72 MHz). Za cenu Arduina Nano nabízí 32bitový procesor, USB, CAN, 12bitový převodník a dvojnásobek rozhraní. Programuje se v Arduino IDE (STM32duino), STM32CubeIDE nebo PlatformIO, nahrává se přes ST-LINK (konektor SWD) nebo převodník USB-UART.
Desku vyrábí řada výrobců podle stejného vzoru; rozložení pinů je u všech stejné.
Parametry
- STM32F103C8T6: ARM Cortex-M3 72 MHz, 64 KB flash (často 128 KB), 20 KB RAM
- 32 GPIO na lištách, z toho 10 analogových vstupů (12 bitů)
- 3× UART, 2× I2C, 2× SPI, CAN, USB 2.0 Full Speed, 4 časovače s PWM
- 22 pinů 5V tolerantních (PA8–PA15, PB2–PB4, PB6–PB15)
- micro USB, konektor SWD, propojky BOOT0/BOOT1, LED na PC13
- 53 × 23 mm
STM32F103 nemá volný výběr funkce u každého pinu: každá periferie má výchozí piny a jedno přemapování (AFIO). Diagram ukazuje výchozí piny – po přemapování je USART1 na PB6/PB7, I2C1 na PB8/PB9 a SPI1 na PA15/PB3/PB4/PB5.
V Arduino IDE (jádro STM32duino) zvolte desku „Generic STM32F1 series“ a model „BluePill F103C8“. Nahrávání přes ST-LINK na konektoru SWD je nejspolehlivější; přes USART1 (PA9/PA10) jde s propojkou BOOT0 = 1.
Pinout a tabulka pinů
Najeďte myší na pin v diagramu nebo na řádek tabulky, filtrem zvýrazníte sběrnici. Pinout si můžete stáhnout jako PNG nebo SVG.
| Název | Směr | UART | I2C | SPI | PWM | ADC | Poznámka |
|---|---|---|---|---|---|---|---|
| PB12 | vstup/výstup | CK3 | NSS2 | ||||
| PB13 | vstup/výstup | CTS3 | SCK2 | T1CH1N | |||
| PB14 | vstup/výstup | RTS3 | MISO2 | T1CH2N | |||
| PB15 | vstup/výstup | MOSI2 | T1CH3N | ||||
| PA8 | vstup/výstup | CK1 | T1CH1 | ||||
| PA9 | vstup/výstup | TX1 | T1CH2 | ||||
| PA10 | vstup/výstup | RX1 | T1CH3 | ||||
| PA11 | vstup/výstup | CTS1 | T1CH4 | USB D− (při použití USB obsazený) | |||
| PA12 | vstup/výstup | RTS1 | USB D+. Na desce je pull-up R10 k 3,3 V – správně 1,5 kΩ, osazený bývá 10 kΩ nebo 4,7 kΩ, takže se deska v některých počítačích nepřihlásí. Řešení: vyměnit R10 nebo přidat 1,8 kΩ mezi PA12 a 3,3 V. | ||||
| PA15 | vstup/výstup | T2CH1 | Po resetu JTDI (JTAG) – jako GPIO až po vypnutí JTAG. Po přemapování SPI1 NSS. | ||||
| PB3 | vstup/výstup | T2CH2 | Po resetu JTDO – jako GPIO až po vypnutí JTAG. Po přemapování SPI1 SCK. | ||||
| PB4 | vstup/výstup | T3CH1 | Po resetu NJTRST – jako GPIO až po vypnutí JTAG. Po přemapování SPI1 MISO. | ||||
| PB5 | vstup/výstup | T3CH2 | Po přemapování SPI1 MOSI. Jako jediný z PB3–PB15 není 5V tolerantní. | ||||
| PB6 | vstup/výstup | SCL1 | T4CH1 | I2C1 SCL (výchozí). Po přemapování USART1 TX. 5V tolerantní. | |||
| PB7 | vstup/výstup | SDA1 | T4CH2 | I2C1 SDA (výchozí). Po přemapování USART1 RX. 5V tolerantní. | |||
| PB8 | vstup/výstup | T4CH3 | Po přemapování I2C1 SCL nebo CAN RX. 5V tolerantní. | ||||
| PB9 | vstup/výstup | T4CH4 | Po přemapování I2C1 SDA nebo CAN TX. 5V tolerantní. | ||||
| 5V | vstup/výstup | Spojeno přímo s VBUS konektoru USB bez diody – nenapájejte z USB a z vnějšího zdroje 5 V současně. | |||||
| GND | – | ||||||
| 3V3 | vstup/výstup | 3,3 V ze stabilizátoru, nebo napájecí vstup 3,3 V | |||||
| VBAT | vstup | Záloha RTC a záložních registrů (baterie 1,8–3,6 V) | |||||
| PC13 | vstup/výstup | Vestavěná LED (3,3 V → LED → 510 Ω → PC13), svítí v log. 0. PC13–PC15 jsou napájené přes spínač zálohové domény: jen 3 mA, max. 2 MHz, nesmí dodávat proud. | |||||
| PC14 | vstup/výstup | Slabý pin (max. 3 mA, 2 MHz) – krystal 32,768 kHz pro RTC | |||||
| PC15 | vstup/výstup | Slabý pin (max. 3 mA, 2 MHz) – krystal 32,768 kHz pro RTC | |||||
| PA0 | vstup/výstup | CTS2 | T2CH1 | ADC12_IN0 | |||
| PA1 | vstup/výstup | RTS2 | T2CH2 | ADC12_IN1 | |||
| PA2 | vstup/výstup | TX2 | T2CH3 | ADC12_IN2 | |||
| PA3 | vstup/výstup | RX2 | T2CH4 | ADC12_IN3 | |||
| PA4 | vstup/výstup | CK2 | NSS1 | ADC12_IN4 | |||
| PA5 | vstup/výstup | SCK1 | ADC12_IN5 | ||||
| PA6 | vstup/výstup | MISO1 | T3CH1 | ADC12_IN6 | |||
| PA7 | vstup/výstup | MOSI1 | T1CH1N, T3CH2 | ADC12_IN7 | |||
| PB0 | vstup/výstup | T1CH2N, T3CH3 | ADC12_IN8 | ||||
| PB1 | vstup/výstup | T1CH3N, T3CH4 | ADC12_IN9 | ||||
| PB10 | vstup/výstup | TX3 | SCL2 | T2CH3 | |||
| PB11 | vstup/výstup | RX3 | SDA2 | T2CH4 | |||
| NRST | vstup | Reset – log. 0 drží čip v resetu (tlačítko RESET) | |||||
| 3V3 | vstup/výstup | 3,3 V ze stabilizátoru, nebo napájecí vstup 3,3 V | |||||
| GND | – | ||||||
| GND | – | ||||||
| 3V3 | vstup/výstup | 3,3 V ze stabilizátoru, nebo napájecí vstup 3,3 V | |||||
| PA13 | vstup/výstup | ||||||
| PA14 | vstup/výstup | ||||||
| GND | – |
Piny použité na desce
Tyto piny čipu obsluhují součástky na desce a ven vyvedené nejsou:
| Pin | Funkce na desce |
|---|---|
| PB2 | BOOT1 – propojka na desce (s BOOT0 = 1 a BOOT1 = 0 se spustí zavaděč přes USART1) |
| BOOT0 | Propojka BOOT0 – 0 = start z flash, 1 = systémový zavaděč |
| PD0, PD1 | Krystal 8 MHz (OSC_IN, OSC_OUT) |
Na co si dát pozor
- Piny PA0–PA7, PB0, PB1, PB5 a PC13–PC15 nejsou 5V tolerantní.
- Pull-up R10 na USB D+ bývá 10 kΩ místo 1,5 kΩ – deska se pak nemusí přihlásit jako USB zařízení.
- PC13–PC15 snesou jen 3 mA a nesmí dodávat proud (LED na PC13 svítí v log. 0).
- PA15, PB3 a PB4 jsou po resetu piny JTAG – jako GPIO je uvolníte až po vypnutí JTAG (SWD zůstane).
- Pin 5V je spojený přímo s USB bez diody – nenapájejte desku z USB a z vnějšího zdroje současně.
- Mnoho desek nese klon čipu (CS32F103, GD32F103, APM32F103) – OpenOCD může hlásit jiné ID.
Kde koupit
Blue Pill (STM32F103C8T6) seženete například tady:
- LaskaKit.cz – BluePill STM32F103C8
- Pájeníčko.cz – STM32 BluePill s STM32F103C8T6
STM32 na chiptronu
Na chiptronu najdete tyto projekty a návody:
- STM32duino – jak začít s STM32 jako s Arduinem
- Klon STM32F103 na Blue Pill – CS32F103C8T6 od China Key System
- HScope – osciloskop s mobilem a Blue Pill
Další pinouty
Všechny pinouty najdete na stránce Pinouty.





