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
Dear Sir/Madam,I am currently using a Nucleo development board to perform trials with the VL53L4CD ToF sensor.I have a question regarding the sensor’s performance in the near field range of approximately 1 to 15 cm. During testing, I positioned a matte white reference object at around 10 cm. In the data log files, I frequently observe NaN values in the measurements. However, in the GUI, a distance value is always displayed, which may possibly be interpolated.I have attached a figure from my data log showing the measurements with the reference object at approximately 10 cm.- Is this a known issue? Additionally, are there recommended methods or configuration settings to improve data quality at short distances?- What would be considered a proper or expected signal rate for this sensor? Is there a recommended range to strive for in order to ensure reliable measurements?Thank you in advance for your support.Kind regards,Jort
I have not been able to find any documentation on how to use the StellarStudio tool. Does any publicly exist, or does this need to be supplied by an FAE? Thanks.
Hello,we are using VL6180X and VL53L4CD sensors in an outdoor setup and we have issues with sunlight (even reflected light).To improve sunlight rejection, we added Thorlabs bandpass filters:FBH850-10 for VL6180X (850 nm)FBH940-10 for VL53L4CD (940 nm)Both filters are 2 mm thick.The filter is placed ~1 mm in front of the sensor window.We have four identical sensors per type; only one has the filter.Observations:Sensors without filter measure correctly (e.g. 143 mm → 143 mm, 70 mm → 70 mm).The sensor with the filter almost always reports a short distance (~20–30 mm).Even when the real target distance changes significantly, the filtered sensor reading remains almost constant.This looks like strong optical crosstalk rather than noise.Questions:Is a 2 mm interference filter likely to introduce severe crosstalk?Could the 1 mm air gap be the main cause?Would a much thinner IR-pass filter be more appropriate?Can the crosstalk calibration compensate for this configuration?Any guidance on proper
Post edited by ST moderator. In next time please use </> to share your code. Thank you for your understanding. hi, I am using stm32U5's uasrt2 DMA RX , DMA interrupt coming, usart idle int coming, ROR value right, but rx_buffer was not refreshed by DMA, here is my part of code. /* USER CODE BEGIN PV */ uint8_t loop_TX = 0xaa; uint8_t loop_RX = 0x0f; /* USER CODE END PV */ ............................. /* MPU Configuration--------------------------------------------------------*/ MPU_Config(); /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* GTZC initialisation */ MX_GTZC_Init(); /* USER CODE BEGIN SysInit */ delay_init(); HAL_Delay(100); /* USER CODE END SysInit */ /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_GPDMA1_Init(); MX_SPI2_Init(); MX_USB_OTG_FS_PCD_Init();
Dear Sirs, we have a SPI CRC problem we thried heavily to solve, but no success.We broke it down to just send one byte of data, so the CRC is known in advance and it is easy to debug.Here the description what we did:DevicesMaster: STM32F7 (SPI1)Slave: STM32F4Communication mode: SPI full duplexData width: 8 bitCRC enabled on both sidesCRC ConfigurationCRC polynomial: 0x07Data size: 8 bitMSB firstOnly one data byte used for testingTest frameData byte transmitted by slave:0x55Expected CRC (CRC-8, polynomial 0x07):0xACSPI clockThe SPI clock on the master is set to the lowest possible speed:Prescaler = 256Therefore there should be no timing issue with the CRCNEXT bit being set during the last data frame is clocked.We use HAL 1.3.3 and HAL_SPI_TransmitReceive_IT on the master sideObserved SPI signals (oscilloscope)On the SPI bus we observe exactly the expected sequence:0x550xACSo the slave transmits the correct CRC value.Master behaviourWhen the first SPI interrupt occurs on the master
For your information, StellarStudio 9.0.0-LEDS has been finalized and pushed for the environments. (Windows, MacOS, Linux)This version is based on Eclipse 202512 and CDT 12.3.0, with standalone tools using Java 21.StellarStudio Pinmap Configurator (SR5E1, SR6P3, SR6P3E, SR6P6, SR6P7G7 , SR6P7, SR6G7 and SR6G6)StellarStudio Noc Configurator (SR6P7G7, SR6G6 , SR6P3 and SR6G7)StellarStudio Clocktree Configurator (SR5E1, SR6P3, SR6P3E, SR6P6, SR6P7G7 , SR6P7, SR6G7 and SR6G6)StellarStudio Power Conso Configurator (SR5E1 , SR6G6, SR6P7G7) What's new in this release ?StellarStudio 9.0.0-LEDS version is officially pushed. (Windows, MacOS, Linux) based on eclipse 202512 and the version CDT 12.3.0 with standalone tools (Java 21)9.0.0 Common part:Updated module versionsNew starting Splash ScreenSR5E1 deviceSR5E1 public device:9.0.0 Initial part:· Fixed "Is it possible to display the system clock?" SR6 P and G devicesSR6 restricted devices (On demand, contact our sales office):9.0
I am struggling to wakeup STM32N6570-DK from standby mode with user button (WKUP3).I created an isolated CMake + VSCode test project and share it in zip file. Based on latest CubeMX 6.17.0 and STM32N6 HAL 1.3.0. There is application and FSBL but I only use FSBL and do not jump into Application. My intention is that after wake-up, MCU launches Boot ROM that launches FSBL.The core part of the code is:static void EnterStandbyMode(void) { PWREx_WakeupPinTypeDef sWKUPConfigs = {0}; /* Prevent any disturbing interrupts */ __disable_irq(); /* Enable the Wake-up pin functionality */ sWKUPConfigs.WakeUpPin = PWR_WAKEUP_PIN3; /* PC13 (User button) */ sWKUPConfigs.PinPolarity = PWR_PIN_POLARITY_HIGH; sWKUPConfigs.PinPull = PWR_PIN_PULL_DOWN; HAL_PWREx_EnableWakeUpPin(&sWKUPConfigs); HAL_PWR_ClearWakeupFlag(PWR_WAKEUP_FLAG_ALL); /* AN5946 and errata say that BSEC should be enabled to go stand-by. */ __HAL_RCC_BSEC_CLK_SLEEP_ENABLE(); __HAL_RCC_BSEC_CLK_ENABLE(); /* Set init
Hi everyone,I’ve successfully created and imported a CMake-based project for the STM32F777NIH in STM32CubeIDE 2.0.0. The project builds and compiles without any issues.However, the IDE cannot properly resolve headers, some macros, variables, and some struct definitions. To fix this, I enabled:set(CMAKE_EXPORT_COMPILE_COMMANDS TRUE)in my top-level CMakeLists.txt, which correctly generates a compile_commands.json.In CubeIDE, I also enabled C/C++ General → Preprocessor Include Paths, Macros etc. → Providers → Compilation Database Parser, and pointed it to the generated compile_commands.json (AN5952).But CubeIDE shows:Invalid build parserAnd the error log contains:“Compilation database parser does not have a build command parser configured.”So it seems CubeIDE refuses to use the compilation database to resolve include paths, even though the file exists and is valid.Is there any known workaround to allow STM32CubeIDE to consume compile_commands.json for indexing?Or any other reliable
Hello community,I just wanted to know whether you know of a clock tree wizard for SPC58xE.I read in one post some years ago that there is no clock tree wizard for SPC58XE, but is there still none?Is there any possibility to visualize the clock connections? Kind regards Tkorn
I am working on STM32CubeIDE_2.1.0 after one week and suddenly it stopped showing create new STM32 Project. It is showing simply as in screenshot, I am unable to create new STM32 project. Thanks & RegardsChanchal
Are there any expansion boards with Quad SPI NOR Flash chips? I am interested in using it with a NUCLEO-WB55RG board.Preferably it should use the Macronix 25L6433FM2I-08G chip, but that is not a hard requirement. This chip is found on the X-NUCLEO-GFX01M2 board, but it is implemented as a standard single SPI interface.Thanks
Hi all,I’m working on porting a firmware from a Microchip PIC18F66J50 to an STM32C071.The original device communicates successfully with Windows and Android devices over USB, through an app developed in Flutter (Android Studio) using the QuickUsb library.On the STM32 side, I’m now using the USBX stack. After quite a bit of work, I managed to get the USB communication fully working with Windows — enumeration and protocol exchange both succeed.However, while the device correctly enumerates on Android, the protocol communication fails.Since the Android app already works perfectly with the original Microchip-based device, I assume that no changes are needed on the app side. This suggests that the issue lies in how the STM32 presents itself to Android (possibly in the USB descriptors or class/interface setup).Has anyone experienced similar issues with USBX on Android, or are there known differences in how Android handles vendor-specific protocols compared to Windows? Thanks for your he
Hello,I'm using the IMP34DT05 microphone and it records fine but there is always a noise overlapped and it is very annoying.I have tried recording the background noise in anechoic chamber (see attached audio, high-pass filter alpha is 0.98). Do you know I to get rid of this noise? Is it related to microphone self-noise? Is there some processing library available from ST to remove such noise?Could it be related to some issue with the pdm2pcm conversion? I’m using 24bits on 32 frame. The PDM2PCM filter gain is set to 30.Best,
I want to be able to program the external flash via VCP. So far, I have taken the combined code from the CM4 and CM7 core, then using memory address 0x90000000, I write to the QSPI using the BSP function: if (receiving_ext_flash) { if (BSP_QSPI_Write(0, Buf, qspi_write_address, Len) != BSP_ERROR_NONE) { CDC_Transmit_FS((uint8_t*)"QSPI Write Error\r\n", strlen("QSPI Write Error\r\n")); receiving_ext_flash = 0; return; } qspi_write_address += Len; } Has anyone tried doing something like this? I have not been able to get this to work. Thanks!
Is there any way to optimize the IPD BALFHB-WL-01D3 to work at 865MHz at 22dbm for STM32WL55? And is there any hardware design guide for power of STM32WL like it is there Hardware design guide for STM32L0 application note AN4467.
Trying to run timer2 to set pwm signal for the BLUE LED (PA5).The MCU is STM32U083MCT6 and I used rm for STM32U083MC series (https://www.st.com/resource/en/reference_manual/rm0503-stm32u0-series-advanced-armbased-32bit-mcus-stmicroelectronics.pdf)I set each bit and register separately to be sure that everything is set correctly, but still miss something related to TIM2.What settings to check related to TIM2 and what is the best approach to configure timers of this MCU?
I used stm32g030c8t6 , I want to create the External loader by stm32cubeIDE, but I don't understand how to create,Are there any operation instructions? flash:w25q64 , interface is SPI-2
I all,I have a question regarding the EVSPIN32G4 board, specifically concerning the feedback resistors used in the current sensing network (default value: 11 kΩ).I am considering replacing them with 150 kΩ resistors. My main concern is whether this significant change will trigger the Overcurrent Protection (OCP) prematurely or cause stability issues with the internal op-amps.Has anyone experimented with such values, or are there specific hardware limitations I should be aware of?Best regards, Jules
Platform:SoC: STM32MP257Sensor: GC05A2 (5MP)Interface: CSI-2 Issue:I'm working on camera integration with GC05A2 on STM32MP257. The raw image quality is acceptable, but after enabling AWB and CCM in the ISP pipeline, the output image shows severe noise (both luminance and color noise), especially in low-light conditions (<300 Lux) or shadow areas.Questions:Where is the noise reduction? Does STM32MP257 ISP have built-in hardware noise reduction (2D/3D NR)? If yes, how do I enable and control it through V4L2 or the driver?
Hello Everyone,I recently purchased STM32H7S78-DK.I'm looking for the code that runs on the discovery kit.As I understood from my collogue there should be an application that defines all the peripherals via cubeMX.I've downloaded the repository for this DK but all I see is examples that covers some of the peripherals and not one application that defines all the peripherals. I would if someone can share with the link for this application that define all the peripherals.
Hi everyone,I am working on a custom board based on the STM32U575RGT6 (TrustZone enabled, FreeRTOS). I have successfully ported the SBSFU example originally provided for the B-U585I-IOT02A.My configuration is:MCUBOOT_APP_IMAGE_NUMBER = 1 (Single combined S and NS image)No external loader.To meet my application needs, I added a custom FLASH_STORAGE area at the end of the flash for EEPROM emulation. To do this cleanly, I modified flash_layout.h to dynamically compute the available FLASH_NS_PARTITION_SIZE based on the remaining space.The Problem: When I use MCUBOOT_OVERWRITE_ONLY, the OTA update (via Y-Modem) works perfectly. However, when I try to use the Swap mode (by commenting out #define MCUBOOT_OVERWRITE_ONLY), the firmware download succeeds, the board reboots, the bootloader validates the signature, starts the swap process, but then crashes with a status write fail:FWUPDATE --- Démarrage de la mi
Hello everyone, I’m working on the STM32G474RE and trying to generate two independent PWM outputs using the HRTIM peripheral. To get started, I followed this tutorial: wiki.st.com/stm32mcu/wiki/Getting_started_with_HRTIM For my first PWM output, I used: Timer: HRTIM1 Channel: CHA1 Compare Unit: CMP1 This one works perfectly , the duty cycle changes correctly when I update the compare value. The problem When I tried to add a second PWM output, I followed the exact same steps as for the first one, except I used: Channel: CHC1 Compare Unit: still CMP1 (as shown in the tutorial) However, this second output (HRTIM1_CHC1) is always stuck at 50% duty cycle, no matter what compare value I write. Even if I set the compare value very low or very high, the output waveform stays at 0.5 duty cycle. What I checked The GPIO pin for CHC1 is correctly configured in alternate function mode. The timer is enabled and running. The compare register is being updated (I
Split from: Evaluation of Encoder Signal Level Shifting Approach as that was a different issue, and has been solved.I am also working with this same issue, in my case i have a encoder operating at 24V, and signal in comparable frequency i have implemented a simple voltage divider, the circuit works just fine, but as i don't have equipment to measure the noise and also i would prefer to have galvanic separation to my MCU, so in this case is there any good suggested level shifter or optocoupler, should i combine the both strategy of voltage divider and optocoupler or just 1 is fine (from perspective of noise and safety)?
Hello,I'm trying to get familiar with the STM32Cube extension for VSCode.I generated a basic STM32 project using STM32CubeMX, for my NUCLEO-H723ZG board.I then imported the generated cmake project using the extension tool, and configured it using the "setup STM32Cube project(s)" button of the extension, which created a launch.json file.When I try to run the debug config, I get the following error : bound doStepSettingsValidation Failed: Device not found: Error: Missing CMSIS_PACK_ROOTHere is the STM32Cube core output :025-10-20 16:19:33.002 [Info] Adding STM32Cube CLI path to environment: c:\Users\Jacques\.vscode\extensions\stmicroelectronics.stm32cube-ide-core-1.0.3\resources\binaries\win32\x86_64 2025-10-20 16:19:33.057 [Info] Configuring CMSIS_PACK_ROOT environment: C:\Users\Jacques\AppData\Local\stm32cube\packs 2025-10-20 16:19:33.099 [Info] Configuring CUBE_BUNDLE_PATH environment: C:\Users\Jacques\AppData\Local\stm32cube\bundles 2025-10-20 16:19:33.805 [Info] cube wrapper version
bound doStepSettingsValidation 失败:找不到设备:缺少CMSIS_PACK_ROOT
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.