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'm working with an STM32WB5MMG. I need to use both USB and BLE. I see that there are some threads opened about problems regarding the use of both USB and BLE in the same project due to the HSI48. However, I added LL_HSEM_1StepLock(HSEM, 5) to prevent the CPU2 to disable the HSI48 oscillator when it does not use anymore the RNG IP. It was working until I add all the peripheral. I report my main code.Someone has suggestion?Thanks.int main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* Config code for STM32_WPAN (HSE Tuning must be done before system clock configuration) */ MX_APPE_Config(); /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* Configure the peripherals common clocks */ PeriphCommonClock_Config(); /* IPC
Hello everyone,For a while now, I have been writing my hardware jpeg driver for the STM3U5G9, I am near the end but a last (last?) major problem remains.With a grayscale 8-bit image (on the left), the output encoded image (on the right) is totally different from the input. (the output screenshot is decoded by an external jpeg decoder). I also observe the same behavior with HAL/MX configuration, so I only share the HAL/MX code for simplicity matter.MX_JPEG_Init(); JPEG_ConfTypeDef cfg = {0}; cfg.ChromaSubsampling = JPEG_444_SUBSAMPLING; cfg.ColorSpace = JPEG_GRAYSCALE_COLORSPACE; cfg.ImageHeight = 480; cfg.ImageWidth = 640; cfg.ImageQuality = 75; int length = cfg.ImageHeight * cfg.ImageWidth; HAL_JPEG_ConfigEncoding(&hjpeg, &cfg); HAL_JPEG_Encode(&hjpeg, img, length, img_jpeg, length, HAL_MAX_DELAY);For grayscale only image, do I need to do extra steps to make it work ?I saw (A)RGB image conversion to YCbCr functions (expensives to perform as a whole), do I need to per
Hi I have installed the updated version V2.0.0 and tried to configure the MCU like before using GUI , but it is not supported then how to get GUI like CubeMX version to configure microcontroller, please help
I am currently working on a project using the STM32F401RE Nucleo board interfaced with a 3.5-inch TFT SPI display (ILI9488 driver). I am facing an issue where the display does not show any output, even though the backlight turns on and the code uploads successfully without errors.I have already checked the SPI connections, power supply, and display initialization code, but the screen still remains blank. I would like to kindly request your guidance or any reference materials/libraries that can help me correctly configure and test the display with STM32CubeIDE.If possible, I would appreciate help with:Correct SPI configuration for ILI9488Required GPIO pin mapping (DC, RESET, CS, etc.)A working example code or initialization sequenceAny known issues or recommended libraries for STM32F4 + ILI9488Your support will greatly help me continue my project. Thank you
HelloI have completed the verification of read/write/sector erase/mass erase operations in the firmware based on the main() function.I have created an external loader by writing link.ld, Loader_src.c and Dev_inf.c and tested the operation. Read/write/sector erase works fine. However, only mass erase does not work.The code for the MaseErase(void) function is below, but just in case, I commented out the content and returned only LOADER_OK;, but the same symptom occurred.STM32CubeProgrammer 2.19, 2.18 versions are the same, and the message of 2.17 is successful, but the 0x90000000 area is not cleared.Is there a problem with the STM32CubeProgrammer program?Or which part of my source code should I modify?STM32CubeIDE 1.17.0STM32H747 및 STM32H743MT25QL512A
Hello!From the datasheet, I could tell it was a BAT54AFILM (due to the D84 marking), but I couldn't figure out what E1 meant. Could you help me decipher this?Thx!
Hi,I need to design driver board for the following PMSM motor specs and need help in selecting an evaluation board or related circuitry. Will STEVAL-IHM023V3 evaluation board work? Why is it now NRND?
Hi there,I generate a project using MCSDK 6.4.1 without any errors. (Find the project file in attachments)However, when I compile my MDK project, it shows some errors as follows:The details about the definition:```c#define VBUS_PARTITIONING_FACTOR 10.989010989010989 /*!< It expresses how much the Vbus is attenuated &nb
Hey,I’m currently working with the X-CUBE-ST67W61 Expansion Software Package and the Nucleo-W67x61 board and I am trying to perform an HTTP POST request that sends binary data. For this purpose, I’m using W6X_HTTP_Client_Request together with the content type W6X_HTTP_CONTENT_TYPE_OCTET_STREAM.The payload I want to transmit contains arbitrary bytes, including 0x00. However, I’ve encountered a problem: as soon as the payload includes a null byte, the HTTP request body seems to be truncated exactly at that point. The server only receives the bytes up to the first 0x00, not the complete buffer. This strongly suggests that the underlying implementation treats the payload as a C-string and therefore stops processing at the first null terminator. I would like to ask whether this is expected behavior or whether it may be a limitation or bug in the current implementation of the HTTP client. Does W6X_HTTP_Client_Request support sending binary payloads that may contain null bytes or d
Hello ST Community Team. First of all, I want to thank you for the new AI plug-in. It is really helpful specially will looking for informations on the STM32 documents. We hope to have the same for other ST products. About the Typo, on the Table 1 of the RM0434, we have a reserved region between SRAM1 and SRAM2a (from 0x2000 3000 and 0x2002 FFFF) this region is included on the SRAM1 (between 0x2000 0000 and 0x2002 FFFF) so it should be mentioned if it is reserved or not g(more details needed) also the size is 180Kbytes and not 36KBytes as mentioned on the Doc.please have a look at this.Best Regards.II
Running ST Cube IDE 1.19 on Windows 11, co-pilot autocompletions seem to be causing an issue. I see the suggestion, then a dialog pops up saying the following:An internal error occurred during: "Generating completion...".Invalid thread accessI look at the error log as I see the following:Failed to parse wmic outputException Stack Trace:org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Premature end of file.at java.xml/com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:262)at java.xml/com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:342)at com.st.stm32cube.ide.mpu.remote.serial.internal.SerialPortProviderWindows.run(SerialPortProviderWindows.java:127)at java.base/java.util.TimerThread.mainLoop(Timer.java:566)at java.base/java.util.TimerThread.run(Timer.java:516)
I have STM32N6570-DK board and need to use very small sized camera ~1x1mm 30 fps with USB UVC interface for object detection applications. As the camera does not have dcmi/csi-2 interface, I am exploring how to use USB HS Host driver and UVC class driver. Questions: 1. Is it possible to get real-time inference on UVC video stream(20-30fps) as in an example ST provides? I have tried the example and inferencing speed is very fast. 2. Are there any example codes I can refer to for USB host and vuc class driver? 3. or should I try find the video bridging hardware converter(UVC to DCMI parallel/MIPI CSI-2)? 4. Even if I can find CSI-2 converter, firmware development will still be very challenging for CSI interface. Is it worth trying out? DCMI parallel will be much easier to implement in coding. However, small camera does not come with parallel interface. Are my assumptions correct? Any help/guidance/clarification would be greatly appreciated! Thank you
Hello everyone i had today while working with the NUCLEO H753ZI board and when i try to upload the code i had faced this error message when i try to connect with the cube programmer i faced this error and my LD6 pin is glowing with low intensity can you please tell me why i facing this issue whethere this could be any short problem or anything else
Does ST offer an implementation of hardware acceleration of mbedtls-2021?I found this:STM32CubeL5\Projects\STM32L562E-DK\Applications\TFM\TFM_Appli\Secure\Src\ecdsa_alt.cSTM32CubeL5\Projects\STM32L562E-DK\Applications\TFM\TFM_Appli\Secure\Src\ecdsa_curves_alt.cfrom https://github.com/STMicroelectronics/STM32CubeL5.gitThis is excactly what I want (a bridge between mbedtls and the PKA_HAL driver), but it's for a 2019 version of mbedtls, and the mbedtls folks since broke the interface, so it doesn't compile. (and it doesn't look like an quick/easy fix)Is there a newer version somewhere?/Troels
Hi everyone,I'm working with a custom board based on the STM32WB55, and I'm facing a very strange issue with the Bluetooth Low Energy advertising. BLE advertising works perfectly when the board is running under debugger (SWD debug mode), wireless stack is correctly updated and option Bytes remain as programmed even after power cycling. CPU2 starts, and aci_gap_set_discoverables() returns BLE_STATUS_SUCCESS.The problem is, when I remove the debugger and simply power-cycle the board (i.e. unplug power supply usb cable and replug it), BLE advertising does NOT start.Do you have any idea of how to fix this problem?Thank you
Hi,I have a Riverdi STM32U5A9 that I'm trying to get converted to ThreadX to be able to use the onboard SD Card. The application was fully working with FreeRTOS, but after porting over to ThreadX, I get a Hard Fault on the first tick of the first transition to the first screen. From what I can tell, everything has been initialized. The TouchGFX project files are re-exported after the RTOS being set to ThreadX. I've increased the memory allocation, and adjusted the TX_TIMER_TICKS_PER_SECOND to 1000 as documented in the TouchGFX documentation. Everything is being done through STM32CubeIDE and TouchGFX. I've tried it on STM32CubeIDE version 1.15, 1.16, and 1.19. I'm using 4.24.0 for TouchGFX. Any help or clues is greatly appreciated. Thank you!
Hi I have used STMCubeIDE 1.11.0 (Cube 1.6.1) to generate the code for USB CDC interface for STM32G0B1.The code is as CubeMX would generate. I have not modified the code at all.When I plug the device into a PC I get "USB device not recognized" I have increased the heap and stack to be 0x1000. without any luck. What can I try to try to figure out what the issue is.Thanks,
I want to put my STM32WB05 into sleep mode and utilize the Bluetooth wakeup feature to wake it up. I have not found much information about this online, and was curious if it can be set up in the IOC or if it needs to be added manually?
I have two boards, both with the G473.I am using the ROM bootloader on SPI1. On one board, the bootloader works. On the other, it only responds with 0xA5 during the initialization sequence.The MCU can program and run if I load it through the SWD port.I have checked the SPI signals, both digital and analog, they look great. The MCU pins are firmly soldered to the board. The other board works. My code works. If you can actually get the bootloader to synchronize, it works.I have gone through every forum post I can find, and it is sounding like there is a possible consensus that the ST bootloader is bugged and will sometimes initialize the wrong interface. Is that... really true? It selects the wrong interface and all of these people are having problems with it? Can any one from ST talk about this? This sounds like a really serious problem if true! What else could it be?AN2606 says the G473 will init the pins on the USART and
Hello.I've tried to implement the TCP client using freeRTOS, socekt API and LwIP middleware on STM32H723ZG.However, I cannot figure out why the connect() function in socket api doesn't work and stuck.Is there a example for nucleo-H723ZG with LwIP and TCP client?Sincerely.
Hello, I am facing an issue with my code on my STM32F411I have a function that is starting a timer TIM5 I want to be able to handle channel 1, Channel 2, Channel 3 interrupt on output compare no output uint32_t ticks = ms * 10U; /* 10 kHz tick -> 10 ticks per ms */ if (ticks == 0) ticks = 1; TIM5->CR1 = 0; TIM5->CR2 = 0; TIM5->DIER = 0; TIM5->CCER = 0; TIM5->CCMR2 = 0; // Channel 3 and 4 CCMR register // Set prescaler and auto-reload as needed TIM5->PSC = 96; // No prescaler TIM5->ARR = 0xFFFF; // Auto-reload max for full range TIM5->CCMR2 &= ~TIM_CCMR2_CC3S; // CC3S=00 output TIM5->CCMR2 &= ~TIM_CCMR2_OC3M; // Clear OC3M bits TIM5->CCMR2 |= (0x3 << TIM_CCMR2_OC3M_Pos); // OC3M=011 toggle mode // Enable Capture/Compare Channel 3 output (optional for toggling output pins) TIM5->CCER |= TIM_CCER_CC3E; // Enable interrupt on Capture/Compare 3 event TIM5->DIER |= TIM_DIER_CC3IE; // Enable TIM5 counter //TIM5->CR1
Dear Community,I am using a Nucleo-H723ZG for my uni project and im running into issues with the PA11 & PA12 Pins.I want to use them for FDCAN1 and I have verified that my code works. No matter in what way i try to use these two pins the dont output.if I switch to FDCAN2 with the same code and simply switch all instances of &hfdcan1 to &hfdcan2 i can read the signals with an scope and a can2usb adapter and get the right values. I also tried to select just the mcu instead of the board because i read that sometimes USB_OTG messes with things but no luck.Lastly i tried with another brand new Nucleo-H723ZG but also here no output on PA11 & PA12 whatsoever.Not even in GPIO-Mode. Do I have to turn something specific of?I attached the full project. Kind regards
I know that USB3DR cannot be used with PCI Express if USB3DR is configured as SuperSpeed.But can USB3DR be used with PCI Express if USB3DR is configured as 2.0 e.g Hi-Speed?
Hi,I'm using an STM32H723 and store my configuration data in flash. Here The procedure is: erase the flash once, then write to the erased flash. On read check the flash for a magic word to find where data have been written. Next write happens the same way, it uses the magic word to find an unused part of the flash to write to (in order to save erase cycles). So data are written several times until a new erase is necessary.Now sometimes I end up in the HardFault handler because of an illegal read:void *Flash_Storage_Read(const size_t length) { uint32_t base_addr = FLASH_STORAGE_START_ADDR; uint32_t final_addr = base_addr + length; uint32_t *finalData=(uint32_t*)final_addr; const uint8_t *flashID=(uint8_t*)final_addr; while ((final_addr<FLASH_STORAGE_END_ADDR) && (*finalData!=0xFFFFFFFF)) -------> this read access causes the HardFault_Handler() to be called { base_addr+=length; final_addr+=length; finalData=(uint32_t*)final_addr; } return (void*)base_addr; }&n
Hi,I am developing a telemetry project using the P-L496G-CELL02 Discovery Kit. My goal is to use the X-CUBE-CELLULAR expansion package to handle the cellular modem connectivity and MQTT implementation.However, I am facing difficulties installing this package properly in STM32CubeIDE.The Issue: I went to Help > Manage Embedded Software Packages > STMicroelectronics tab and clicked "Refresh", but the X-CUBE-CELLULAR package does not appear in the list to be installed.What I have done so far:I searched the Package Manager extensively, but it is missing.I have downloaded the .zip file of the package (v6.0.0) directly from the ST website.I tried to use the "Install from Local" option in the Package Manager with this zip file, but it failed (likely because it is not formatted as a pack).Since the automatic installation is not available, what is the correct step-by-step procedure to manually install or integrate the X-CUBE-CELLULAR package into my STM32CubeIDE workspace?I want to ensure
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.