From Unboxing to Practical Use: A 30-Day Experience with the STM32U385RG Development Board

ST MCU Forum

https://bbs.21ic.com/iclist-49-1.html

From Unboxing to Practical Use: A 30-Day Experience with the STM32U385RG Development Board

*Reading Instructions: The following is a brief summary display, with no particular order. For detailed evaluation processes, source code, and materials, please click the original link to view.

Evaluation One

1. Development Environment Setup and LED Blinking

https://bbs.21ic.com/icview-3470430-1-1.html

2. Implementing Onboard Debugging Serial Communication

https://bbs.21ic.com/icview-3470452-1-1.html

This article implements UART serial communication.

3. Low Power Mode

https://bbs.21ic.com/icview-3471022-1-1.html

4. LPUART Wake-up from STOP Low Power Mode

https://bbs.21ic.com/icview-3471032-1-1.html

The SDK for the STM32U385RG includes an example for LPUART wake-up from STOP low power mode, which can be easily modified to achieve the functionality of this experiment.

5. Communicating as I2C Slave with CH347

https://bbs.21ic.com/icview-3471916-1-1.html

I configured the STM32U385RG as a Slave and the STM32H533RE as a Master, finding it easy to implement I2C communication between the two.

Then I wondered if using CH347 as a Master would also allow I2C communication with the STM32U385RG configured as a Slave?

6. FreeRTOS Tasks and Queues

https://bbs.21ic.com/icview-3471944-1-1.html

The goal is to implement FreeRTOS task and queue handling.

7. USB DEVICE MSC Device (RAM Simulated USB Drive)

https://bbs.21ic.com/icview-3472308-1-1.html

The STM32U385RG uses ThreadX+USBX to implement USB device drivers. The examples provided with the STM32U385RG do not include a device MSC example, so this article uses ThreadX+USBX to virtualize RAM as a USB drive.

8. USB CDC + AES Encrypted Communication

https://bbs.21ic.com/icview-3472902-1-1.html

To achieve encrypted communication between the USB interface and the host computer, the STM32U385RG is configured as a USB CDC device. The plaintext data collected by the ADC is encrypted using AES ECB, and the ciphertext is sent to the PC via CDC, where it is decrypted and displayed as the ADC collection result.

Evaluation Two

1. Introduction

https://bbs.21ic.com/icview-3468994-1-1.html

2. TFT Screen Display Driver

https://bbs.21ic.com/icview-3470144-1-1.html

Since the STM32U385RG development board does not have the relevant display device configured, I first completed the TFT screen display driver in a simulated manner to prepare for the subsequent hardware startup method. One major advantage of software driving is the flexibility in configuring pin usage, thus avoiding restrictions based on pin locations.

3. Communication Wake-up and Power Consumption Detection

https://bbs.21ic.com/icview-3470170-1-1.html

One requirement for the basic experiment is to wake up the STM32U385 from STOP low power mode via LPUART and demonstrate that the LED blinks normally after waking up.

4. A/D Data Collection and OLED Screen Display

https://bbs.21ic.com/icview-3470616-1-1.html

Combining the OLED screen display function with A/D data detection allows for direct observation of the detected data, eliminating reliance on serial output information. To achieve this goal, the following two environments are needed.

5. OLED Screen Display Driver and RTC Clock

https://bbs.21ic.com/icview-3470936-1-1.html

Having previously introduced the software simulation method to drive the OLED screen, it is much easier to attempt hardware driving after achieving success with the software method, as the main work for hardware driving is configuring the I2C initialization function and changing the I2C data byte transmission, with little else needing adjustment.

6. TrustZone and Its Testing

https://bbs.21ic.com/icview-3478041-1-1.html

The STM32U385RG belongs to the STM32 ultra-low power family, with a core based on the 96MHz high-performance Arm® Cortex®-M33, which integrates Arm TrustZone® and a hardware encryption accelerator.

7. LCD Screen Hardware Driver

https://bbs.21ic.com/icview-3478148-1-1.html

Having previously introduced the software simulation method to drive the LCD screen, it is much easier to attempt hardware driving after achieving success with the software method, as the main work for hardware driving is configuring the SPI initialization function and changing the SPI data byte transmission function, with little else needing adjustment.

8. Multi-Data Item Collection and Waveform Drawing

https://bbs.21ic.com/icview-3478242-1-1.html

In the examples provided by the manufacturer, there is a sample for ADC conversion across multiple channels, which configures the ADC for single conversion mode, triggered by SW.

9. PWM Control for LED Adjustment

https://bbs.21ic.com/icview-3478299-1-1.html

The examples provided by the manufacturer include multiple PWM channel outputs with fixed duty cycles, but lack an introduction to changing the duty cycle. Therefore, I attempted to automatically change the duty cycle and change it via a button.

10. Communication and Haptic Control

https://bbs.21ic.com/icview-3478447-1-1.html

It is very important to convey perceived danger information to them before an unexpected event occurs. So how can we solve this problem? We can transmit the collected danger information in a haptic manner, such as when a flame sensor detects danger, it can wirelessly communicate to a bracelet equipped with haptic vibration effects to alert them.

To simplify the information transmission process, I will first control the haptic motor’s vibration via serial communication.

Evaluation Three

1. Unboxing and Powering On

https://bbs.21ic.com/icview-3469786-1-1.html

2. Journey of Pitfalls

https://bbs.21ic.com/icview-3471116-1-1.html

3. Development Environment Setup and LED Blinking

https://bbs.21ic.com/icview-3471130-1-1.html

After much effort to set up the development environment, I tested the LED blinking, and it is currently working fine.

4. Debugging Serial Communication and String Printing

https://bbs.21ic.com/icview-3471392-1-1.html

Conducting a serial printing experiment.

5. Sending and Receiving Data via Serial

https://bbs.21ic.com/icview-3471474-1-1.html

The previous serial communication was only for printing data; this article goes further by printing whatever is sent via serial.

6. ADC Collection and Output

https://bbs.21ic.com/icview-3471726-1-1.html

Now I will play with ADC collection, presenting the problems encountered and their solutions.

7. DAC Output Triangle Wave

https://bbs.21ic.com/icview-3472594-1-1.html

Conducting a small experiment using DAC to output a triangle wave, measuring with an oscilloscope while printing DAC data via serial.

8. Wake-up Experiment via LPUART in Low Power Mode

https://bbs.21ic.com/icview-3473390-1-1.html

9. Testing Different Low Power Modes

https://bbs.21ic.com/icview-3474748-1-1.html

10. Driving OLED to Display Chinese and English Characters via IIC

https://bbs.21ic.com/icview-3476764-1-1.html

This experiment drives the OLED screen via IIC to display Chinese and English characters, using a 1.3-inch OLED.

Evaluation Four

1. Porting TouchGFX

https://bbs.21ic.com/icview-3470090-1-1.html

This time, I participated in a plan to port TouchGFX and create a door control system based on TouchGFX. I will share how to create this comprehensive management system.

2. PWM Adjustment of Screen Brightness

https://bbs.21ic.com/icview-3472158-1-1.html

In the evaluation plan, PWM is used to adjust screen brightness, so this article explains how to use HMI to achieve brightness adjustment. The principle is to use TouchGFX Designer to add a sliding control to modify the PWM duty cycle, thus adjusting the voltage of the ST7789 BLK.

3. Basic Task 1: Serial Communication

https://bbs.21ic.com/icview-3481285-1-1.html

In the basic task 0 project, I configured the serial port to achieve serial printing output.

4. Basic Task 2: Low Power Serial Testing

https://bbs.21ic.com/icview-3481350-1-1.html

According to the evaluation task, this test requires the use of low power serial.

Evaluation Five

1. Building an STM32 Development Environment Based on VSCode

https://bbs.21ic.com/icview-3472232-1-1.html

This article will introduce how to set up an STM32 development environment based on VSCode, using the NUCLEO-U385RG development board’s LED blinking as an example to demonstrate the complete development process of coding, compiling, downloading, and debugging in the VSCode environment.

2. Redirecting printf to LPUART (Schematic, Code, and Full Experimental Process Introduction)

https://bbs.21ic.com/icview-3474522-1-1.html

This article will introduce how to implement printf output to LPUART1 on the STM32U385, forwarding the output content to the PC via the onboard STLink-V3E virtual serial port, including schematic interpretation, project creation, code implementation, and experimental verification of the complete development process.

3. Current Testing of Various Power Modes

https://bbs.21ic.com/icview-3479665-1-1.html

The development environment used is VSCode + CubeMX.

Evaluation Six

1. Unboxing and Powering On

https://bbs.21ic.com/icview-3469260-1-1.html

2. Serial USART1 Printing Test

https://bbs.21ic.com/icview-3469270-1-1.html

I completed the entire process from 0 to 1 for creating the USART1 project to printing testing.

3. CoreMark Performance Benchmarking

https://bbs.21ic.com/icview-3469292-1-1.html

Testing the performance score of the STM32U385RG to see what level it is at!

4. Porting Open Source cmbacktrace for HardFault Diagnosis

https://bbs.21ic.com/icview-3469432-1-1.html

CmBacktrace is an open-source software module for locating errors in the Cortex M core. It is an open-source library for automatic tracing, locating, and analyzing the causes of errors for ARM Cortex-M series MCUs.

5. Obtaining Weather Forecasts for Domestic Cities

https://bbs.21ic.com/icview-3473570-1-1.html

I have an Espressif ESP8266 that has been idle for a long time. Last week I received the STM32U385RG development board, and today I suddenly remembered that this ESP8266 still has a chance to serve, so I wrote this article to obtain weather forecasts for domestic cities.

6. I Call It the Universal WIFI Bluetooth AT Command Testing Tool

https://bbs.21ic.com/icview-3477438-1-1.html

Sharing a universal WIFI Bluetooth AT command testing project that can quickly test the communication functions of WIFI and Bluetooth chips during early communication to check for connection issues or hardware faults. Suitable for any scenario using serial communication for AT command communication!

7. Obtaining Temperature Values from the STM32U385RG Board’s Temperature Sensor

https://bbs.21ic.com/icview-3477586-1-1.html

Many people do not know that the STM32 chip has an internal temperature sensor, so most people’s approach is to connect an external temperature and humidity sensor for testing. In fact, unless it is necessary for a project, there is no need to connect an external temperature sensor to test the board’s temperature, as the internal temperature sensor of the STM32 can be used directly.

8. Uploading the Temperature Value of the NUCLEO-U385RG Board to the MQTT Server

https://bbs.21ic.com/icview-3477588-1-1.html

Using the ESP8266 to connect to the NUCLEO-U385RG, the temperature value is uploaded to the MQTT server via the MQTT protocol.

Evaluation Seven

1. Unboxing + Compilation Environment + Timer 6 for LED Blinking

https://bbs.21ic.com/icview-3471480-1-1.html

I often use Keil for development on ARM architecture microcontrollers. For this activity, I also used this development software. For the STM32U385RG’s low-level driver part, I used STM32Cube MX software for configuration, which is very convenient, and mastering the HAL library operations makes development very easy.

2. Debugging Serial 1 Output Strings

https://bbs.21ic.com/icview-3473124-1-1.html

3. Measuring Current and Power Values of the STM32U385 in Different Low Power Modes

https://bbs.21ic.com/icview-3476740-1-1.html

As an STM32U series microcontroller, low power consumption is undoubtedly one of its highlights.

4. Using a Button to Wake Up the STM32U385 from STOP Low Power Mode

https://bbs.21ic.com/icview-3476826-1-1.html

Sharing how to use a button to wake up from stop mode to working mode.

5. Hands-on IIC Experiment, Driving the OLED Screen

https://bbs.21ic.com/icview-3477132-1-1.html

Since I previously worked on hardware IIC screens, I couldn’t find a screen for this development board, so today I will port the OLED screen driver code.

6. AES Encryption and Decryption Testing

https://bbs.21ic.com/icview-3477138-1-1.html

7. Hands-on Simulation Experiment: ADC Collection of Potentiometer Data

https://bbs.21ic.com/icview-3477890-1-1.html

In previous ST evaluation activities, I experienced using DMA to collect ADC1 channel data. Today I will share this method of collection in the STM32U3 series.

8. Hands-on Porting of an RTOS

https://bbs.21ic.com/icview-3477892-1-1.html

I accidentally discovered that STM32Cube MX software can directly generate RTOS low-level drivers. Taking this opportunity, I created a low-level driver function for RTOS to prepare for future projects.

Visit ST MCU Forum

https://bbs.21ic.com/iclist-49-1.html

From Unboxing to Practical Use: A 30-Day Experience with the STM32U385RG Development Board

More Open Source Works

From Unboxing to Practical Use: A 30-Day Experience with the STM32U385RG Development Board

“Read the Original Text” to view the summary post

Leave a Comment