72 MHz ARM Cortex-M3 with 32 KB Flash — entry-level workhorse, now obsolete
This part was designed for cost-sensitive industrial control, motor-drive feedback, and compact sensor nodes where the 72 MHz core provides enough throughput for real-time loops without the overhead of a larger memory array.
For existing BOMs, sourcing this exact code now depends on inventory held by independent distributors; we can quote current availability and pricing against an RFQ.
Peripheral fit — CAN and USB on a 32 KB part
The CAN interface makes this MCU a natural fit for a compact CAN node in an industrial or automotive sub-system where the firmware is lean enough to fit in 32 KB. The USB peripheral (device mode) can serve as a simple data-logger or configuration port. The 10 KB RAM (10K x 8) is the tightest in the STM32F103R line — any DMA transfer or USB buffer allocation must be planned against that ceiling. The 16-channel 12-bit ADC covers multi-sensor acquisition without an external mux.
Firmware bring-up note — flash wait state at 72 MHz
At 72 MHz the internal Flash requires at least one wait state for reliable zero-wait execution. The bootloader defaults to a lower clock; the application code must configure the flash latency register before raising the PLL to full speed, or the first branch will hard-fault. The SWD debug port stays alive even with the independent watchdog enabled, which helps during early bring-up.
