STMicro has just announced the availability of the STM32C071 Arm Cortex-M0+ microcontroller part of the STM32C0 series with 128 KB of flash and 24 KB of RAM suitable for driving a small 320 x 240 display using an SPI interface and building affordable graphical user interfaces (GUI) for appliances.
The microcontroller also adds a crystal-less USB FS device interface, additional SPI and I2C interfaces, and extra GPIOs (up to 61) all of which are 5V tolerant. For evaluation and quickly get started with firmware development, STMicro also offers the NUCLEO-C071RB development board and X-NUCLEO-GFX01M2 display expansion board.
STM32C071 low-cost Cortex-M0+ MCU for GUI in appliances
STM32C071 specifications:
- MCU Core -Arm 32-bit Cortex-M0+ CPU @ up to 48 MHz
- Memory – Up to 24KB SRAM with HW parity check
- Storage – Up to 128KB flash with protection and securable area
- Peripheral interfaces
- Up to 61x fast I/Os, all 5V tolerant
- 5-channel DMA controller
- 12-bit, 0.4 µs ADC (up to 19 ext. channels); range: 0 to 3.6 V
- 2x I2C up to 1 Mbps
- 2x USARTs with master/slave synchronous SPI; one supporting ISO7816 interface, LIN, IrDA capability, auto baud rate detection, and wakeup feature
- 2x SPI up to 24 Mbps with 4- to 16-bit programmable bitframe; one multiplexed with I2S audio interface; two extra SPIs through USARTs
- USB 2.0 FS device (crystal-less) and host controller
- Timers
- 16-bit for advanced motor control
- 1x 32-bit timer
- 4x 16-bit general-purpose
- 2x watchdogs
- SysTick timer
- Calendar RTC with alarm
- Debugging – Serial wire debug (SWD)
- CRC calculation unit
- Clock management
- 4 to 48 MHz crystal oscillator
- 32 kHz crystal oscillator with calibration
- Internal 48 MHz RC oscillator (±1 %)
- Internal 48 MHz RC oscillator with clock recovery system
- Internal 32 kHz RC oscillator (±5 %)
- Reset and power management
- Voltage range: 2.0 V to 3.6 V
- Separate I/O supply pin (1.65 V to 3.6 V)
- Power-on/Power-down reset (POR/PDR)
- Programmable Brownout reset (BOR)
- Low-power modes: Sleep, Stop, Standby, Shutdown
- Packages
- WLCSP19 (2.492 x 1.643 mm)
- TSSOP20 (6.5 × 4.4 mm)
- LQFP32 (7 × 7 mm)
- LQFP48 (7 × 7 mm)
- UFQFPN28 (4 × 4 mm)
- UFQFPN32 (5 × 5 mm)
- UFQFPN48 (7 × 7 mm)
- LQFP64 (10 x 10 mm)
- Temperature Ranges – -40°C to 85°C/105°C/125°C
STMicro explains that thanks to their “lithographic expertise”, the STM32C071 is offered in the same packages as the STM32C031 despite offering more memory and storage. I also noticed two new packages: a tiny WLCSP19 (2.5 x 1.6mm) package and a larger LQFP64 package giving access to more I/Os.
Ten SKUs are available with either 128KB/24KB flash/SRAM or 64KB/24KB and various package options:
- STM32C071x8 with 64KB flash – STM32C071F8, STM32C071G8, STM32C071K8, STM32C071C8, STM32C071R8
- STM32C071xB with 128KB flash – STM32C071FB, STM32C071GB, STM32C071KB, STM32C071CB, STM32C071RB
NUCLEO-C071RB STM32C071 development board
NUCLEO-C071RB key features:
- MCU – STM32C071RB Arm Cortex-M0+ microcontroller with 128KB flash, 24KB SRAM (LQFP64 package)
- USB – 1x USB Type-C FS port
- Expansion
- ARDUINO Uno V3 expansion connector
- ST morpho extension pin headers for full access to all STM32 I/Os
- Debugging – STLINK-V2EC (second USB-C port); MIPI debug connector
- Misc
- 2x user LEDs
- 1x user and 1x reset push-buttons
- 32.768 kHz crystal oscillator
- Power supply
- ST-LINK USB, VBUS, or external sources
- SMPS to generate Vcore logic supply
Software, Demo, and BoM cost
Like all STM32 microcontrollers, the new STM32C071 MCU is supported by the STM32Cube MCU Package with free software libraries and examples and can be programmed with a range of IDEs including STMicro’s STM32CubeIDE and third-party solutions such as IAR Embedded Workbench and MDK-ARM. GUI development can be performed through the TouchGFX free-of-charge graphic software framework. You’ll find a few GUI demos below run on a compatible Nucleo board (not the STM32C071-based)
Most of those demos will work on the STM32071, but not all due to memory/storage limitations as shown in the screenshot below with memory and storage footprint.
All should run on the NUCLEO-C071RB fine, except the “live heat graph” demo that requires more resources than available on the STM32C071 (128KB flash, 24KB SRAM). You may also wonder where the external SPI flash for GFX assets is located since the development board does not have any. It turns out the X-NUCLEO-GFX01M2 also integrates a 64-Mbit SPI NOR flash memory and a joystick besides a 2.2-inch SPI QVGA TFT display.
Since the STM32C071 is designed for low-cost GUI solutions, STMicro also shared some bill-of-material (BoM) estimates and a 2.4 TFT display without touch capabilities, an STM32C071, 4 MB of external flash, and a 2-layer PCB is expected to cost around $5.
Price and availability
STMicro says the “STM32C071 is now commercially available to the public”, and you’ll find more details and pricing options on the product page for the specific device. For reference, the STM32C071RBT6 (LQFP64 package) costs $0.7987 per unit in 10K orders, and the sample price is currently $2.12. The NUCLEO-C071RB development board costs $10.12, but most people will likely want to add the X-NUCLEO-GFX01M2 for $34.20 although I’ve seen cheaper displays… The announcement may have a bit more information.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress