72 MHz Cortex-M3 with 128 KB flash — the processing and memory ceiling
The STM32F103RBT7TR: The ARM Cortex-M3 core runs at 72 MHz — this is the maximum clock from the internal oscillator or an external crystal. At this speed the part delivers roughly 90 DMIPS, enough for motor-control loops running at 10-20 kHz or a CANopen stack with a 1 ms cycle time. On-chip memory is 128 KB of flash and 20 KB of SRAM. The flash is single-banked with zero-wait-state execution up to 72 MHz for linear code; a branch or jump incurs one wait state. Budget the SRAM for stack, RTOS kernel objects, and two 1 KB CAN message buffers — the remaining ~14 KB is available for application data.
Peripheral set — motor control PWM, CAN, USB, and 16-channel 12-bit ADC
The STM32F103RBT7TR carries a motor-control PWM timer with complementary outputs and programmable dead-time — this is the hardware block that drives a 3-phase inverter bridge without external PWM logic. The 16-channel 12-bit ADC samples at 1 µs per channel; a single conversion sequence can capture all three phase currents plus a temperature sensor reading in under 10 µs. Connectivity includes CAN (2.0B active), full-speed USB 2.0 device, three USARTs (one with ISO 7816 smart-card support), two SPIs, and two I²C interfaces. The CAN controller has two mailboxes with hardware filtering — sufficient for a 250 kbps CANopen node with 4-6 PDOs. 51 I/O pins are available in the 64-LQFP package. The 0.50 mm pitch requires a 4-layer PCB for reliable fan-out of the inner rows; a 2-layer board can break out only the outer 32 pins.
This is the industrial-grade band — the part is qualified for outdoor telecom cabinets, engine-bay electronics, and factory-floor controllers where the enclosure ambient reaches 85°C with a 20°C margin to the 105°C ceiling. At 3.3 V the core runs at full 72 MHz; below 2.4 V the maximum clock is restricted to 36 MHz per the datasheet's operating conditions table. The internal POR and PVD blocks monitor the supply rail and generate a reset or interrupt when the voltage drops below the programmable threshold.
