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
Hi, I've implemented the antenna selection circuit as per AN6121 but I'm getting some strange behaviour. Background- I have designed and manfactured a test pcb using the ST25R3916. On it I have 2 ST25R3916 chips, one with a single antenna connected and the other with 6 antennae and a multiplexer circuit as described in AN6121- Each has a header where I can connect it to my MCU host board so I can use the same software on both to compare- I have the single antenna chip working - it can detect tags correctly. The chip connected to the multiplexer is not doing so well. I have attached the circuit diagram which i'm pretty sure matches the diagram in AN6121, paying careful attention to which way round the FETs are. Note I've used the same fets as in the AN. I'm assuming SW must be low to select the antenna?What i see, which i'm not expecting, is a large voltage drop across R1 in my diagram, 12v incoming drops to 7.6 vo
Hello everyone! I'm new to the NUCLEO-H743ZI2 board. I need help with two questions: 1) I can't find a description of the STLK backup port -CN2 anywhere. Can you tell me if I can use it to program other STM32 devices on other boards, and how? 2) Can anyone share the schematic for the H743ZI2 board?
I have an application where I run the VL53L1X in lite ranging mode and short distance mode with a timing budget of 10 ms (100 Hz) as described in AN5263.I recently noticed that on at least one unit (and probably more) the VL53L1X reports a spurious distance reading of 0 mm with no errors even though the sensor is pointing into an empty space and there are no objects within the 1.3 meter range of short distance mode. This spurious reading happens about 10 times per minute, and the rest of the readings are regular expected errors.I am not using the API (STSW-007) directly, but have implemented code that does the equivalent thing.Here are some VL53L1X register values from these spurious readings:The lower 5 bits of the VL53L1X result__range_status register (0x89) is always 9. That corresponds to VL53L1_DEVICEERROR_RANGECOMPLETE and that is the value that the API maps to 0.The result__stream_count register (0x8B) is between approximately 130 and 250. The&nb
Hi,I would like to inquire whether the STM32C5 series supports ITTIA DB. Additionally, is it possible to use this library directly within CubeMX for development?
I would like to enable spread spectrum on the STM32H573RIT6.We are currently running on 250Mhz and at that frequency we have big peak which is 15dB above the limit, that's why I would be able to enable the spread spectrum. I looked into the STM32H7 example, so I am already aware and able to modify the PLL realtime. Now my question is how do I connect the DMA of the STM32H5 properly to a timer and a buffer to load the PLL. And also a question I have, what are good values for the PLL.
Hello,I must implement a SSI (Synchronous Serial Interface) to output a measured value. As SSI in principle is just a bitstream which is clocked out with the serial clock, I wanted to use a SPI in slave mode, as the clock comes from the SSI master.This works in principle, but from time to time I get a bit shift and the received data is delayed by one bit, which results in a division by two.Checking the SSI data clock, I didn't find an expected unstable clock with additional edges but from time to time the SSI master makes a pause after the first falling edge before it starts clocking. Could it be that this pause disturbes the SPI interface? I would have expected, that the SPI in slave mode only checks the clock edges and that the time between the clock edges isn't that critical?
Hi friends, Again I have come with a problem. Please see my code. PWM works as usual. But it is made to stop by resetting PC3 bit, PWM does not stop rather, it behaves randomly. Sometimes the PWM channels are driven high, driven low or PWM pulse is there. Many modifications has turned futile. Hence I seek your support. Regards ankhola Main,c /* MAIN.C file * * Copyright (c) 2002-2005 STMicroelectronics */ #include "stm8s.h" #include "ccp.h" void inv_on(void); void inv_off(void); void sw_state(void); unsigned int pwm_duty1 = 40; unsigned int pwm_duty2 = 50; unsigned int i=0; unsigned int duty; unsigned char toggle=0; unsigned char off_state; unsigned char on_state; unsigned const int table []= {0, 16, 32, 48, 64, 80, 96, 112, 127, 143, 159, 174, 190, 205, 220, 235, 250, 264, 279, 293, 307, 321, 335, 349, 362, 375, 388, 400, 413, 425, 437, 448, 460, 471, 481, 492, 502, 511, 521, 530, 539, 547, 555, 563, 570, 577, 584, 590, 596, 602, 607, 612, 616, 620, 623, 627, 630, 632, 634
We are designing a lens cover to be used with VL53L9CX. Can you share any more data on the FoV of the time of flight sensor? The attached data sheet on the part page is for a different sensor "VL53L7CX" is there a data sheet for the "...9CX" version? In "Description of the fields of view of STMicroelectronics' Time-of-Flight sensors" Sections 3.2 & 3.3 reference exclusion cones which are given in a product data sheet. Could you please share this file? Also, 3.3 references keep-out cones which can be shared by contacting support. Any additional information would be helpful to ensure our lens does not interfere with the required FoV. Thank you!
Hello. I'm using a combo of a wba board and a LSM6dsv IMU sensor. I collect sampoles from the imu and then send them to my pc to do some fft there and als odo fft on board using the cmsis dsp libraries. The thing is that my pyrhon spectrum appears to be correct. I'm using a vibrator to make sure about that it [produces the requested frequency and monitor the results with the integrated vibrator's sensor. The python sprectrum appears to match the vibrator's sensor sprectrum whereas the cmsis results appear a lot more noisy and have an almost mirrored in the middle huge harmonic. Lets say than my sensor'f sampling rate is 4 KHz, so im able to do fft on up to 2 KHz event freq. If my vibrator is at 300 Hz i will see a huge harmonic in lets say 1600-1700 hz which gets closer the more i go to 1000 Hz. At 900- 1200 Hz the spectrum appears to be a complete mess and at 1300 HZ and afterwards it is simply beautiful. Here is the mcu code. I do a hanning window and median removal
Hello, I use STM32WB05KZ. Could you give me an example about how to store configuration data to NVM by aci_hal_write_config_data() function? - When I tried to store to 0x00 (I used static randow MAC address), it returns 0 but the data is lost when the chip is rebooted; - When I save to any other address (such as, 0x40), it always returns to 0x12. Thanks a lot.
I have questions regarding estimated_reflectance and range_sigma in VL53L5 and L8The reflectance: how is it calculated? Is it R=signal_rate_per_spads*depth^2/K? the number_of sapds_enabled seems a useless parameter for a user? Can we know this calibrated constant K?The ambient_light has nothing to do with the R calculation?For these multi zone TOF, if we place a flat target in front of TOF, it shall give the same R. ST’ already does the internal compensation for the depth and for the angle of incidence. Right?? I can not find this kind of info in ST’s doc. Can only guess. If it has, please point out the Docs sourceThe range_sigma: for L5, if the resolution is 4 x 4, the readout is zero. I can read out this parameter if it is 8 x8What is the default sigma_threshold for distance in L5? Is it the same for resolution 8x8 and 4 x4? Also, when I change this threshold, it is unclear if this threshold, e.g.,100mm shall multiply with a scale factor 128. Please confirm thatThan
Hello,Before compilation: I’m having an issue with IntelliSense (possibly clangd).When a macro is undefined, the code inside #ifdef is correctly shown as inactive (dimmed). However, after I build and flash the project, the same code becomes highlighted as if it were active, even though the macro mDEBUG is still not defined.The highlighting only returns to the correct state after I switch tabs or force a refresh.Is this expected behavior, or could this be a bug or bad config on my side? It brings confusion to my workflow.After compilation:
I'm using the library here: https://github.com/stm32duino/VL53L1, and it seems to stop measuring around 3.2-3.5 meters. I may be wrong, but think that means that it is not using the histogram? I set it to long distance ranging mode.Here is my code:bool Sensor::ConfigureSensor(TOF &tofSensor) { Log.noticeln("Configuring [%s]", tofSensor.name); if (tofSensor.sensor_object == nullptr) { Log.fatal("No TOF sensor object initialized."); return false; } VL53L1_Error status; status = tofSensor.sensor_object->InitSensor(tofSensor.address); delay(10); if (status != VL53L1_ERROR_NONE) { Log.fatal("Failed to initialize %s. Status: %d. Halting.", tofSensor.name, status); while (1){;} return false; } Log.noticeln("%s address set to 0x%x", tofSensor.name, tofSensor.address); status = tofSensor.sensor_object->VL53L1_SetPresetMode(VL53L1_PRESETMODE_RANGING); delay(10); if (status != VL53L1_ERROR_NONE) { Log.errorln("Failed to set preset mode for %s", tofSen
Hello, I am using this sensor for a project where it is mounted on a cane to detect overhanging objects that could hit visually impaired people. This works fine indoors, but outdoors, when the ambient light is around or greater than 10k Lux—and keeping in mind the sensor is pointed upwards and hit directly by sunlight—it only catches obstacles when they are very close. I am currently using a 4x4 resolution with continuous ranging at 30Hz. My question is: is there a way to increase its efficiency? By efficiency, I mean increasing the detection distance through hardware, structural, or software solutions.
Hello, I have started evaluation of X-NUCLEO-ESE02A1 shield with NUCLEO-F401RE board, and used STM32CubeMX for project generation according to PDF inside X-CUBE-SAFEA1 package. However, I can't get any demo running, and both these generated demos, as well as my attempt, fail with error code 0x01 which maps to STSAFEA_COMMUNICATION_ERROR. I have tried putting jumpers for I2C lines pullup on the shield, jumpers P4 and P5, but it did not help. Then I read in the product User manual UM3579 about additional RST PIN so I tried also putting a jumper on P3 connector but still nothing. However then I traced it to PB5/D4 PIN which is actually not used and not advised to be initialized in the Getting started document. So my question is: Do I need to use this pin, and if so, how exactly should it be used, to enable communication with STSAFEA110? Everything other, related to I2C, USART, expansion package itself is enabled, project compiles and app shows logs after flashing to Nucleo,
Hello everyone,I'm working with an STM32L562E-DK board and testing the "TrustZoneEnabled" template included in the "STM32Cube_FW_L5_V1.6.0" package. The goal is to run the basic example that transitions from the secure to the unsecured zone, but I'm finding that, after following all the instructions in "README.txt" and compiling the project, the code gets stuck in the next function:static void NonSecure_Init(void) { funcptr_NS NonSecure_ResetHandler; SCB_NS->VTOR = VTOR_TABLE_NS_START_ADDR; /* Set non-secure main stack (MSP_NS) */ __TZ_set_MSP_NS((*(uint32_t *)VTOR_TABLE_NS_START_ADDR)); /* Get non-secure reset handler */ NonSecure_ResetHandler = (funcptr_NS)(*((uint32_t *)((VTOR_TABLE_NS_START_ADDR) + 4U))); /* Start non-secure state software application */ NonSecure_ResetHandler(); } Specifically on the "NonSecure_ResetHandler()"; or it doesn't even execute the no-secure part.Current option bytes configuration (verified with STM32CubeProgrammer):DBANK => Checke
Hi,I just installed STM32CubeProgrammer v2.17.0 on Linux.When I connect to the board (tried with several different ones), I get the following error;flash loader cannot be loaded. FlashLoaderPath = /home/[yadayada]/bin/FlashLoader/0xI can read the flash, I can do everything, with the exception of flashing. This fails.I first thought it might be a truncated log message. But when I just copied any of the loader files and gave it the file name "0x", I didn't get the error message. So it really looks for a file named "0x". It looks like in the code, the assembly of the file name (all the files match the pattern 0x*.stldr) I tried to do an software update, but this also fails: "The updater package on server is corrupted"
Hello,just updated to STM32Cube FW_H7 V 1.13.0 but it seems it still contains CMSIS RTOS2 V2.1.3.I'm develop with Keil and STM32 IDE but Keil is using V2.3.1 while Cube comes with V2.1.3.In STM32 IDE I got a compile error when I imported source code developed on Keil.E.g. the thread attribute osThreadUnprivileged, introduced in V2.2.0, is missing in V2.1.3.https://arm-software.github.io/CMSIS_6/main/RTOS2/rtos_revisionHistory.html Any progress here? If no, why?Thanks,Jochen
I want to add a EXTI0 line to act as a wakeup. I took the BLE_Heartrate example as a base. Out tyhe box, it compiles & runs ok. When I use CubeMX 6.16 to edit the BLE_Heartrate ioc to add PE0 as the EXTI0, next time I compile, I get an error that I'm missing stm32wbaxx_ll_utils.c. If I "cure" this by copying the file from elsewhere, I get other file-not-found errors on stm32wbaxx_ResetHandler_GCC.s and app_bsp.c. What gives? Surely the example provided by ST should be able to handle a minor change in the ioc file? The BLE_Heartrate and other BLE_ examples are inpenetrable and difficult to understand at the best of times. ST is not helping anybody by not explaining how the BLE_Heartrate example may be modified to get e.g. true low power stop2, how to set an RTC alarm to wake up from this.
Hello,I am encountering an issue with the ST example projects "BLE_p2pServer" and "BLE_DataThroughput_Server" for the NUCLEO-WBA65RI board.After generating the code using STM32CubeMX (version 6.17), the project does not include all the required source files. As a result, the compilation fails immediately, even before making any modifications to the code.I enabled the option:"Generate peripheral initialization as a pair of '.c/.h' files per peripheral".The main issue is that the following file is missing:"stm32wbaxx_ll_utils.c" .It seems that some HAL/LL driver files are not being generated or included properly in the project.Could you please advise on:Whether this is a known issue with STM32CubeMX 6.17?If there is an additional step required to include all necessary driver files?Or if a specific configuration is needed for these BLE examples?Thank you in advance for your help.Best regards,Pierre A
Hi,During the design with the STM32H743IIK6 MCU few questions arise:(1) While designing a PCB with the STM32H743IIK6 (UFBGA176+25 package) with VDD=3.3V or 2.8V, I am unable to locate the VCCLDO pin, which is expected to be connected to external capacitor. Am i missing something in the pinout, or does the internal LDO in this specific package rely solely on the capacitors on the VCAP pins?(2) There are two sets of QUADSPI I/O sets: BK1 and BK2 (i intend to use the BK2). However, I do not see any separate clock pins for each. Do both channels share the same QUADSPI_CLK signal for both banks?(3) Regarding the USB interface: I see a VDD33USB pin, but there is no VDD5USB pin. Does this require an external 3.3V DC input, or is it an internal signal output that only requires a decoupling capacitor?Additionally, I am unable to locate the USB_DP and USB_DM pins on the UFBGA176 package. Is there specific hardware documentation / example schema that clarifies the physical lo
I have this Riverdi 7-inch display which has a STM32H757XIH6 micro controller. And I am trying to use freertos to run a uart task when a button is tapped on the display. I am running into an issue though with the button response. So I created a virtual function and that works when I tap the button. I created another freertos kernal and have a callback function names UART_Task. I am trying to send a message via a queue to start a process when a button is tapped. When the program runs the GUI displays, but when I tap the button it is unresponsive and does not seem to send the message. I messed around with setting different times on the osDelay within the callback to give the GUI and other tasks time to initialize. I also messed around with the priority of the task as well. No luck though. Here is the Freertos code that is initialized from the main.c. The MX_FREERTOS_Init() is called in the main.c/* USER CODE BEGIN Heade
Hi,I am using STM32G0 with STM32 Motor Control SDK. ADC1 is used for motor current sensing (triggered by TIM1 for FOC control).Since STM32G0 has only one ADC and does not support injected channels, I needed to read an additional NTC sensor (ADC channel 8) for motor stator temperature.I implemented this using Regular Conversion Manager (RCM):Registered ADC channel using RCM_RegisterRegConv()Requested conversion periodically (~300 ms)Read the value after conversion completionThe motor is running stable, and I am able to get temperature readings without visible disturbance.My question:Is this a correct and recommended approach for reading an additional analog signal in STM32G0 + MCSDK?Are there any potential risks (timing issues, FOC accuracy impact) when using RCM alongside motor control?Or is there a better recommended method for this use case (e.g., external ADC, different MCU, or MCSDK-specific approach)?Thank you.
Heyho, wanted to check if C5 might be good for next project and have a first look at MX2. Installed it, started project with C562 / Nucleo - and nothing happens, except for a short error message in the bottom right corner of the window: "error when downloading packs" ( + some file name). Further info: - Windows 11 - started MX2 first as normal user, then as admin, same behaviour - all other STM32 tools running fine (MX1, IDE, Prog)
hello ST Community,Is it possible to generate a binary file that is a *.elf file from a project developed by STM32CubeIDE?Using the correct settings for generating *.bin files.The *.bin file would be used to create a bootloader via UART for one of the STM32 microcontrollers.Thanks for your valuable support.
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.