The STM32F103C8T6 Blue Pill development board is a microcontroller unit based on the RISC architecture, belonging to the STM32F103x8 series. It serves as an alternative to STMicroelectronics' STM Discovery board and is designed as a low-cost development board. The STM32F103C8T6 microcontroller unit features GPIO pins, a processor, memory, a USB port, analog-to-digital converters, and other peripherals. Despite being a low-cost development board, it offers impressive features, including a 72MHz clock speed and an efficient ARM Cortex core.

In this article, we will provide a brief introduction to the STM32F103C8T6 Blue Pill development board, covering its features, specifications, pin configuration, GPIO pins, peripherals, and applications.

Basic Overview of the STM32F103C8T6 Blue Pill Development Board

The STM32F103C8T6 Blue Pill development board includes a 32-bit Cortex-M3 RISC ARM core with an internal oscillator ranging from 4 to 16MHz. It is a CMOS flash technology chip with 37 GPIO pins and 10 analog pins.

The STM32F103C8T6 features modern communication interfaces such as CAN and USB ports. It can operate at very low voltage, making it suitable for low-power applications. It also includes an integrated watchdog and a window watchdog timer for proper instruction execution.

STM32F103C8T6 Blue Pill Development Board

Specifications of the STM32F103C8T6 Blue Pill Development Board

Feature and Peripheral Description
Architecture Reduced Instruction Set
Pin Count 47
Static Random Access Memory (SRAM) 20KB
Serial Wire Debug 1 port
Flash Memory 64/128 kilobytes (KB)
Processor Speed Up to 72 megahertz (MHz)
USB Connector Micro USB
Analog-to-Digital Converters (ADC) 2 units
Timer Count 7 units
Communication Interfaces 9 interfaces
USB Module Supported
I2C Interfaces 2 interfaces
SPI Interfaces 2 interfaces
Operating Temperature -40 degrees Celsius to +105 degrees Celsius
Source/Drain Current 6 milliamps (mA)
Operating Voltage 2.0V–3.6V
UART (Serial) Modules 3 modules
Internal Oscillator 4-16 megahertz (MHz)
Windowed Watchdog Timer (WWDT) Supported
JTAG Debug Interface 1 interface

Features of the STM32F103C8T6 Blue Pill Development Board

  • Cycle Redundancy Check (CRC) for data integrity monitoring.
  • Three different boot options through USART1 for reprogramming the flash memory.
  • Seven different timers for various sampling rates of analog signals.
  • JTAG (Joint Test Action Group) serial protocol for debugging and testing microcontroller units.
  • Phase-locked loop (PLL) clock for stable clock signal output and input phase alignment.
  • Window watchdog timer for observing signal reception and transmission errors.

Pin Configuration of the STM32F103C8T6 Blue Pill Development Board

The following image displays the pin arrangement of the STM32F103C8T6 Blue Pill development board:

Pin Configuration of the STM32F103C8T6 Blue Pill Development Board

Pin Configuration Explanation:

Type Pin Name Function Description
Power 3.3V
5V
GND
1. Operating voltage output
2. USB or external 5V power supply input
3. Ground pin
Analog PA0-PA7,PB0-PB1 10/12-bit resolution ADC pins
Input/Output

PA0-PA15, PB0-PB15, PC13-PC15

37 general-purpose I/O pins

External Interrupts

PA0-PA15, PB0-PB15, PC13-PC15

Interrupt pins

Pulse Width Modulation (PWM)

PA0-PA3, PA6-PA10, PB0-PB1, PB6-PB9

15 pulse width modulation (PWM) pins

Serial Communication (UART)

TX1, RX1, TX2, RX2, TX3, RX3

RTS/CTS USART pins

SPI

MISO0, MOSI0, SCK0, MISO1, MOSI1, SCK1, CS0

2 serial peripheral interface (SPI) pins
 

CAN

CAN0TX, CAN0RX

Controller Area Network (CAN) bus pins
 

I2C

SCL1, SCL2, SDA1, SD2

Internal integrated circuit (I2C) serial data and clock pins

Built-in LED Indicator

PC13

LED indicator
  • External Interrupt: Hardware interrupts are used to detect external signals.
  • PWM (Pulse Width Modulation): There are a total of 15 PWM pins, which are used to generate analog voltage signals from digital PWM outputs.
  • RTS/CTS (Request-to-Send/Clear-to-Send): This is a protocol used to control the flow of data and signals for data transmission and reception.
  • SPI (Serial Peripheral Interface): SPI is a serial communication interface used for communication between the microcontroller unit and peripheral devices.
  • CAN (Controller Area Network): CAN is a multi-serial bus that is responsible for bidirectional communication.
  • I2C (Inter-Integrated Circuit): I2C is another serial interface protocol used for synchronous bit-by-bit data transmission.

STM32F103C8T6 Blue Pill Development Board Schematic Diagram

The diagram below serves as a reference for the operational principles of the STM32F103C8T6 Blue Pill development board. In case the Blue Pill becomes damaged, you can refer to this schematic diagram for component replacement:

STM32F103C8T6 Blue Pill Development Board Schematic Diagram

Programming Software for the STM32F103C8T6 Blue Pill Development Board

Currently, there are two methods available for programming the STM32F103C8T6 development board:

  • STLink USB JTAG Debugger
  • External USB or Serial Converter

Although there are numerous compiler options and integrated development environments (IDEs) for writing and flashing code onto the STM32F103C8T6 Blue Pill, two of the most popular and user-friendly compilers.

In addition, software from Kiel/CubeMX and STLink is used to compile and upload programs. This is done via the single-wire debugging interface, which is designed for ARM cores for transfer and memory access.

Development Environment for the STM32F103C8T6 Blue Pill Development Board

This microcontroller (MCU) is compatible with Arduino software, allowing you to use the Arduino IDE for programming. Arduino employs two compilers: avr-g++ and arm-none-eabi-g++. Code can be burned onto the MCU via the UART1 pin using an external USB interface.

To program the STM32F10C8T6 using Arduino software, you need to select the appropriate board from the software's board menu. Subsequently, download the relevant files for efficient programming. For example, you can upload a program like "Blink" to the MCU, as the development board features an integrated LED indicator.

Applications of the STM32F103C8T6 Blue Pill Development Board

  • Robotics
  • Medical systems
  • Home automation systems
  • Low-cost embedded systems
  • Consumer devices
  • Global Positioning Systems (GPS)
  • Industrial applications

Advantages of the STM32F103C8T6 Blue Pill Development Board

The STM32F103C8T6 is a 32-bit ARM Cortex-M3 core microcontroller with the following key benefits:

  • High performance: Operating at up to 72MHz, with high computational and floating-point capabilities suitable for real-time and computation-intensive applications.
  • Rich peripherals: Multiple peripherals, including up to 39 GPIOs, UART, SPI, I2C, timers, PWM, etc., accommodating various application scenarios.
  • Low power consumption: Offers various low-power modes like standby, sleep, and stop to extend battery life, ideal for low-power applications.
  • Extensive software support: Uses ARM Cortex-M3 core, compatible with multiple development tools and software packages like Keil, IAR, and CubeMX, ensuring high development efficiency.
  • Cost-effective: Economical and suited for affordable applications, making it versatile for various fields like smart homes, IoT, embedded systems, etc.

Packaging Design Parameters of the STM32F103C8T6

The STM32F103C8T6 comes in two packages: LQFP48 and UFQFPN48. The UFQFPN48 two-dimensional model shows the physical dimensions required for designing a PCB card.

Packaging Design Parameters of the STM32F103C8T6

Price of the STM32F103C8T6 Blue Pill Development Board

The STM32F103C8T6 Blue Pill development board typically costs between $1 and $5, depending on the seller, location, and what other components or accessories are included. Prices for electronic components and development boards may change over time due to supply and demand, currency exchange rates, and market conditions.

STM32F103C8 Datasheet PDF

STM32F103C8 Datasheet PDF

The STM32F103C8T6 datasheet PDF includes an introduction to STM32F103x8 and STM32F103xB, descriptions, pin layout and descriptions, memory mapping, electrical characteristics, packaging information, ordering information, important safety notes, and revision history.

Differences Between STM32F103C8T6 and STM32F103ZET6

STM32F103C8T6 and STM32F103ZET6 are both 32-bit ARM Cortex-M3 core microcontrollers produced by ST. The main differences between them are:

  • Different packages: STM32F103C8T6 is in an LQFP48 package, while STM32F103ZET6 is in an 4 packages, leading to differences in pin count and layout.
  • Different memory: STM32F103C8T6 has 64KB Flash and 20KB RAM, while STM32F103ZET6 has 512KB Flash and 64KB RAM, offering higher storage capacity and processing speed.
  • Different timers: STM32F103C8T6 has three basic timers and one advanced control timer, while STM32F103ZET6 has nine basic timers and four advanced control timers.
  • Performance difference: STM32F103ZET6 has a higher operating frequency (72MHz vs. 64MHz), making it more capable of handling high-speed data and operations.

Differences Between STM32F103C8T6 and STM32F103RCT6

STM32F103C8T6 and STM32F103RCT6 are both 32-bit ARM Cortex-M3 core microcontrollers, and their main differences are:

  • Different sizes: STM32F103C8T6 has dimensions of 7 x 7 mm, while STM32F103RCT6 is 11 x 11 mm, making the former more compact for small projects.
  • Different Flash memory: STM32F103C8T6 has 64KB of Flash memory, while STM32F103RCT6 has 256KB, offering more storage capacity.
  • Different ADC channels: STM32F103C8T6 has one 12-bit ADC, while STM32F103RCT6 has two, providing more capabilities for handling multiple input signals.

Differences Between STM32F103C8T6 and STM32F103C6T6

STM32F103C8T6 and STM32F103C6T6 are both 32-bit ARM Cortex-M3 core microcontrollers, with the main differences being:

  • Different Flash and RAM sizes: STM32F103C8T6 has 64KB Flash and 20KB RAM, while STM32F103C6T6 has 32KB Flash and 10KB RAM.
  • Different packages: STM32F103C8T6 is in an LQFP48 package, while STM32F103C6T6 is available in LQFP48, LQFP64, and LQFP100 packages.
  • Different ADC channel counts: STM32F103C8T6 has one ADC channel, while STM32F103C6T6 has two, providing the latter with capabilities for multiple analog inputs.

Differences Between STM32F103C8T6 and STM32F103VET6

STM32F103C8T6 and STM32F103VET6 are both 32-bit ARM Cortex-M3 core microcontrollers from ST, and their main differences are:

  • Different Flash and RAM sizes: STM32F103C8T6 has 64KB Flash and 20KB RAM, while STM32F103VET6 offers 512KB Flash and 64KB RAM, providing more storage and processing capacity.
  • Different packages: STM32F103C8T6 comes in an LQFP48 package, whereas STM32F103VET6 is available in an LQFP100 package, offering more GPIO and bus interfaces.
  • Different ADC channels: STM32F103C8T6 has one ADC channel, while STM32F103VET6 has 24 ADC channels, suitable for handling multiple analog input signals.
  • Price: STM32F103VET6 is priced higher than STM32F103C8T6 due to its advanced features.

Summary

The STM32F103C8T6 is suitable for applications on the lower end of the spectrum with limited space due to its size, package characteristics, etc., but due to its 20KB of RAM memory, it is little problematic in the area of handling larger, more complex data sets, multi-input signaling, and more average code and data storage capabilities. While it may not be as good as higher-end microcontrollers in some areas, its balance of performance, features, and price make it ideal for many projects. When choosing a microcontroller, it's still important to weigh the pros and cons based on the specific application needs and budget to ensure optimal performance and best value for money.

Overall, the STM32F103C8T6 can still be considered a powerful microcontroller for a wide range of embedded applications, but the pros and cons should be weighed against specific application needs and budgets when choosing one.


Stay updated with Lisleapex by signing up for the newsletter

Insights submitbox