Review of STM32U083C-DK Development Board

View table of contents ...  

RoadTest: Become a Tester of the STMicroelectronics STM32U083C-DK Discovery Kit

Author: rcsim10

Creation date:

Evaluation Type: Evaluation Boards

Did you receive all parts the manufacturer stated would be included in the package?: True

What other parts do you consider comparable to this product?: The STM32U083C-DK and its STM32U0 microcontroller family target the Ultra-Low Power market, featuring capabilities like ultra-low power, segment LCD control, and security. A comparable option is the Microchip SAM L22 Xplained Pro Evaluation Kit, which includes the ATSAML22N18A microcontroller (ARM® Cortex®-M0+), segment LCD support, a touch LCD display, and features such as a QTouch button, user LED, and ATECC508A Crypto Authentication. It also has a backup system with a supercapacitor and tamper simulation functionality. This kit offers robust features for low-power, secure applications.

What were the biggest problems encountered?: I didn’t find any big problems testing the STM32U083C-DK Discovery Kit, all the examples from ST worked as expected and I could even play with Zephyr RTOS which also work without any issue.

Detailed Review:

About the STM32U083C-DK  Kit

The STM32U083C-DK Kit is based on STM32U083MCT6 microcontroller, a new MCU family from ST targeting ultra-low power applications. The Kit includes a 4x24-segment LCD, three user LEDs, a reset push-button, a touchkey, and a temperature sensor. It also comes with a plant of connectors for different use cases: ST-LINK USB Type-C, user USB Device with USB Type-C, mikroBUSTm,  ARDUINO®, MIPI® debug in connector, Extension connectors for full access to all STM32 I/Os and VBAT dedicated connector provides the capability to power the board on a battery.

The picture below from the user manual UM3292 shows the main components and connectors for the kit:



About the new STM32U0 MCU Family

The STM32U0 series microcontrollers are based on the Arm® Cortex®-M0+ core, operating at frequencies up to 64 MHz. Below are the detailed technical specifications and key features of the STM32U0 series:

Core:

  • Arm® Cortex®-M0+ core, up to 64 MHz

Memory:

  • Flash memory: Up to 256 KB
  • SRAM: Up to 32 KB
  • EEPROM: 8 KB

Power Consumption:

  • Dynamic voltage scaling: Adjusts voltage dynamically to optimize power consumption based on processing requirements.
  • Low-power modes: Includes low-power run and sleep modes to reduce power usage when full performance is unnecessary.
  • Ultra-low-power clock: Efficient clock system minimizes power consumption during idle states.

Power Consumption Details:

  • Run Mode: As low as 25 µA/MHz at 3.0V
  • Stop 0 Mode: Typical consumption of 1.5 µA
  • Stop 1 Mode: Typical consumption of 450 nA
  • Standby Mode: Typical consumption of 300 nA
  • VBAT Mode: Typical consumption of 250 nA

Peripherals:

  • ADC: 12-bit, supports up to 16 channels
  • DAC: 12-bit
  • Comparators: 2
  • Operational Amplifiers: 2
  • DFSDM: Digital filters for sigma-delta modulators
  • Multiple USART, I2C, and SPI interfaces
  • Timers: Includes advanced control timers, general-purpose timers, basic timers, and low-power timers

Security Features:

  • AES encryption
  • True Random Number Generator (TRNG)
  • Secure firmware install (SFI)

Connectivity:

  • USB 2.0 full-speed interface
  • CAN FD

Analog Features:

  • 12-bit ADC with up to 16 channels and hardware oversampling
  • Two DAC channels

Packaging Options:

Available in various packages, including WLCSP49, UFBGA64, LQFP48, and LQFP32

Operating Conditions:

  • Temperature range: -40°C to +85°C
  • Voltage range: 1.7 V to 3.6 V

About the MCU

The STM32U083MC microcontroller is part of the STM32U0 new family and targets battery-powered applications such as Industrial Thermostats, smoke detectors, Medical insulin pumps, glucose meters, smart metering for water, gas, electricity, smart home and Consumer headphones, and activity trackers. It is based on an Arm® Cortex®-M0+ 32-bit RISC core operating up to 56 MHz and ST claims to have 52% energy saving versus previous product generation. Alongside STM32U083C-DK the STM32U0 microcontroller family can also be evaluated with the other two kits available, the NUCLEO-U031R8 and the  NUCLEO-U083RC.

Additionally to the specs already mentioned for STM32U0 series, here are the features from STM32U083MC from ST documentation:

Ultra-Low-Power Features:

  • VBAT Mode: 130 nA with RTC and 9 x 32-bit backup registers
  • Shutdown Mode: 16 nA with 6 wake-up pins
  • Standby Mode: 160 nA with RTC, 30 nA without RTC
  • Stop 2 Mode: 825 nA with RTC, 695 nA without RTC
  • Run Mode: 52 µA/MHz in LDO mode
  • Batch Acquisition Mode (BAM): Optimized for energy-efficient sensor data collection
  • Fast Wake-Up: 4 µs wake-up from Stop mode
  • Brownout Reset (BOR): Protects against power instability

Enhanced Core Features:

  • Instruction Cache: 1 KB for 0-wait-state execution from flash memory
  • ART Accelerator: Improves performance for flash memory execution

Expanded Memory Options:

  • 256 KB of single-bank flash memory with proprietary code readout protection
  • 40 KB of SRAM with hardware parity checking

Advanced Analog Capabilities:

  • 12-bit ADC: 0.4 µs conversion time, supports up to 16-bit resolution with hardware oversampling
  • 12-bit DAC: Includes a low-power sample-and-hold feature
  • Operational Amplifier: General-purpose with built-in programmable gain amplifier (PGA) supporting variable gain up to 16
  • Comparators: Two ultra-low-power comparators
  • LCD Driver: Supports up to 8×48 or 4×52 segments with a step-up converter

Connectivity Enhancements:

  • USB 2.0: Crystal-less solution with low-power mode (LPM) and battery charge detection (BCD)
  • USART/LPUART: Seven interfaces supporting SPI, ISO 7816, LIN, IrDA, and modem protocols
  • I2C Interfaces: Four interfaces supporting Fast-mode and Fast-mode Plus (up to 1 Mbit/s)
  • SPI Interfaces: Three dedicated SPIs and four USARTs operating in SPI mode
  • IRTIM: Infrared interface for communication

Security Features:

  • Customer Code Protection: Ensures robust code security
  • Readout Protection (RDP): Three protection levels with password-based regression (128-bit password)
  • Hardware Protection (HDP): Supports secure boot
  • AES Encryption: 128/256-bit key hardware accelerator
  • True Random Number Generator (TRNG): Designed for high-security applications, NIST SP 800-90B certification candidate
  • Anti-Tamper: Five passive anti-tamper pins
  • Unique ID: 96-bit identifier

Clock Management:

  • Oscillators:
    • 4 to 48 MHz crystal oscillator
    • 32 kHz crystal oscillator for RTC
    • Internal 16 MHz RC (±1%) and low-power 32 kHz RC (±5%)
    • Internal multispeed oscillator (100 kHz to 48 MHz) with auto-trimmed accuracy (better than ±0.25%)
    • Internal 48 MHz clock with recovery capability
  • PLL: Configurable for system clock, USB, and ADC

Timer and Debug Features:

  • Timers:
    • One 16-bit advanced motor-control timer
    • One 32-bit and three 16-bit general-purpose timers
    • Two 16-bit basic timers
    • Three low-power 16-bit timers (functional in Stop mode)
    • RTC with hardware calendar, alarms, and calibration
    • Two watchdogs and a SysTick timer
  • DMA Controller: 12-channel DMA with flexible mapping via DMAMUX
  • Capacitive Sensing: Up to 21 channels supporting touchkey, linear, and rotary sensors
  • CRC Unit: Hardware support for cyclic redundancy checks

Debug and Development:

  • SWD (Serial Wire Debug): Simplifies development and debugging

 

Spec Impressions

The STM32U083C-DK offers a very good package of features for a low price point (USD/Qty 20.0/1), given that the kit comes with a 4x24-segment LCD and USB Type-C makes it even better. The microcontroller itself also offers a very good package of features for a low price point (USD/Qty 1.648 / 10k). It is very low priced when compared to SAM L22 L22 Xplained Pro Kit (USD/Qty 88.54/1) and its microcontroller on ATSAML22N18A (USD/Qty 4.38/5k).

Documentation

The ST documentation is usually very good, the kit comes with a flyer that has the link to the documentation: 

https://www.st.com/en/evaluation-tools/stm32u083c-dk.html

I also watched a series of videos where ST demonstrates some of the features of STM32U0 family, which I recommend to watch:

 https://youtu.be/1OykM7WAPx0?si=I8WD9pyjHw3Ne-UP



Unboxing

The box size is 12 cm x 9,5 cm x 4 cm and the kit contents include the STM32U083C-DK board itself and a flyer with some information and the link to the documentation. Although the board uses USB Type-C, there is no USB cable included in the box, which is not a problem as this cable is very common nowadays, and most of us may have many of these cables already.




Out-of-Box Demo

The STM32U083C-DK comes with a preloaded firmware that demonstrates some of the features of the kit. The demo firmware has 4 main demonstrations:

  • Air Quality
  • Temperature Sensor
  • Touch Sensor 
  • Ultra Low Power 

Very detailed documentation for the demo firmware can be found at UM3313, it includes even details about the architecture for the firmware:

Building Sample Projects

ST provides many example projects either when using the STM32CubeIDE or the STM32CubeMX, it is as simple as inputting the board name and getting a list of 41 projects to play with:

STM32CubeIDE:

STM32CubeMX:

A list of all available projects can be found below:

Name

Board

Board Type

OpenBootloader

STM32U083C-DK

Discovery Kit

Tx_CMSIS_Wrapper

STM32U083C-DK

Discovery Kit

Tx_LowPower

STM32U083C-DK

Discovery Kit

TouchSensing_1touchkey

STM32U083C-DK

Discovery Kit

Ux_Device_CDC_ACM

STM32U083C-DK

Discovery Kit

Ux_Device_HID

STM32U083C-DK

Discovery Kit

Ux_Device_HID_CDC_ACM

STM32U083C-DK

Discovery Kit

Ux_Device_HID_Standalone

STM32U083C-DK

Discovery Kit

Demo

STM32U083C-DK

Discovery Kit

ADC_SingleConversion_TriggerTimer_DMA

STM32U083C-DK

Discovery Kit

ADC_TemperatureSensor

STM32U083C-DK

Discovery Kit

BSP

STM32U083C-DK

Discovery Kit

CORTEXM_SysTick

STM32U083C-DK

Discovery Kit

CRC_Example

STM32U083C-DK

Discovery Kit

CRYP_AESModes

STM32U083C-DK

Discovery Kit

DAC_SignalsGeneration

STM32U083C-DK

Discovery Kit

DMA_FLASHToRAM

STM32U083C-DK

Discovery Kit

FLASH_EraseProgram

STM32U083C-DK

Discovery Kit

GPIO_EXTI

STM32U083C-DK

Discovery Kit

GPIO_IOToggle

STM32U083C-DK

Discovery Kit

I2C_Sensor_Private_Command_IT

STM32U083C-DK

Discovery Kit

I2C_TwoBoards_ComDMA

STM32U083C-DK

Discovery Kit

IWDG_WindowMode

STM32U083C-DK

Discovery Kit

LCD_Blink_Frequency

STM32U083C-DK

Discovery Kit

LCD_SegmentsDrive

STM32U083C-DK

Discovery Kit

LPTIM_Timeout

STM32U083C-DK

Discovery Kit

OPAMP_PGA

STM32U083C-DK

Discovery Kit

PWR_SLEEP

STM32U083C-DK

Discovery Kit

PWR_STANDBY

STM32U083C-DK

Discovery Kit

PWR_STOP2

STM32U083C-DK

Discovery Kit

RCC_ClockConfig

STM32U083C-DK

Discovery Kit

RCC_SwitchClock

STM32U083C-DK

Discovery Kit

RTC_Alarm

STM32U083C-DK

Discovery Kit

RTC_InternalTimeStamp

STM32U083C-DK

Discovery Kit

RTC_LowPower_STANDBY_WUT

STM32U083C-DK

Discovery Kit

UART_LowPower_HyperTerminal_DMA

STM32U083C-DK

Discovery Kit

UART_ReceptionToIdle_CircularDMA

STM32U083C-DK

Discovery Kit

UART_TwoBoards_ComDMA

STM32U083C-DK

Discovery Kit

GPIO_InfiniteLedToggling_Init

STM32U083C-DK

Discovery Kit

TouchSensing_1touchkey_LowPower

STM32U083C-DK

Discovery Kit

TouchSensing_OptimizedAcq_LowPower

STM32U083C-DK

Discovery Kit



The Hello World for Embedded

One of the most common first projects when embedded engineers play with some demo board is blinky the LED, this is one of the projects provided by ST as listed above with name GPIO_IOToggle.




Loading the Firmware 

There are two main options to load the built firmware into the board, you can use the STM32CubeProgrammer embedded at STM32CubeIDE




The other option for loading the firmware is using STM32CubeProgrammer

Playing with Segment Display

As already said in STM32U083C-DK feature description, it comes with a 4x24-segment LCD and we also have an example available on STM32CubeIDE to play with it:

Rebuilding the Demo project

ST also makes available the source code for the Demo and it is possible to build the demo firmware from the source using STM32CubeIDE:

Debugging with STM32CubeIDE

The STM32CubeIDE is based on Eclipse IDE, so we can debug your application using the Eclipse IDE features:



Playing with Zephyr

Nowadays, it is very common to use some kind of RTOS to support the development of complex applications, so I also investigated which RTOS would support this demo board and found out that Zephyr supports it. But to be honest, NuttX is my favorite RTOS and I’ve plans to add support to this board at NuttX, but for now, I played with Zephyr.

Zephyr Getting Started:

https://docs.zephyrproject.org/latest/develop/getting_started/index.html

STM32U083C-DK

https://docs.zephyrproject.org/latest/boards/st/stm32u083c_dk/doc/index.html#programming-and-debugging

I’ve tried two different examples on Zephyr, first, it is a simple hello world, where the string “Hello World” is printed on the serial console:

The second example was the blinky, which is another hello world, but for embedded enthusiasts:

Conclusion and next steps 

Overall I’m delighted with the STM32U083C-DK Discovery Kit, it provides an excellent set of features for engineers to explore the full potential of the STM32U0 Ultra-Low-Power MCU series.

The inclusion of some external peripherals such as the 4x24-segment LCD, the touchkey, and the temperature sensor gives engineers the possibility to explore scenarios without the need to add external hardware, which is even better with the support from ST Tools like the STM32CubeIDE and STM32CubeMX where we can find plenty of examples ready to play with. 

Also using this board I could have my first experience using Zephyr, which surprisingly was pretty straightforward and works as expected.

My next step is to add support for the STM32U083MCT6 and STM32U083C-DK to the NuttX RTOS, leveraging its scalable, small-footprint real-time capabilities, POSIX-compliant multi-threaded features, and open-source Apache license. Stay tuned at https://nuttx.apache.org/ .



Anonymous