STM32F103C6T6 Datasheet, Pinout, Schematic, Programming, and Specs
The STM32F103C6T6 is a powerful microcontroller known for its versatility and performance. It belongs to the STM32F1 series produced by STMicroelectronics, offering a wide range of features and capabilities. This microcontroller is highly regarded in the world of embedded systems and microcontroller applications due to its robustness, cost-effectiveness, and ease of use. Its popularity stems from its ability to cater to a wide range of applications, from simple DIY projects to complex industrial automation systems. In this article, we'll provide an overview of theSTM32F103C6T6, exploring its specifications, schematic, pinout, programming, datasheet, and more details.
Description of STM32F103C6T6
The STM32F103C6T6 performance line family integrates the high-performance ARM Cortex-M3 32-bit RISC core, operating at a frequency of 72 MHz. It features high-speed embedded memories (Flash memory up to 32 Kbytes and SRAM up to 6 Kbytes) and a wide range of enhanced I/Os and peripherals connected to two APB buses. All devices offer two 12-bit ADCs, three general-purpose 16-bit timers plus one PWM timer, as well as standard and advanced communication interfaces: up to two I2Cs and SPIs, three USARTs, a USB, and a CAN.
The STM32F103C6T6 low-density performance line family operates from a 2.0 to 3.6 V power supply. It is available in both the –40 to +85 °C temperature range and the –40 to +105 °C extended temperature range. A comprehensive set of power-saving modes allows for the design of low-power applications.
The STM32F103C6T6 low-density performance line family includes devices in four different package types, ranging from 36 pins to 64 pins. Depending on the chosen device, different sets of peripherals are included. The following description provides an overview of the complete range of peripherals proposed in this family.
These features make the STM32F103C6T6 low-density performance line microcontroller family suitable for a wide range of applications such as motor drives, application control, medical and handheld equipment, PC and gaming peripherals, GPS platforms, industrial applications, PLCs, inverters, printers, scanners, alarm systems, video intercoms, and HVACs.
Features of STM32F103C6T6
ARM 32-bit Cortex™-M3 CPU Core: The microcontroller is powered by an ARM Cortex™-M3 CPU core, capable of operating at a maximum frequency of 72 MHz. It delivers a performance of 1.25 DMIPS/MHz (Dhrystone 2.1) with 0 wait state memory access and supports single-cycle multiplication and hardware division.
Versatile Memories: The STM32F103C6T6 features 16 or 32 Kbytes of Flash memory for program storage and 6 or 10 Kbytes of SRAM for data storage.
Clock, Reset, and Supply Management: It supports 2.0 to 3.6 V application supply and I/Os. The microcontroller includes a Power-On Reset (POR), a Power-Down Reset (PDR), and a programmable voltage detector (PVD). It also features a 4-to-16 MHz crystal oscillator, an internal 8 MHz factory-trimmed RC oscillator, and an internal 40 kHz RC oscillator. Additionally, it provides a PLL for the CPU clock and a 32 kHz oscillator for the Real-Time Clock (RTC) with calibration.
Low Power: The STM32F103C6T6 offers Sleep, Stop, and Standby modes for power optimization. It includes VBAT supply for RTC and backup registers.
2 x 12-bit, 1 µs A/D Converters: The microcontroller is equipped with two 12-bit analog-to-digital converters (ADC) with up to 16 channels. It has a conversion range of 0 to 3.6 V and supports dual-sample and hold capability. Additionally, it features a temperature sensor.
Direct Memory Access (DMA): It includes a 7-channel DMA controller that supports peripherals such as timers, ADC, SPIs, I2Cs, and USARTs.
Up to 51 Fast I/O Ports: The STM32F103C6T6 offers 26/37/51 I/Os, all mappable on 16 external interrupt vectors. Almost all ports are 5 V-tolerant, providing flexibility in interfacing with various external devices.
STM32F103C6T6 Specifications
Type | Parameter |
Core | ARM Cortex M3 |
Core Size
|
32-Bit Single-Core
|
Program Memory Size | 32 kB |
Data Bus Width | 32 bit |
ADC Resolution | 12 bit |
Maximum Clock Frequency | 72 MHz |
RAM Size | 10K x 8 |
Supply Voltage - Min | 1.8 V, 2 V |
Supply Voltage - Max | 3.6 V |
Voltage - Supply (Vcc/Vdd) | 2V ~ 3.6V |
Connectivity | CANbus, I2C, IrDA, LINbus, SPI, UART/USART, USB |
Peripherals | DMA, Motor Control PWM, PDR, POR, PVD, PWM, Temp Sensor, WDT |
Number of I/Os | 48 I/O |
Operating Temperature
|
-40°C ~ 85°C (TA)
|
Package / Case
|
48-LQFP
|
Electrical Characteristics
Parameter Conditions
Unless otherwise specified, all voltages are referenced to VSS.
Minimum and Maximum Values
Unless otherwise specified, the minimum and maximum values are guaranteed under the worst conditions of ambient temperature, supply voltage, and frequencies by tests in production on 100% of the devices with an ambient temperature at TA = 25 °C and TA = TAmax (given by the selected temperature range). Data based on characterization results, design simulation, and technology characteristics are indicated in the table footnotes and are not tested in production. Based on characterization, the minimum and maximum values refer to sample tests and represent the mean value plus or minus three times the standard deviation (mean±3σ).
Typical Values
Unless otherwise specified, typical data are based on TA = 25 °C, VDD = 3.3 V (for the 2 V ≤ VDD ≤ 3.6 V voltage range). They are given only as design guidelines and are not tested. Typical ADC accuracy values are determined by the characterization of a batch of samples from a standard diffusion lot over the full temperature range, where 95% of the devices have an error less than or equal to the value indicated (mean±2σ).
Typical Curves
Unless otherwise specified, all typical curves are given only as design guidelines and are not tested.
Loading Capacitor
The loading conditions used for pin parameter measurement are shown in the following figure.
Pin Input Voltage
The input voltage measurement on a pin of the device is described in the following figure.
Power Supply Scheme
Current Consumption Measurement
Absolute Maximum Ratings
Symbol | Ratings | Value |
VDD − VSS | External main supply voltage (including VDDA and VDD) | –0.3V ~ 4.0V |
VIN | Input voltage on five volt tolerant pin | VSS − 0.3V ~ VDD + 4.0V |
Input voltage on any other pin | VSS − 0.3V ~ 4.0V | |
|VDDx| | Variations between different VDD power pins | 50mV |
|VSSX −VSS| | Variations between all the different ground pins | 50mV |
VESD(HBM) | Electrostatic discharge voltage (human body model) | 2000V |
IVDD | Total current into VDD/VDDA power lines (source) | 150mA |
IVSS | Total current out of VSS ground lines (sink) | 150mA |
IIO | Output current sunk by any I/O and control pin | 25mA |
Output current source by any I/Os and control pin | -25mA | |
IINJ(PIN) | Injected current on five volt tolerant pins | -5/+0mA |
Injected current on any other pin | ± 5mA | |
ΣIINJ(PIN) | Total injected current (sum of all I/O and control pins) | ± 25mA |
TSTG | Storage temperature range | –65°C to +150°C |
TJ | Maximum junction temperature | 150°C |
STM32F103C6T6 Pinout
STM32F103C6T6 CAD Model
STM32F103C6T6 Block Diagram
STM32F103C6T6 Application
Motor Drives
The STM32F103C6T6 is used in motor drive systems to control the speed and direction of motors in various applications, such as industrial machinery, robotics, and automotive systems.
Application Control
It is utilized for controlling the operation of various applications, including home automation systems, smart appliances, and industrial automation equipment.
Medical and Handheld Equipment
Due to its low power consumption and high processing capabilities, the microcontroller is employed in medical devices such as portable monitoring systems, infusion pumps, and handheld diagnostic tools.
PC and Gaming Peripherals
STM32F103C6T6 is used in peripherals for PCs and gaming consoles, such as keyboards, mice, and game controllers, to provide efficient and reliable control interfaces.
GPS Platforms
It is used in GPS tracking devices and navigation systems to process location data and provide accurate positioning information.
Industrial Applications
Due to its robustness and reliability, the microcontroller is widely used in various industrial applications, including factory automation, process control, and monitoring systems.
PLCs (Programmable Logic Controllers)
It is utilized in PLCs for controlling and monitoring industrial processes and machinery.
Inverters
STM32F103C6T6 is used in power inverters, which convert DC power to AC power in applications such as solar power systems and uninterruptible power supplies (UPS).
Printers and Scanners
It is used in printers and scanners for controlling printing and scanning functions, providing fast and efficient operations.
Alarm Systems
The microcontroller is used in alarm systems for detecting and signaling unauthorized entry or other security breaches.
Video Intercoms
It is used in video intercom systems for communication and remote access control in residential and commercial buildings.
HVAC (Heating, Ventilation, and Air Conditioning)
STM32F103C6T6 is used in HVAC systems for controlling temperature, humidity, and air quality, ensuring comfortable and energy-efficient indoor environments.
STM32F103C6T6 Programming
To program the STM32F103C6T6, developers can use a variety of development tools and integrated development environments (IDEs) such as Keil, STM32CubeIDE, and Arduino IDE. These tools provide a user-friendly interface for writing, compiling, and debugging code for the microcontroller.
- IDEs for STM32F103C6T6
Several integrated Development Environments (IDEs) support STM32F103C6T6, including the STM32CubeIDE, Keil uVision, and CoIDE. Each offers a unique set of features, catering to different programming needs and preferences.
- STM32CubeIDE
STM32CubeIDE is an official IDE from STMicroelectronics for STM32 development. It integrates the STM32Cube library, providing a comprehensive software infrastructure to streamline the programming process.
- Keil uVision
Keil uVision is another popular choice. It offers robust debugging capabilities, making it easier for developers to identify and resolve errors in their code.
STM32CubeMX is a graphical tool that helps developers configure the microcontroller and generate initialization code quickly. It allows users to configure peripherals, pin assignments, and clock settings, among other parameters. Then, it generates the corresponding initialization code in C language, which can be easily integrated into the development environment.
Another essential aspect of programming the STM32F103C6T6 is understanding the HAL (Hardware Abstraction Layer) libraries provided by STMicroelectronics. HAL libraries abstract the low-level hardware details, providing a standardized interface for interacting with the microcontroller's peripherals. This abstraction simplifies the development process and makes the code more portable across different STM32 microcontrollers. Understanding how to use HAL libraries is essential for efficiently programming the STM32F103C6T6 and leveraging its full potential in embedded applications.
Benefits of Using the STM32F103C6T6
The STM32F103C6T6 microcontroller offers several benefits that make it an attractive choice for embedded system developers:
- Increased Processing Power: The STM32F103C6T6 features a 32-bit ARM Cortex-M3 core, providing higher processing capabilities compared to traditional 8—or 16-bit microcontrollers. This allows for more complex algorithms and faster task execution in embedded applications.
- Enhanced Peripherals and Connectivity Options: The STM32F103C6T6 is equipped with a variety of peripherals such as USART, SPI, I2C, and timers, offering versatile connectivity options for interfacing with other devices and sensors. Additionally, it supports USB connectivity, enabling communication with a host computer or other USB devices.
- Low Power Consumption: Despite its advanced features, the STM32F103C6T6 is designed to be power-efficient, making it suitable for battery-powered and energy-conscious applications. It offers various low-power modes and features, allowing developers to optimize power consumption based on their application requirements.
Overall, the STM32F103C6T6 provides a balance of performance, connectivity, and power efficiency, making it a versatile choice for a wide range of embedded system applications.
STM32F103C6T6 Equivalent/Alternative
STM32F103C6T6 Package
STM32F103C6T6 Manufacturer
STMicroelectronics, a global leader in semiconductor manufacturing, is the proud manufacturer of the STM32F103C6T6 microcontroller. With a strong focus on innovation and quality, STMicroelectronics has established itself as a trusted name in the electronics industry. The company's commitment to excellence is evident in the STM32F103C6T6, which boasts high performance, reliability, and versatility. STMicroelectronics' dedication to customer satisfaction and technological advancement makes it a preferred choice for engineers and designers worldwide.
STM32F103C6T6 Datasheet
Download STM32F103C6T6 Datasheet PDF.
STM32F103C6T6 vs. STM32F103C8T6
Feature | STM32F103C6T6 | STM32F103C8T6 |
Core | ARM Cortex-M3 | ARM Cortex-M3 |
Bit Size | 32-bit | 32-bit |
Supply Voltage | 2V - 3.6V | 2V - 3.6V |
Operating Frequency | 72MHz | 72MHz |
Flash Memory | 16KB/32KB | 64KB/128KB |
RAM | 6KB/10KB | 20KB |
USART | x2 | x3 |
SPI | x1 | x2 |
USB | x1, 2.0 | x1, 2.0 |
I2C | x1 | x2 |
CAN | x1, 2.0B | x1. 2.0B |
GPIO | 51 | 80 |
Timers/Counters | x6 | x7 |
PWM | 16-bit | 16-bit |
Internal Temp. Sensor | Yes | Yes |
32KHz Clock | Yes | Yes |
ADC Resolution | 12-bit | 12-bit |
ADC Channels | x16 | x16 |
DMA | Yes | Yes |
Package / Case | 48-LQFP | 48-LQFP |
Conclusion
In conclusion, the STM32F103C6T6 microcontroller stands out as a versatile and powerful solution for embedded systems design. Its advanced features, including a 32-bit ARM Cortex-M3 core, a wide range of peripherals, and low power consumption, make it ideal for a variety of applications. It provides developers with a powerful tool to create innovative and efficient solutions for a wide range of applications.
Read More
- STM32H7 Microcontroller Features, Development, Datasheet
- ESP32 vs. STM32: How to Choose the Right Microcontrollers
- ESP-01 Pinout, Programming, Datasheet, and ESP-01 vs. ESP-01S vs. ESP8266
- RP2040 vs. ESP32: How to Choose the Right Microcontrollers
- STM32F103C8T6 Blue Pill Development Board Pinout, Specs, Programming & Datasheet
FAQ
-
What makes the STM32F103C6T6 stand out in terms of performance?
It features an Arm® Cortex®-M3 32-bit RISC core.
-
How can I interface sensors with STM32F103C6T6?
You can use GPIO pins or I2C/SPI interfaces to connect sensors to the STM32F103C6T6.
-
What programming languages are supported for STM32F103C6T6?
STM32F103C6T6 supports programming in C/C++ using development environments like STM32CubeIDE.
-
What IDEs are compatible with programming the STM32F103C6T6?
You can use various IDEs, such as STM32CubeIDE, Keil uVision, and CoIDE.
-
What libraries are available for programming the STM32F103C6T6?
The Standard Peripheral Library (SPL) and the Hardware Abstraction Layer (HAL) are popular libraries for programming the STM32F103C6T6.
-
What is the STM32 blue pill?
The STM32 Blue Pill is an Arduino-compatible development board that utilizes the STM32F103C8T6, a member of the STM32 family known for its ARM Cortex-M3 core microcontrollers.
Still, need help? Contact Us: [email protected]