Join discussions in the Product Forums. Ask questions, learn from your peers, and share insights on ST solutions to accelerate your design journey.
Most recent activity
Post edited by ST moderator to be inline with the community rules for the code sharing. In next time please use </> button to paste your code and a linker script content. Please read this post: How to insert source code. Hello, I ran into a very strange problem with a STM32H743 that I don't understand. I have the following config sequence: MX_ADC1_Init() -> generated by CubeMX MX_ADC2_Int() -> generated by CubeMX HAL_ADCEx_Calibration_Start(&hadc1, ADC_CALIB_OFFSET_LINEARITY, ADC_SINGLE_ENDED) HAL_ADCEx_Calibration_Start(&hadc2, ADC_CALIB_OFFSET_LINEARITY, ADC_SINGLE_ENDED) The MX_ADC1_Init() contains the following generated code: multimode.Mode = ADC_DUALMODE_REGSIMULT; multimode.DualModeData = ADC_DUALMODEDATAFORMAT_DISABLED; multimode.TwoSamplingDelay = ADC_TWOSAMPLINGDELAY_1CYCLE; if (HAL_ADCEx_MultiModeConfigChannel(&hadc1, &multimode) != HAL_OK) { Error_Handler(); } This worked without a problem on all my boards so far and I was able
Hello, I want to use the STM32 H723ZG Nucleo board 144p in my LoRaWAN project. For that, I need my microcontroller to consume less than 10uA of current in standby or sleep mode. Is that achievable? If yes, then,1- What will be the hardware?2- clock configurations?3- What will be the configurations in the IOC file?4- How can I not give power to the Ethernet port?or if there is anything else i need to keep in mind.
Hello everyone. I'm a beginner to STM32 and STWIN. I'm experimenting with the DATALOG2 firmware on STWIN.My question is about customizing this firmware. What I want to do is keep the DATALOG2 functionality as-is, but add an extra feature: when the accelerometer value exceeds a certain threshold, output a High signal on a GPIO pin or turn on an LED.(I couldn't find any GPIO pins in the STWIN schematic!) STEVAL-STWINKT1 https://www.st.com/en/evaluation-tools/steval-stwinkt1.html The firmware is here.GitHub : FP-SNS-DATALOG2 Firmware Package https://github.com/STMicroelectronics/fp-sns-datalog2 Since my development environment is STM32CubeIDE, should I open the .project file within the following STM32CubeIDE directory in the GitHub using CubeIDE and modify the source code there? https://github.com/STMicroelectronics/fp-sns-datalog2/tree/main/Projects/STM32L4R9ZI-STWIN/Applications/DATALOG2/STM32CubeIDE
Hello, recently I was able to flash a programm on the STM32G474CET3 but I am unable to track Live Variables.I wrote a simple program that just increases a cnt variable each second.My .ioc configuration: Every help is appreciated.
Hi ST Team,We are using CAN on STM32L562 in classic mode.After configuring, we se FDCAN.PSR.ACT to be 1 as can be seen in screenshot below.This means, node is neither receiver nor transmitter.Why is this happening ? We are able to receive the data, but the CAN controller does not send the ACK when a frame is received which results in retransmission of the frame from the transmitting node.Tried configuration:hfdcan1.Init.AutoRetransmission = ENABLE;hfdcan1.Init.StdFiltersNbr = 1;Yet ACT bits in FDCAN1->PSR becomes '0x1' when the instruction "CLEAR_BIT(hfdcan->Instance->CCCR, FDCAN_CCCR_INIT);" is executed (i.e. while leaving the initialization).It can be seen in the screenshot below.Please find the below attached screenshots.
In HTS221 sensor I have issue that H0_T0_OUT and H1_T0_OUT, H0_RH and H1_RH value is same like belowT0_degC float 20.5T1_degC float 52.5T0_OUT int16_t 1028T1_OUT int16_t 0H0_RH float 29.5H1_RH float 29.5H0_T0_OUT int16_t 0xf7f7 (hex)H1_T0_OUT int16_t 0xf7f7 (hex)This is my codeInit functionuint8_t HTS221_Init(HTS221 *hts221, I2C_HandleTypeDef *hi2c) { hts221->hi2c = hi2c; uint8_t data[2]; if (HTS221_ReadRegister(hts221, HTS221_WHO_AM_I, data, 1) != HAL_OK) { return 1; // Error reading WHO_AM_I register } if (data[0] != HTS221_WHO_AM_I_VALUE) { return 2; // WHO_AM_I value does not match expected value } // Read calibration data if (HTS221_ReadRegister(hts221, CALIB_0, data, 2) != HAL_OK) { return 3; // Error reading calibration data } hts221->H0_RH = (float) (data[0]) / 2.0f; // H0_rH_x2 hts221->H1_RH = (float) (data[1]) / 2.0f; // H1_rH_x2 if (HTS221_ReadRegister(hts221, CALIB_2, data, 2) != HAL_OK) { return 4; // Error reading temperature calibration data
The SDDataLogFileX example stores the wave file for the digital microphone but in the following docs it wrongly say that it store for the analog microphone :UM2626 at pages 15 (2.1.5) and 30 (2.2.6)FP-SNS-STBOX1_Quick_Start_Guide at page 27
Hello everyone, I plan to use the LPS28DFW barometer to measure the final pressure after a drop from 30 atm. I only need to sense the final pressure within the sensor’s specified working range, but I’d like to know whether exposure to the initial 30 atm would cause mechanical damage to the device. Or, at what pressure can I expect the sensor to break?Thanks!
Hello guys,for my bachelors project I have decided to build an embedded signal monitoring and classification tool, based on the STM32H7S3L8 Nucleo dev board (NUCLEO H7S3L8). I want to use all 14 available channels of the 2 adcs (technically each ADC has 14, but then pin assignments are shared, which is not beneficial) and i want to let the ADCs stream the data via HPDMA in the SDRAM. Unfortioutly I came across many problems with the configuration and programming, especially with clock configuration of the ADC+DMA in the scanning mode. Do some of you already have a working solution to the DMA placement in SDRAM (0x300000 32kB I believe) and with working ADCs you would like to share. Also, do you enable callbacks in that case?Usually I would share my config and code and ask for help to the specific problem, but as I am not at home and already lost my mind with this ******* DMA I might try it that way.Thanks so much and happy holidays !
My partner and I are creating an app designed for P2P as well as traditional user/vendor interaction. We need a wearable that can create a mutual event on the back end when the two wearables touch or are in close proximity. I see the ST25R3916 or STM32 chips may be suitable but wondering if there’s already a wearable with these capabilities or if one can be designed/created that’s suitable for kids. I also see there’s a wearable - STEVAL-WESU1. Can the STM32 be used in the WESU1? I have additional requirements, like haptics, visual indicators, etc, that I can provide info on but I can’t find a wearable that can create a P2P event. Any help is appreciated
..
this topic is rare,and i cant find a system learning information,can st develeper friends tell us how to use this peripherals, link to ADC DMA......
I have a question regarding how the averaging filter works in the LPS28DFW pressure sensor (AVG[2:0] in CTRL_REG1).I am wondering whether:A) AVG controls internal ADC oversampling for each individual pressure measurement (i.e., multiple internal samples averaged to create one output sample),orB) AVG performs a moving average across multiple output samples after they are generated. In other words, does the AVG setting reduce noise by oversampling within one output period, or does it smooth several consecutive output samples?
Hi i have a custom lsm6dsv module that is getting a strange result after 6a 9c then cycles through int of the imu 9c seem to make it restart its process and loop it for a for until 6a is back and 9c comes back and does the exact same process and unsure what i should look at next [ i am new to logic analyzing oscilloscope scopes signals seem fine i feel like im missing something badly Parts 100nf caps 5.1k resistor tired 10k but I thought lower them could solve it? Before I do anything dumb I need input on what could cause this i can also provide logic files from pulse veiw Thanks
VL53L4CD In this sensor how to use it stm32G071RBt6 controller, maximum how many device can connect?
Please tell me about the STATUS_REG for ASM330LHH. I'm using SPI communication. A similar question was posted earlier, but the situation is slightly different.When I ran the same program on 30 board-mounted samples, 29 of them showed a change in STATUS_REG within 400ms after the ASM330LHH setting, but one remained 0 without any change.I'm guessing from this that is not a sowtware problem, but I would appriciate a list of possible factors as the cause.
Hi Team, We are working with the LSM6DSOX sensor and integrating it with two different MCUs: nRF5340 and ATSAMD51, using the I2C communication protocol. We have been able to successfully read the device ID, accelerometer data, and gyroscope data. Additionally, we've implemented our own logic for step detection and step counting. Recently, we learned about the Machine Learning Core (MLC) feature, which provides useful capabilities like detecting activity states (idle, walk, run). We obtained the .ucf file for MLC, used the UNICO tool to generate the corresponding .h file, and attempted to integrate it into our application. We followed the documentation and tried monitoring the MLC_STATUS (0x70) register to track activity states. Challenges faced: First Attempt with nRF5340 MCU: Initially, we tested the MLC functionality with the nRF5340 MCU using I2C communication. However, when we read the 
Hello, I am working on adding a pedometer to the Sensorwatch project using this chip.I have the step counter working well, and I also have it working with the LIS2DW. Here's a video of it :)The LIS2DW works by sending 12.5Hz worth of data from its FIFO every second to the host uC, which runs an algorithm to count the steps.I am finding with a Nordic Power Profiler that the LIS2DUX uses about 6uA to run the step counter.The LIS2DW uses nearly 15uA.But I found that I can heavily lower the battery-draw of the LIS2DW by only reading the FIFO and performing the math only if more than 0.06G is seen, which is seen by an interrupt signal, whic make sthe current draw for 90% of the day to be close to 1uA.Can anything be done with the LIS2DUX to bring it closer to that efficiency?The goal of the project is to only need to replace the battery once a year, which means that we'd want no more than an average 2uA draw from the chip. Questions:1) What is the most battery-efficient
Hi,according figure 3 in the datasheet, the pin in the middle (let's name it pin 11) is connected to GND, but this pin is missing in table 1.The linked technical note TN0018 advises to avoid any GND/copper/via below the IC (Figure 12).The eval board STEVAL-MKI220V1 has a pad for pin 11 but the pad is left floating.The SamacSys-symbol/footprint contains this as Pin 11 / GND_3I see multiple contradictory solutions:1. no pad for pin 11 in the footprint, pin 11 is left floating (complies with TN0018, but contradicts eval board, SamacSys-footprint and maybe the datasheet)2. add a pad for pin 11 in the footprint, but leave the pad floating (violates TN0018, but complies with the eval board)3. add a pad for pin 11 in the footprint, and connect the pin to GND (violates TN0018 and eval board, but seems to be suggested by the datasheet)What is the correct solution?RegardsBjoern
Hi everyone,I am using LSM6DSL IMU sensor for my project. The LSM6DSL embeds a digital Slope filter. Is there any method to configure the "Slope filter" ?
Hello everybody.I bought Riverdi STM32 Embedded Display RVT121HVSNWC00-BI create my first project using touch GFX.I generate code and import it in STM32CubeIDE.I format FAT32 a 128G uSD using custom program.I plug the uSD into adapter and I write this code.fresult is FS_NOT_READY and I don't understand the reason. Here my configuration. I notice in the main that there is FATFS initializationbut I don't find a call to MX_SDMMC1_SD_Init.If I force this call after FATFS initlization the code run in ErrorHandler, but if I inpect hsd1.SdCard struct I see that card property are read correctly (I believe).BlockSize x BlockNbr = 128G !! OK Can someone help me ?Thanks in advice
Why can’t my cubemx configure L1 cache? How to enable it?Also, the MPU cannot be configured. You can only use the default configuration and modify it in the generate code.I also configured Memory management, but did not see the enable Cache and MPU synchronization settingsCubeMx 6.16.1 on macos MAC 26.1MCU:STM32H743IIT6
Updated post to reflect permanent fix Dear STM32CubeIDE user, Further to the recent STM32CubeIDE project creation issue, we would like to inform you that a solution is now available for you. This permanent fix applies to all STM32CubeIDE versions. Issue description When creating a new STM32 project in STM32CubeIDE, the “STM32Cube” radio button may have become unresponsive, blocking the “Next” button after the product selection screen. This prevented the project creation from being completed. Permanent fix You can apply this resolution to any STM32CubeIDE version, even if you applied the temporary workaround that we recently shared with you. Open STM32CubeIDE. Refresh the database.Go to Help > STM32Cube updater > Select “Check the Target selector Device Database Updates” Restart STM32CubeIDE If you deactivated the auto refresh function previously, you may wish to reactivate it for all your STM32Cube tools. Here is how to proceed: STM32CubeIDE:Go to Window > Preferences
Hi there,I have a motor support both encoder signals(ABZ) and hall signals(ABC) output.But I checked the DEV Kit and the examples of MCSDK6. Most examples use only one of the position feedback sensors.And for the MCSDK6 project, I can only configure the encoder and hall signal as a timer input. However, I DIY board can only support TIMER for the encoder and GPIO for the hall.I am asking for help on how to configure the project so that I can use both the encoder and the hall sensor in the motor with my DIY board.(I found a document named "Generation and use of Hall correspondence Table.pdf" by ST in Chinese. But I can't understand some details in this file. Is there anything more that can help me to understand this?)Thank you for your help!
I am experiencing quite a weird behavior on my STM32F429I-DISCOVERY board when trying to use SDIO module: If I use SDIO (1 wire) without DMA, it works fine, writes and reads. Also works in combination with my main application (TouchGFX, ADCs+DMA, 1 FreeRTOS task - besides TouchGFX and USBH task, USB OTG Host). However, if i configure my SDIO to work with DMA2 (Stream3 (TX) - Stream6 (RX)), it does write what i want, but it fails to trigger the DMA Interrupt at the end, leading to a DMA Error Flag being set and no Interrupt at end of transmission being triggered.So I've created a test-code right after all MX_...Init(); initialization functions, but before osKernelInitialize() and also before FreeRTOS task even get created. Same behavior: SDIO works, SDIO+DMA doesnt. Then, it comes the surprise: if I comment MX_TouchGFX_Init();, then it does work. I thought it could be some timing issue or configuration being messed up, but changing orders didnt solve.Then I realize the following: c
ST Community highlights – April to June 2026
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.