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
Hello,I am working with an STM32L072 and trying to generate a 1Hz interrupt with as little time drift as possible. For this, I am using the RTC wakeup interrupt at 1Hz, with the LSE (32.768 kHz quartz, 10 ppm) as the clock source.On several products, I observe a periodic time drift of about 4ms. The period and sign of the drift vary from one product to another, but the pattern is repeated consistently. The attached graph shows that the drift is periodic for each product, but with different periods.To measure the interrupt timing, I set a flag in the interrupt handler that triggers a USB message to the computer. This explains the noise in the reception time, but not the 4ms discontinuities or their periodicity. The MCU remains in run mode during these tests. And there is no reset of the board.The 4ms drift corresponds to approximately 0.0039978s, which is equal to 131 LSE ticks (131/32768). This seems significant and unexpected.Initially, I suspected an issue with my RTC configuration,
I'm looking at using the Teseo modules in a range of RC boats but would like some final confirmation of the RF front end to make sure I am not doing anything wrong. For the LIV4F I have boiled it down to this setup, with the understanding that the 4F can drive active antennas directly (for external use), and for passive there is an onboard LNA that needs a blocking cap (for mounting on the same PCB). Thanks for any help! For the LIV3F(L) I am looking at exclusively active antennas (given the lack of on board LNA). From the RF front end point of view does this make the 3F and 3FL pin compatible?Is this the correct setup for both onboard and offboard antennas?Only the offboard has a current limit on the assumption that helps save the RF front end when there is no antenna fitted, is that correct?Are there any recommended part numbers for the inductor/capacitor bias?Do I need a saw tooth filter on the RF input?Why are the Liv4f's seemingly always out of stock?&nb
Version: STM32CubeMX 6.16.0MCU: STM32WB15CCU6Untilities Sequencer can not enabled, which says connectivity WM's not enabled.But no "WM's" in connectivity page.How to enable sequencer?
We are using customised board on stm32mp257f microprocessor. We have used STM32MP257F-DK as a reference for the hardware design. In our customized board, we have used LVDS panel and kept the LVDS section same as that of STM32mp257f-dk board. The board boots up and kernel is loading properly. But lvds panel is not working. Please find below the error logs in u-boot and kernel.Receiving following uboot log:stm32_ltdc_probe: Startedstm32_display display-controller@48010000: stm32_ltdc_probe: LTDC hardware 0x40101stm32-display-dsi dsi@48000000: stm32_ltdc_get_panel(dsi@48000000): no UCLASS_DISPLAY for remote-endpointstm32-display-dsi dsi@48000000: stm32_ltdc_get_panel(dsi@48000000): no UCLASS_DISPLAY for remote-endpointstm32_display display-controller@48010000: Device failed ret=-22stm32_display display-controller@48010000: stm32_ltdc_display_init(display-controller@48010000): no UCLASS_VIDEO_BRIDGE for remote-endpointstm32_display display-controller@48010000: Device failed ret=
Hello everyone,I'm trying to get the USB CDC protocol working with USBX. The hardware is fine because DFU works, and I can flash the board through it. Following a tutorial, I was also able to implement a bare-metal USB CDC device, and everything enumerated correctly and printed data.I uploaded the USB_CDC example for the STM32WBA65RIVx, and that also enumerated without issues.(I removed the UART part because I don’t have it; I only tested sending “hello world”.)Then I tried to integrate USB CDC into my own project, and I got stuck because I couldn't understand why the example works but my IOC configuration does not.Eventually, I found that enumeration only works if the option UX_DEVICE_CLASS_CDC_ACM_TRANSMISSION_DISABLE is enabled.When I disable that option, the PC cannot detect my board.What could be the reason for this?I increased:usbx_system_stack_size to 32×1024usbx_memory_pool_size to 32×1024Another strange thing: this parameter must be set exactly like this, otherwise enume
Hello,I’m experimenting with a simple RAM loader for SPC58 loaded through BAF over CAN.The same program runs perfectly when I debug it in RAM using UDESTK, and I’ve adjusted the linker so the code starts at 0x40070000. It initializes CAN, does a few GPIO tests, etc. — all good under the debugger.However, when I upload the same image to RAM via BAF, it starts but crashes as soon as it tries to initialize the clock, and if I skip that, it later crashes on peripheral initialization (CAN, GPIO, etc.).So my question:What are the main things I’m missing for a program executed directly from BAF in RAM?Is there something specific about system/clock or peripheral state that must be skipped or re-initialized when booting this way?Any hints or example references for a working SPC5 RAM loader via BAF would be very helpful.Thanks!— Janis
Hello, I have a query that can we send or stream the audio instead of Linein or Audio Jack, can we send it through CN12 or CN11 pins (UARTor SPI) from external UAC supported device in I2S format? If yes, could you please help me to configure it. I am using PBP_source example firmware of STM32WBA55G-DK1.Thank you
Dear allI have a complex Flash problem. But even with NUCLEO-C092RC Board and the provided FLASH_EraseProgram example I have Flash erase and/or program problems.I adapted the original provided ST code a litte to get more information of the problem with the on board LED's.This is the code I changed: (all the rest is 100% original code)Problem description (with Keil uVision):/** * @brief The application entry point. * @retval int */ int main(void) { /* USER CODE BEGIN 1 */ /* STM32C0xx HAL library initialization: - Configure the Flash prefetch - Systick timer is configured by default as source of time base, but user can eventually implement his proper time base source (a general purpose timer for example or other time source), keeping in mind that Time base duration should be kept 1ms since PPP_TIMEOUT_VALUEs are defined and handled in milliseconds basis. - Low Level Initialization */ /* USER CODE END 1 */ /* MCU Configuration------------------------------
Hi,From yesterday, after selecting the example firmware for STM32WBA55G-DK1, in the final step of the process, the new warning is coming, saying "failed to perform local copy ". Kindly help me to resolve this issue.Thank You.
Hello ST Community,STM32CubeMX 6.16.0 release summary:– Migrated to SamacSys as a new CAD provider for STM32CubeMXWith the new version of the stm32cubemx, the CAD tab in tools (see screenshot) is missing the previously available KiCAD and other options.Available options are: (Open Standard, ACIS, Khronos, AutoDesk, Open CASCADE, Siemens, Rhino, STL, Pixar, RS, Mentor).Export to KiCAD used to be available, even the featured video"A quick STM32CubeMX overview, From Ultra librarian" on the STM32CubeMx Product Overview features Altium, KiCAD and Cadence,... as export options in the dropdown menu.Componentsearchengine.com supports KiCAD, Altium, ... therefor I am confused why it is not supported in the STM32CubeMX.Is that intended? Do we have to use an older STM32CubeMX Version if we want the export to KiCAD option?Bug1: Selecting STL and pressing the download button crashes STM32CubeMX after choosing a file location(see screenshot 2)Bug2: Selecting STL and another File Format and
Hello,I am working with an STM32H563VITx (2 MB Flash) and I am experiencing a repeatable issue when placing two custom sections (.param_defaults and .app_defaults) at the end of Flash.The application runs as long as these sections are removed.But when they are enabled, ST-LINK GDB server / STM32CubeProgrammer fails to erase/program the Flash during a debug session.Project setupI have a bootloader located at 0x08000000 (32 KB) and the application starts at 0x08008000.At the end of the application Flash, I place two small tables:.param_defaults (160 bytes).app_defaults (96 bytes)Both are aligned to 32 bytes.My linker script computes their addresses like this: FLASH_APP_END = FLASH_APP_START + FLASH_APP_LENGTH; FLASH_APP_TABLE_START = ((FLASH_APP_END - FLASH_APP_TABLE_LENGTH + 31) / 32) * 32; FLASH_PARAM_TABLE_START = ((FLASH_APP_TABLE_START - FLASH_PARAM_TABLE_LENGTH + 31) / 32) * 32;These sections end up at: .param_defaults : 0x081FFF00.app_defaults : 0x081FFFA0 He
Hi,i'm currently working on a school project with the STM32n6570-DK and I'm pretty new into the STM scene. So my project will mainly be an object detection of different objects. The question is not directly about the STM, it's more about how to implement YOLO into STM. I heard something about the stm32-ai-model-zoo but I didn't go to deep into it yet. But is it possible to train a custom dataset with e.g. Google Colab and then implement it into STM or do I need a specific model-zoo file? And last but not least if someone has experience with STM32n6570-DK connected with YOLO, which YOLO version should I use? I heard YOLOv8n isn't that bad but I wanted to hear some more opinions. Hopefully someone can help me.Thanks for reading!Best Wishes
Hi everyone,I'm working on a project with an AR0144 image sensor connected to CSI2. (STM32N6)I have a question: if I use PIPE0 without any ISP processing of ROW10 data from the sensor to memory, do I still need to use ISP?Do I need to initialize it? ISP_Init(...)Thanks,Danilo
I am new to STM cube ide. I was searching for the beginner friendly steps for this IDE.But unfortunately, the available tutorials are for previous versionHow do I get started to this?Do I install the older version?
Hi there,Chip: STM32L053R8TxI've encountered an issue where the code generated in tsl_user.h at the "/* Channel IOs definition */" is incorrect and does not match the chosen settings in the .ioc.In TOUCHSENSING in the .ioc, with TSLPRM_TOTAL_TOUCHKEYS_B set to 8 (one key per sampling capacitor), the first three #define lines in the above section in tsl_user.h is incorrect. It would appear that these lines are hardcoded and unaffected by the code generator. I used the following settings in the .iocIO_TOUCHKEY_B1 is set to G5_IO4IO_TOUCHKEY_B2 is set to G7_IO4IO_TOUCHKEY_B3 is set to G1_IO2IO_TOUCHKEY_B4 is set to G2_IO4IO_TOUCHKEY_B5 is set to G3_IO3IO_TOUCHKEY_B6 is set to G6_IO4IO_TOUCHKEY_B7 is set to G8_IO3IO_TOUCHKEY_B8 is set to G4_IO3...and with these settings, the following code was generated:/* Channel IOs definition */ #define CHANNEL_0_IO_MSK (TSC_GROUP1_IO2) #define CHANNEL_0_GRP_MSK (TSC_GROUP1) #define CHANNEL_0_SRC (TSC_GROUP1_IDX) /* Index in source register (TSC->IOG
when trying to program our hex file in the microcontroller with the actual version 2.21 of programmer, I get following error: failed to download Sector[0]. in hex file the sector 0 starting from address 0x0 is used. wondering, that this could not be programmed with stm tools. sw tool hw tool result stm programmer st-link error stm programmer j-link error j-flash pro j-link error j-flash light j-link good in my opinion, the definition file for programmer isn't correct. the sector 0 is missing. why? shall it be corrected? thanks for fast help. Stefan
Dear ST,As you can see from the title we have issues with our SPI connection to the BMS board. We wired everything properly to the BMS connector, checked all the connections, on the MCU-C4mini shorted the JP pins (JP1 and JP2 and JP3 1-2, JP4,JP5,JP12,JP13).We also flashed the pre-built project from AutoDevkit studio (AEK-MCU-C4MINI - AEK_POW_BMSCCTX_GUI_application for discovery) to the MCU.Followed all the steps.We didn't connect any thermistors, and we only have 4, 3.2V LiFePo4 batteries.On the BMS, only the LEDS D2, D8(Blue) and D9 were lit up ~~ we assume the SPI connection is not being established correctly. We hooked up the SPI lines to a osciloscope, please find attached our readings. If needed I can also send a additional osciloscope reading picture.The yellow line is supposed to be the CLK line, we measured from the tiny peak to peak freq of 5MHz, the freq of the whole clock frame was 10kHz.Please advise how to continue with troubleshooting. Best regards,Gabri
Hi, i'm trying to make a firmware that can read an SD card with filex but that can also connect that SD card to USBX MSC device (no simultaney). i'm able to do the two functionality in two separate firmware, but the problem is to merge. for now is sufficient that the card is read at start up and next i can see the SD card with USBX MSC devicewhen i can do that the firmware shall evolve to connect the SD card to USBX MSC and after a modification by PC disconnect the SD card the time necessary to see if something is changed and do stuff unfortunately the first step is totally ok, at startUp i can read the SDcard with FILEX but.. after that USBX wont work i'm using a threadX flag to indicate at the USB that is possible to use the SD card, there is some example about myu goal?i will attach to this message the relevant files.. thank you in advance for any hint. best reguards
We are developing a user interface by using STM32H743 + SDRAM + LTDC + DMA2D and connecting to LCD through an FPC cable, which is only 30 CM long. It works fine.But there is one problem, in some of our products, the LCD can be placed at a position that is 2 meters away from the control board. So I brought a 2-meter-long FPC cable, and the test result was quite bad. Images on LCD became quite unstable and the touch function totally broke down...Is there any solution for this problem?
Hi, I’m working on an STM32G491 MCU and facing an issue with GPIO PB9.In my project, I initialize PB9 as a digital output and try to set it HIGH, but the pin always stays LOW on the board.However, if I configure PB9 as input and toggle the pin externally in the same circuit, I can read HIGH and LOW correctly.Why would PB9 not go HIGH when configured as output? What could be the possible reasons or things to check?
Hi,We have a weired problem with a custom N657 design.When using the Nucleo board, its possible to flash the program on the external flash, as long as BOOT1=1.The programmer resets the board and it flashes the firmware normally every time.On our board we use the internal SMPS and the same external flash with the same diode in the nrst circuit.Wenn i do a power up with BOOT1 pulled up, it flashes without error and the program runs as expected, when i change it to BOOT1=0 and hit reset.But when i want to reflash it, it won't do it.The LED is on and the programmer can connect, but the erase and reflash of the external flash is failing every time until i do a power cycle.The reset signal is reaching the flash, as it should.What could be the problem?
I want to make a project on stm32f103, I write some code. When I want to add sd card support, I need to use spi interrrupt enable.But after I enable the global irq then the code is hang. Besides I debug the code with gdb, then I do ctrl + c , then I found the code hang in some nvic irq handler like WWDG_IRQHandler, UsageFault_Handler, USB_LP_CAN1_RX0_IRQHandler randomly.I try to disable all nvic irq and clear the pendings , But I found it's useless, the code as below int ret; LL_SPI_InitTypeDef spi_init; LL_GPIO_InitTypeDef gpio_instance = {0}; LL_GPIO_AF_Remap_SWJ_NOJTAG(); __HAL_RCC_SPI3_CLK_ENABLE(); __HAL_RCC_GPIOB_CLK_ENABLE(); __HAL_RCC_GPIOA_CLK_ENABLE(); /**SPI GPIO Configuration PA15 ------> SPI3_NSS PB3 ------> SPI3_CLK PB4 ------> SPI3_MISO PB5 ------> SPI3_MOSI */ gpio_instance.Pin = LL_GPIO_PIN_15; gpio_instance.Mode = LL_GPIO_MODE_ALTERNATE; gpio_instance.Speed = LL_GPIO_SPEED_FREQ_HIGH; LL_GPIO_Init(GPIOA, &gpio_instance); gpio_insta
Hello ST Team,I am using an STM32H755ZIT6 where CM7 handles a high-speed Quad-SPI flash interface with 100Mhz and UART communication with flow control 115200 baud.The same firmware runs on two hardware revisions:Revision V2: Works perfectlyRevision V3: Same firmware → occasional failure in UART frame processingThe QSPI itself receives data correctly (verified with CRC), but the “end of frame” indication is occasionally not processed.Observed Firmware Behavior1. Using RTOS Event Flags (original implementation)In the UART receive callback, when “end of frame” (EOF) is detected, we set an RTOS event flag: osEventFlagsSet(dataReceiveEvent, DataReceived);Problem on V3:Sometimes the event flag is not triggeredEven though all received bytes are correctCRC validation passesThe callback executes, but the main task does not wakeThis leads to missed packets even though the data is fully received.2. Switching to Polling Loop (temporary workaround)We replaced the RTOS event flag with a s
I'm trying to read the ID of ST7701SN with STM32F469. The read command was sent correctly by the MCU. But the voltage of the response by the ST7701SN is too low. Could it be caused by the settings of the MCU? I tried different screens but it's always the same result.
I got the DCR form LPS22HH value is 0x00, but the BCR and TPID value all matched the datasheet except the DCR, and the waveforms as follow: Based on the feature showed in LPS22HH datasheet, the DCR should be 0x62but according to the DCR table (details table in MIPI : https://www.mipi.org/MIPI_I3C_device_characteristics_register), all version1.0 device DCR is 0x00.I don't known what's the current I3C version included in LPS22HH sensor. Can anyone help me clarify it?Sorry to @Foued_KH again.
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.