We are thrilled to announce that, as promised, the STM32C071 are now available to all, and that engineers can grab the NUCLEO-C071RB to get started. Thanks to its 128 KB of flash and its 24 KB of RAM, it is possible to drive a small 320 x 240 display using an SPI interface, thus making it one of the most cost-effective ways to bring a graphical user interface to appliances and other white goods. In fact, ST is offering a rice cooker UI demo application that can run on the new Nucleo boards and the X-NUCLEO-GFX01M2 that many developers use when starting a project on TouchGFX.
Table of Contents
What’s new?
STM32C071
More memory, same small package
The STM32C071 is now commercially available to the public and represents the first massive memory upgrade as it quadruples the memory configuration of the STM32C031 thanks to 128 KB of flash and 24 KB of RAM. Put simply, products that had to adopt significantly more expensive devices because of memory constraints can now exist in entry-level markets, thus making them vastly more competitive. And because we anticipate many of these systems to use USB to deliver power, we added a crystal-less USB controller. Indeed, engineers can use the internal clock, thus alleviating the need for an external crystal, which increases the bill of materials and the complexity of the PCB layout.
Moreover, despite incorporating significantly more RAM and Flash, STM32C071s are still available in the same tiny TSSOP20 package (6.5 mm x 4.4 mm). This has led some ST customers to jump on the new device because it opens the door to vastly more complex applications in space-constrained USB peripherals for PCs. Previously, this amount of RAM and flash demanded larger silicon dies that didn’t fit into such a housing. However, thanks to ST’s lithographic expertise, the STM32C071 can provide substantially more memory while using the same package as a STM32C031.
GUIs for all
Another important capability heralded by the STM32C071 is the ability to drive UIs that previously required more expensive devices. Indeed, a basic bill of materials with a 2.4 TFT display without touch capabilities, an STM32C071, 4 MB of external flash, and a 2-layer PCB can hover at about US$ 5, thus opening a lot more systems to a GUI. In our rice cooker UI demo, which aims to mimic a real-world scenario, the TouchGFX code takes only 102 KB, while the partial frame buffer and UI framework need 20.8 KB of RAM. Assets need nearly 900 KB of external flash, but the presence of the SPI interface means that the STM32C071 has enough bandwidth to prevent bottlenecks.
In fact, the industry enthusiasm around this launch is best exemplified by the release of new development boards with integrated displays by Riverdi and TSD. As we already shared on the blog, Riverdi is famous for its STM32 Embedded Displays, and the company already updated its portfolio with a new model featuring the STM32C071. Similarly, TSD released its “Knob”. The round display targets small embedded systems with consumer-facing interfaces. Both companies use a 240 x 240 IPS display.
Consequently, the STM32C071 is highly symbolic because it brings more functionalities and capabilities from the STM32G0 down to the STM32C0. Besides the USB controller, the additional SPI, and the I2C interface, we also get a 32-bit timer. After all, it’s been our strategy all along: make more features accessible to all systems. The STM32C071 is, therefore, a new roadmap enabler as it bridges the gap between entry-level MCUs and the STM32G0 that teams must use to provide the same feature-set to their customers. That’s why we also ensured pin-out compatibility between the STM32C071 and the STM32G0 and now offer a new 64-pin package for the new STM32C0.
An age-old challenge: creating entry-level applications
The STM32C0
The STM32C0 is a new microcontroller for entry-level applications with a price that can fit bills of materials that previously required inexpensive 8-bit MCUs. Hence, the device increases the accessibility of the STM32 family of devices while offering significant computational throughput thanks to a Cortex-M0+ running at 48 MHz and scoring 114 points in CoreMark. Depending on the configuration, the STM32C0 series will also oscillate between 16 KB of Flash and 6 KB of RAM to 128 KB of Flash and 24 KB of RAM. ST also provides a wide range of packages to ensure PCBs that rely on a small 8-bit microcontroller retain their form factor.
The entry-level challenge
8-bit microcontrollers continue to play an exciting role in the industry, and ST remains dedicated to its STM8 series. Some companies need the EEPROM available in our 8-bit MCUs, while others depend on the AEC-Q10x automotive qualification of some of our devices. However, in many instances, designers choose an 8-bit MCU only because of pricing concerns. Their applications work well enough with 8-bit registers, meaning their primary focus is the bill of materials. The problem is that choosing an 8-bit architecture can have costly long-term consequences.
One of the challenges when working on an entry-level application is the limited upgradability. While prioritizing a low BoM, many successful projects often need more memory, computational throughput, pins, etc. However, 8-bit architectures have stricter restrictions and thus provide far fewer upgrade possibilities. The inherent limitations on 8-bit MCUs may also mean that a company has to qualify multiple devices instead of having one component that can fit numerous applications. Finally, as the industry inevitably marches toward 32-bit systems, using an 8-bit device may prevent developers from using software stacks or existing codes that would vastly shorten their time to market.
A new solution: a 32-bit device as an alternative to an 8-bit MCU
How is ST helping developers transition to 32-bit?
ST understands that despite all the benefits of a 32-bit architecture, financial and physical constraints may force some teams to use an 8-bit alternative. That’s why the STM32C0 has packages and a price rivaling 8-bit MCUs. Put simply, it opens engineers to new markets by enabling them to transition without blowing up their BoM or existing designs. Given ST’s guarantee of reliability, our device’s ability to support operating temperatures of up to 125ºC, and many peripherals, the STM32C0 is the most affordable MCU today.
Furthermore, ST ensured that transitioning from an 8-bit architecture to a 32-bit one would be as efficient and straightforward as possible. For example, we published an application note with guidelines for moving from an STM328L or STM328S to an STM32C0. It delves into peripheral migration and even shows that moving to a 32-bit architecture often means an increase in code size of only 6% to 15% in most cases. ST also organized a webinar available on demand, and the STM32 development environment can greatly optimize operations. Tools like STM32CubeMX and STM32CubeIDE, debug software like STM32CubeProgrammer, or STM32Cube expansion packages optimize workflows and even help reuse code or modules.
How is the STM32C0 facilitating the transition?
The STM32C0 wasn’t only designed to encourage engineers to transition from 8-bit systems but to breed more capable entry-level applications. Consequently, we worked on improving the feature density. The STM32C0 thus has one of the smallest packages for a general-purpose MCU thanks to its 3 mm x 3 mm 20-pin QFN housing, which is only possible because the die is so tiny. ST also offers an 8-pin SO8N version or a particularly thin WLCSP12 package. Similarly, the STM32C0 has power consumption modes significantly lower than other 8-bit devices, which means it’s possible to create more efficient designs.
How is the STM32C0 a stepping stone to more powerful systems?
The most astute readers will have recognized that the new STM32C0 takes essential cues from the STM32G0, which uses the same Cortex core. Consequently, ST ensured developers could quickly move from the STM32C0 to the STM32G0. For instance, the new MCU has the same single Vdd and Vss power supply line found on the STM32G0, simplifying PCB designs and reducing costs. The STM32C0 also includes a highly accurate internal high-speed RC oscillator at 48 MHz. As a result, designers don’t need to add an external one, which lowers the overall BoM. The two devices also share a similar ADC and timers, and a consistent pinout configuration facilitates the move from one to the other.
How will the STM32C0 evolve?
STM32C091 and STM32C092
ST is also sharing additional information today about the STM32C0 roadmap. The STM32C091 and STM32C092 are nearly identical. The main difference is that the STM32C092 has an FDCAN controller and 30 KB of RAM, whereas the STM32C091 doesn’t have that controller and 36 KB of RAM. Both STM32C09x also come with up to 256 KB of Flash, two I2C and two SPI buses, four USARTs interfaces, and one 12-bit ADC with up to 19 channels. Additionally, the STM32C09x have more general-purpose timers than the other models to enable more complex applications. Moreover, the new devices have a DMA controller with two more channels (for a total of 7) to account for the additional memory.
STM32C051
The STM32C051 doubles the memory of the STM32C031, thus bringing the flash to 64 KB and the RAM to 12 KB. However, it does all while keeping the same die size, packages, and pin-outs, which makes it a “fun” device for engineers. Indeed, instead of spending weeks or months optimizing every single module, refactoring entire chunks of code, and agonizing over every data type, the STM32C051 gives new breathing room to developers to just ship their applications early and reduce their memory footprint later. In the age of rapid prototyping and soft launches, this flexibility is no longer a luxury. That’s why we are committing to this new part number: so more developers can more easily move to the 32-bit world.
First Steps
The best way to start experimenting with the STM32C0 is to get one of the development boards. Besides the Nucleo-C071RB mentioned earlier, the NUCLEO-C031C6 is a traditional Nucleo-64 system with an Arduino Uno V3 connector to allow users to stack expansion cards. The STM32C0316-DK uses the same STM32C031 device but in a bundle that comes with the STLINK-V3MINIE, the first STLINK probe to use a USB-C port. The board also features a DIP28 connector compatible with the ATMEGA328 8-bit microcontroller. Interestingly, the board can also welcome STM32G0 devices. It thus serves as a transition tool to migrate to 32-bit applications and more easily experiment with a more powerful MCU.
Finally, the STM32C0116-DK is a smaller platform that uses the STM32C011 in a DIL20 module so teams can remove and share the module from one board to the next. ST is, therefore, offering a new approach to prototyping to make workflows more practical by creating a portable and interchangeable solution.