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.
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 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:
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.
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
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](/img/Insights-submitbox.png)