With up to 256 kBytes of flash on-chip and a 32 kByte SRAM - enough to implement a Java stack - the STM32F091 can host applications that deliver user experiences normally associated with larger or more expensive devices. All variants, including those in economical 48-pin packages, have at least six USARTs. Three of the USARTs are able to support smartcard, LIN, IrDA, and Modbus modes.
The device has a flexible power architecture that allows analogue circuitry, including the 12-bit 1.0 µsec ADC and two-channel 12-bit DAC, to be operated at up to 3.6V for maximum dynamic range, while digital circuits run at lower voltage to minimise power consumption. Device I/Os can be powered independently, allowing direct connection to a low-voltage companion device such as an application processor without using level shifters.
With built-in CAN2.0A/B support, the STM32F091 can address consumer in-car applications connected to the vehicle network, such as car radio, and industrial-control applications. There is an integrated touch-sensing controller, as well as a SysTick timer and a Real-Time Clock that aid real-time performance and deliver time-of-day or calendar functions.
The STM32F091 is available in different packages including 48-pin and 64-pin, as well as a salt-atmosphere-compatible QFP100 suitable for smart utility meters in China. Prices start from $1.59 for the STM32F091CBT6 with 128 kByte flash in the QFP48 package (10,000).