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 :My project use physical buttons and no touch screen.Can I bind physical buttons to repeat buttons? So I don't have to realise it myself.
Hello, I have come across an issue with the RTC in my project. In my project I am using the following:- MCU:- STM32H743IIT6 IDE version:- 1.19.0 SDK version:- 1.12.1 I will discuss the issue here, I wrote a program that uses the RTC and print the current time and I tested it straight for 72 hours, what I noticed since the second day that there was a constant drift in time, which kept on changing, and on the last day I observed that there was a total drift of 13 seconds since I started the test. This drift is really concerning for the product that we have made, and that product is already out for field operations. This issue was earlier reported and a ticket was created on ST's online support forum the ticket id is 00255958. They replied to the issue that was reported and asked us to perform the test that I described above, and report this issue over here at ST Community. Please do reply to this message if anyone has any solution for this issue. It is a matter of urgency I a
I created a GUI with TouchGFX, enabled UART and created a custom task in freeRTOS in STMCubeMX. When running the code the display is just blank when I add this code inside of my custom taskif(xQueueReceive(queueHandle, &message, 0) == pdPASS) { printf("Message received"); }If I comment this code out the gui displays. However, I found something interesting that if I debug and set a breakpoint at the for(;;) loop statement on line 729 in main in the UART_Task and another breakpoint on the print message and then press play to continue, the GUI displays and when I tap a button on my GUI I get to the breakpoint on the printf message which is exactly what I'm trying to do and it works perfectly. I'm not sure why it works when I first breakpoint there, but won't work just loading the program onto the board. Here is the main code/* USER CODE BEGIN Header */ /** ****************************************************************************** * @file : main.c * @bri
I have a NUCLEO-F103RB (MB1136 rev C05). My goal is to remove the ST-LINK and power via a hat supplying 3.3v. For the 3.3v I have: Moved JP5 to pins 2-3. Checked JP1 is removed. Removed SB2 zero ohm resistor. Removed SB12 zero ohm resistor. Verified my shield is putting out a good 3.3v which is attached to connector CN7 pin 16. For the HSE I have: Removed SB54 and SB55. Soldered zero ohm resistors to R35 and R37. Soldered 20pf capacitors to C33 and C34. Removed SB16. Removed SB50. Added 8Mhz 16pf crystal X3. The ST-LINK is still physically attached at the moment, but I do plan to cut it off once things are working. The board comes up and accepts programming and works in the debugger. Stepping through the initialization it gets to where the HSE is set up and then sits in an infinite loop waiting for the HSE to come ready. I tried replacing the crystal X3 just in case I got a bad one but there was no change in behavior. The clock config is unchanged, other than setting HSE to "crysta
HI, I'm capturing image as RGB565 using camera over DCMI on DMA. Capturing is complete and data is available. Now I need it to convert into JPEG format. But, the JPEG in/out DMA is not working. Any help will be appreciated. snippet: MX_DCMIQueue_Config(); HAL_DMAEx_List_LinkQ(&handle_GPDMA1_Channel12, &DCMIQueue); __HAL_LINKDMA(&hdcmi, DMA_Handle, handle_GPDMA1_Channel12); MX_JPEGInQueue_Config(); HAL_DMAEx_List_LinkQ(&handle_GPDMA1_Channel13, &JPEGInQueue); __HAL_LINKDMA(&hjpeg, hdmain, handle_GPDMA1_Channel13); MX_JPEGOutQueue_Config(); HAL_DMAEx_List_LinkQ(&handle_GPDMA1_Channel14, &JPEGOutQueue); __HAL_LINKDMA(&hjpeg, hdmaout, handle_GPDMA1_Channel14); Thatnks-Shubhendu Using following:1. STM32CubeIDE, Version: 1.16.12. MCU: STM32U5G9BJYXQ3. Camera: OV7725 @devjeet-adben
Please use English on this forum.Translated: The development board is STM32H723, using stm32cubemx for development, debug is disabled, using stlink to burn found that it can be burned, and it can also be debugged, which is very strange! (The development board is STM32H723.) It was developed using STM32CUBEMX. The debugging option is set to "Disabled". Programming with stlink, discovering that it can be programmed and debugged. It's weird! )Original:开发板为STM32H723,使用stm32cubemx进行开发,debug勾选禁用,使用stlink烧录发现可以烧录,并且还可以调试,非常奇怪!(开发板是STM32H723。它是使用stm32cubemx开发的。调试选项设置为“禁用”。使用stlink进行编程,发现可以编程,也可以调试。这很奇怪!)
Hey,i didnot find any AFR4 in option byte to set PB4-SCL and PB5-SDA of STM8s003F3. Can st will help how to enable it for I2c hardware peripheral.?
Hi guys,I am a newbie in STM world. I am struggling with a small code but failing every attempt modifying the code googling for several times. Please have a look to my code. I have defined three functions, i.e. inv_on(), inv_off(), and sw_state(). When these functions are called in other defined functions, two errors, i.e. missing ')' and missing ';' are showing against each called functions. But when called in main(), one error i.e. missing ')' is showing. The error messages are given as comment. Suggestion is solicited please. Regardsankhola #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; @far @interrupt void TIM2_UPD_OVF_IRQHandler(void) { // 1. Clear the Interrupt Pending Bit if (TIM2->SR1 & TIM2_SR1_UIF) { if (toggle == 0) { TIM1_SetC
Hi,I am currently developing a small application with a STM32U5 where I write a few bytes into flash using HAL_FLASH_Program(). All seems to work fine. Except I can only read the data back after I do a reset. I suspect that DCACHE is playing a trick on me? But I am not sure how to invalidate the DCache (preferably only for a small section)SCB_InvalidateDCache();Seems to have some problems on the STM32U5? At least, I was unable to include the prober h-file w/o getting tons of errors. What is the new strategy for cache invalidation? Thanks,Juergen
I am facing an issue in STM32CubeIDE on Windows where the I/O Configuration / Pinout & Configuration window is not appearing after creating or opening a project.Normally, when opening the .ioc file, the Device Configuration Tool (CubeMX interface) should open showing the MCU pin diagram and peripheral configuration options. However, in my case, this interface is not appearing.Issue Details:Operating System: WindowsSoftware: STM32CubeIDEWhen I create or open an STM32 project, the Pinout & Configuration view does not open.The .ioc file either does not open correctly or the graphical configuration window is missing.Because of this, I cannot configure GPIO, ADC, UART, or other peripherals.Expected Behavior:Opening the .ioc file should display:Pinout & ConfigurationClock ConfigurationProject Managerwith the MCU pin diagram and peripheral configuration options.What I Have Tried:Opening the .ioc file manually from Project Explorer.Restarting STM32CubeIDE.Resetting the perspective.
Hi,I am using the STMH745 MCU and trying to synchronize the ADC trigger to HRTIM. For HRTIM I set the "ADC Trigger Configuration" as given in figure HRTIM.jpg - it defines only a SINGLE trigger. However, in ADC configuration (figure ADC.jpg), TWO HRTIM trigger outs are visible.Can anyone explain the relation between these two option sets? How to correctly synchronize the ADC trigger to the given value value of a HRTIM timer?Thanks!
Hi all,I'm trying to get a USB Gadget device working in Linux on the STM32MP257F-DK board to expose a Mass Storage device to another system. I'm trying to use CN15 for this function but I can't get the bound gadget to show up on the other side of the USB connection.I'm using a fork of github.com/STMicroelectronics/linux?branch=v6.6-stm32mp where I've modified the usb3dr node of the dk.dts file with the following things:1. 836 &usb3dr { 837 status = "okay"; 838 839 dwc3: usb@48300000 { 840 phys = <&usb2_phy2>, <&combophy PHY_TYPE_USB3>; 841 phy-names = "usb2-phy", "usb3-phy"; 842 usb-role-switch; 843 dr_mode = "peripheral"; 844 port { 845 dwc3_ep: endpoint { 846 remote-endpoint = <&typec_ep>; 847 }; 848 }; 849 }; 850 };2. 840 - phys = <&usb2_phy2>, <&combophy PHY_TYPE_USB3>; 841 - phy-names = "usb2-phy", "usb3-phy"; 842 840 usb-role-switch; 843 - dr_mode = "peripheral"; 841 + role-switch-default-mod
Any way how can I get in touch with ST on availability on this product? We would like to implement this into our devices, a devkit or hardware preview would help, we had previously integrated with the VL53L8 and VL53L5 which the result are good, and with the release of VL53L9, it will produce even better result for 3D mapping. ThanksVince
Hi, I'm using a STM32MPU157C with linux 6.6, uboot, OP-TEE 4.0 and TF-A 2.10 and I have a Device Tree (for linux and uboot) which declares the USB OTG node as following : &usbotg_hs { compatible = "st,stm32mp15-fsotg", "snps,dwc2"; pinctrl-names = "default"; dr_mode = "host"; pinctrl-0 = <&usbotg_hs_pins &usbotg_fs_dp_dm_pins>; vbus-supply = <&vbus_sw>; /delete-property/ wakeup-source; }; usbotg_hs_pins: usbotg-hs-0 { pins { pinmux = <STM32_PINMUX('A', 10, ANALOG)>; /* OTG_ID */ }; }; usbotg_fs_dp_dm_pins: usbotg-fs-dp-dm-0 { pins { pinmux = <STM32_PINMUX('A', 11, ANALOG)>, /* OTG_FS_DM */ <STM32_PINMUX('A', 12, ANALOG)>; /* OTG_FS_DP */ }; };I explicitly use it in FS as a Host and remove the wakeup-source declared by the stm32mpu151.dtsi.My problem is that I can see that when entering in suspend, there is a difference of ~4-5mW in power consumption depending on if the USB node is enabled or not in the device t
Hello, I’m having a problem with a board I’m developing based on the STM32H747BIT6. The issue is related to SPI communication. When I connect any device to the SPI bus, the signal level drops from 3.3 V to around 1.5 V. I have tested different SPI peripherals, but they all show the same behavior. Could this be related to the drive strength or power capability of a specific pin?
Hello everyone,I am trying to establish IO-Link communication between the P-NUCLEO-IOM01M1 (STEVAL-IOM001V1 + NUCLEO-F446RE) and an external IO-Link sensor, the Wenglor P3PC012 (COM3, 230.4 kbaud), using the STSW-IOM001 firmware.Hardware setup:STEVAL-IOM001V1 powered with 24V on CN1Sensor connected on CN3: L+ on pin 1, GND on pin 3, CQ on pin 4NUCLEO-F446RE connected via USB to PCWhat works so far:I2C communication with L6360 confirmed working (LED1/LED2 registers write correctly, LEDs blink as expected)L+ enable working correctlyConfiguration register writable (CQ Push-Pull mode)What I am trying to do:Read process data (distance measurement) from the sensorAny advice or working example code would be greatly appreciated. Thank you.
Hi,When I worked on the Discovery kit with STM32F769NI MCU it supported in the STM32CubeIDE/MX the LWIP package (from 2025) with FreeRTOS/V1. Now when I pass my project to NUCLEO-H563ZI I see in the TM32CubeIDE/MX that ST will not support the LWIP with FreeRTOS anymore. FreeRTOS is only v2 in this board.Is someone integrete the LWIP package on NUCLEO-H563ZI with FreeRTOS/v2? The code main files that should be changed from STM32F769NI to NUCLEO-H563ZI are LWIP/App/lwip.c, LWIP/Target/ethernetif.c/h, LWIP/Target/lwipopts.h, main.c.Is there any project in git that have done this miggration for LWIP package (code from 2025) and using FreeRTOS/v2 in it's LWIP package? Or share with me those 4 LWIP files for NUCLEO-H563ZI board. Thanks.
Hi everyone,I just started developing software for a new project containing on of the STM32L4P5 series microcontrollers. Therefore I bought the NUCELO-L4P5ZG starter-kit to get used to the IDE, HAL and so on. I use the STM32CubeMX IDE (Version 6.16.1) to configure the board and generate the basic initialization sources. Further code writing is done in STM32CubeIDE (Version: 2.1.1).For the beginning I configured three GPIO pins for the LEDs on the board and the LPUART for simple data transfer to terminal on host computer. For the transmission I want to use DMA . After generating the code with CubeMX and implementing some simple blink logic for the LEDs, I added the line HAL_UART_Transmit_DMA(&hlpuart1, buffer, 14); to the main loop. I debugged the code and saw that the code ran into the infinite loop in the DefaultHandler in the startup file startup_stm32l4p5zgtx.s: After searching for two and a half hour I finally found the problem: the generated names for the interrupt h
Hi Everyone,I have been using SPC563M64L7 MCU Discovery board and created simple application utilizing PIT with two channels , which interrupts with 1Hz and 10Hz frequency.The following main.c code toggles LED1 for Channel1 with 1Hz frequency and LED2 for Channel2 with 10Hz frequency (by using callbacks of two channels) . While this works well (according to logic) with Load in RAM (Boot Mode) it does not work with Execute from Flash (Boot Mode).Does anyone know any root cause of this ? What I should be investigating ? Regards,Mirek
Hi, I am trying to develop a capacitive liquid level detector with the STM8L152 adapting an example of the STMTouch Library.It is fine to detect if there is water or not inside a container. But when I try it in my final solution, that is to detect the presence of battery liquid inside a battery container, it does not able to differenciate the presence of the liquid. The reason is that there are metalic plates inside the battery container and I believe that the plates are blinding the capacity of the sensor to detect the liquid.Do you know if there is any fine-tuning that I can use to help the application differentiate the the liquid from the metalic plates?Thank you,Rodrigo
See Inconsistent pin naming for CubeMX - does the same apply to CubeMX2 ? (Cross-posting at the request of @Ghofrane GSOURI; again, no label available for "Suggestions")
Hi all, I have a small issue with the STM32N6570-DK board and the VENC_SDCard example code. The PN12 pin has a voltage of 0V (card inserted) or 1.80V (no card inserted); on the MCU side, the GPION data register (IDR) always shows a logic 0 in both situations. The VENC_SDCard / VENC_SDCard_ThreadX example code basically jumps over SD Card detection as it assumes a logic level of 0 == card present. If there is no card, mounting fails and aborts further processing. I have the requirement to react to card inserts / removals, so I'd like to trigger an interrupt or at least be able to read a logic high once in a while but could not find out what exactly is missing in the code. * I tested with an empty CubeMX project and set this PN12 to input; here I do see logic level changes. * I susptected the VDDIO voltage domains to be at 3V3 for that block and manually switched VDDIO_SD to be at 1V8, but that did not show a change as well * I did not fiddle with security bit settings... may
Hi. I want to use the A HRTIM timer to independently control two MOSFETs. Namely, I have a transformer with the midpoint connected to the positive pole of the power supply, and these two transistors switch the 2 halves of the winding as lower switches to generate 2 half-waves of a sine wave.But I can't configure it in STN32CubeMX for the second output the condition for set. STN32CubeMX "Set Sources: nothing to set as Dead Time is enabled, Output2 signal is defined based on Output1 Configuration Set Sources must be 0." although the channels are configured as independent. Moreover, before the update there was no such problem. Now STM32CubeF3 Firmware Package V1.11.5Why the problem?
We are currently evaluating the following STMicroelectronics IC for our application:SPV1040TTRAs part of our reliability and performance assessment, we kindly request your support in providing:Temperature vs. efficiency curves across the specified operating temperature rangeMTBF (Mean Time Between Failures) data or estimated MTBF hours for the above-mentioned ICs
Hi,Greeting!I am working on the STM32MP135F-DK board and trying to interface a 4x5 matrix keypad using GPIOs.I configured the keypad as follows:Columns (C1–C5):C1 → PE1 (Pin 37)C2 → PF11 (Pin 35)C3 → PF9 (Pin 33)C4 → PD13 (Pin 31)C5 → PE6 (Pin 29)Rows (R1–R4):R1 → PA0 (Pin 40)R2 → PA5 (Pin 38)R3 → PA7 (Pin 36)R4 → PE5 (Pin 32)After modifying the device tree and flashing the updated .dtb, I observe the following issues:The display becomes glitchy.The boot logo appears corrupted.The system becomes unresponsive after boot.Recovery is only possible after reflashing the starter package using STM32CubeProgrammer.From my analysis:Manual GPIO control seems to work correctly.The matrix_keypad driver is loaded not properly.matrix_keypad 20480 0 matrix_keymap 12288 1 matrix_keypadI suspect this might be related to incorrect GPIO or pinmux configuration, possibly causing a conflict with other peripherals (e.g., display).Could you please help identify:The root cause of this issue?Whether these GPIO
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.