The STM32F103C8T6 Development Board is a popular choice to learn how to program the STM32 Microcontrollers from ST Microelectronics.
The board consists of the STM32F103C8T6 microcontroller which is a ARM Cortex-M 32-bit processor. It is a 40 pin microcontroller which holds two crystal oscillators of 8MHz and 32KHz crystal. The MCU has inbuilt 5V to 3.3V voltage regulator to power the MCU. Unlike Arduino boards, the STM32 Development board works on 3.3V. The MCU contains two onboard LEDs, one is used for power indication and the second LED is connected to the GPIO pin PC13. The STM32F103C8T6 MCU contains three boot modes which can be set using the Boot0 and Boot1 jumper pins.)
The development board can be easily programmed using the Arduino IDE. But if you want to explore the complete STM32 development boards, you can also use the STM32Cube and other development environments offered by ST Microelectronics. You can also use Keil, IAR workbench, Atollic TrueStudio, MicroC Pro ARM, Crossworks ARM, Ride 7, PlatformIO+STM32 etc. to program the board. The hex file of a program can be uploaded using a single wire interface module (SWIM) or by using JTAG/ serial wire debugging (SWD).
The STM32F103xx medium-density performance line family incorporates the high-performance ARM®Cortex®-M3 32-bit RISC core operating at a 72 MHz frequency, high-speed embedded memories (Flash memory up to 128 Kbytes and SRAM up to 20 Kbytes), and an extensive 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, an USB and a CAN.
The devices operate from a 2.0 to 3.6 V power supply. They are 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 mode allows the design of low-power applications.
These features make the STM32F103xx medium-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.
SPECIFICATIONS:
• ARM® 32-bit Cortex® -M3 CPU Core
• 72 MHz maximum frequency,1.25 DMIPS/MHz (Dhrystone 2.1) performance at 0 wait state memory access
• Single-cycle multiplication and hardware division
• Memories § 64 or 128 Kbytes of Flash memory
• 20 Kbytes of SRAM
• Clock, reset and supply management
• 2.0 to 3.6 V application supply and I/Os
• POR, PDR, and programmable voltage detector (PVD)
• 4-to-16 MHz crystal oscillator
• Internal 8 MHz factory-trimmed RC
• Internal 40 kHz RC
• PLL for CPU clock
• 32 kHz oscillator for RTC with calibration
• Low-power
• Sleep, Stop and Standby modes
• VBAT supply for RTC and backup registers
• 2 x 12-bit, 1 μs A/D converters (up to 16 channels)
• Conversion range: 0 to 3.6 V
• Dual-sample and hold capability
• Temperature sensor
• DMA
• 7-channel DMA controller
• Peripherals supported: timers, ADC, SPIs, I2 Cs and USARTs
• Up to 80 fast I/O ports
• 26/37/51/80 I/Os, all mappable on 16 external interrupt vectors and almost all 5 V-tolerant § Debug mode
• Serial wire debug (SWD) & JTAG interfaces
• 7 timers
• Three 16-bit timers, each with up to 4 IC/OC/PWM or pulse counter and quadrature (incremental) encoder input
• 16-bit, motor control PWM timer with dead-time generation and emergency stop
• 2 watchdog timers (Independent and Window)
• SysTick timer 24-bit downcounter
• Up to 9 communication interfaces
• Up to 2 x I2 C interfaces (SMBus/PMBus)
• Up to 3 USARTs (ISO 7816 interface, LIN, IrDA capability, modem control)
• Up to 2 SPIs (18 Mbit/s)
• CAN interface (2.0B Active)
• USB 2.0 full-speed interface
• CRC calculation unit, 96-bit unique ID