Skip to main content

STM32F103C8T6 - Blue Pill Development Board

[Click the image to enlarge it]

The Blue Pill is a development board based on ST Microelectronics’ STM32F103C9T6 microcontroller that has an ARM Cortex-M3 core that runs at 72MHz max. Software libraries are available that allow users to program the chip using the Arduino IDE.

 

STM32F103C8T6 Blue Pill Pin Configuration

Category

Pin Name

Details

Power

3.3V, 5V, GND

  • 3.3V – Regulated output voltage from the onboard regulator (drawing current is not recommended), can also be used to supply the chip.
  • 5V from USB or onboard regulator can be used to supply the onboard 3.3V regulator.
  • GND – Ground pins

Analog Pins

PA0 – PA7

PB0 – PB1

Pins act as ADCs with 12-bit resolution

Input/output pins

PA0 – PA15

PB0 – PB15

PC13 – PC15

37 General-purpose I/O pins.

Serial

TX1, RX1

TX2, RX2

TX3, RX3

UART with RTS and CTS pins

External interrupts

PA0 – PA15

PB0 – PB15

PC13 – PC15

All digital pins have interrupt capability

PWM

PA0 – PA3

PA6 – PA10

PB0 - PB1

PB6 – PB9

15 PWM pins total

SPI

MISO0, MOSI0, SCK0, CS0

MISO1, MOSI1, SCK1, CS0

2 SPI

Inbuilt LED

PC13

LED to act as a general-purpose GPIO indicator

I2C

SCL1, SDA1

SCL2, SDA2

Inter-Integrated Circuit communication ports

CAN

CAN0TX, CAN0RX

CAN bus ports

 

STM32F103C8T6 Technical Specifications

Microcontroller

STM32F103C8T6

Operating voltage

3.3V

Analog inputs

10

Digital I/O pins

37

DC source/sink from I/O pins

6mA

Flash memory (KB)

64/128

SRAM

20KB

Frequency (clock speed)

72MHz max.

Communication

I2C, SPI, UART, CAN, USB

 

Other STM32 Boards

STM32 Discovery, STM32 Nucleo

Other Development Boards

Arduino, Teensy, Raspberry Pi, ESP Modules

 

Blue Pill vs. Arduino Uno

Parameter

Arduino Uno

Blue Pill

Processor

ATMega328P

STM32F103C8T6

Operating/input voltage

5V

3.3V

CPU speed

16MHz

72MHz

Analog pins

8

10

Digital IO/PWM

14

37

EEPROM/SRAM(KB)

1/2

-/20

Flash

32K

64/128K

USB Connector

Type B

Micro

UART

1

3

SPI

1

2

I2C

1

2

 

Blue Pill vs. Nucleo F401

Parameter

Nucleo F401

Blue Pill

Processor

STM32F401RET6

STM32F103C9T6

Operating/input voltage

3.3V

3.3V

CPU speed

84MHz

72MHz

Analog pins

16

10

Digital IO/PWM

50

37

SRAM(KB)

96

20

Flash

512K

64/128K

USB Connector

Mini B

Micro

UART

4

3

SPI

3

2

I2C

3

2

 

Understanding Blue Pill

The Blue Pill is a 32-bit Arduino compatible development board that features the STM32F103C8T6, a member of the STM32 family of ARM Cortex-M3 core microcontrollers. This board aims to bring the 32-bit ARM core microcontrollers to the hobbyist market with the Arduino style form factor.

 

Powering your Blue Pill:

There are three ways of powering your Blue Pill development board:

  • Using the built-in USB micro connector.
  • Supplying 5V to the 5V pin as external supply.
  • Supplying 3.3V directly to the 3.3V pin.

 

Input/Output:

The Blue Pill has 37 GPIO pins spread across four ports – A and B (16 pins), C (3 pins) and D (2 pins). Each pin has a current sink/source ability of 6mA. Pull-up and pull-down resistors can be enabled on each of the pins.

Most pins have extra functionality as well:

  • Serial ports – receive and transmit data via the UART protocol
  • I2C ports – two-wire communication via the IIC protocol
  • SPI – serial communication
  • PWM
  • Pin 13 has a built-in LED

These special functions and their respective pins are illustrated in the Blue Pill pin diagram shown above.

 

How to Use the STM32 Development Board?

The Blue Pill can be programmed in two ways –

  • Using an external USB/Serial converter connected to UART1 pins, which is the default bootloader for this family of boards. It can be programmed using the Arduino software this way.
  • STLink USB Dongle – this uses the single-wire debug interface to communicate with the board. This allows it to be programmed using advanced software like Keil/CubeMX. It also allows memory access using the STLink software.

 

Before programming, it is important to connect the BOOT0 jumper to 1 and press the reset button to put the chip in ‘programming mode’.

 

Uploading Your First Program

If programming using the Arduino software, the appropriate board files should be downloaded using preferences and boards manager.

Then the correct board must be selected on the board's menu.

Since the built-in LED is on pin 13, just like the Arduino, the basic blink sketch will work on the Blue Pill. The code is shown below.

 

Applications

  • Rapid prototyping
  • CRC calculations
  • Robotics
  • Consumer products
  • Drone controllers
Component Datasheet

Get Our Weekly Newsletter!

Subscribe to stay updated with industry's latest Electronics components and news

* indicates required