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 currently working with the STEVAL-25R3916B kit and using the ST25R3916 GUI to tune the antenna. My goal is to achieve a target amplitude of 2600 mV or higher, but the system remains around 2 V even when 5 V is selected for RF power on the reader expansion board.I’ve noticed that the amplitude displayed in the GUI is significantly lower than the target value after performing antenna tuning, and the parameter AAT_B reaches its maximum limit of 255.Here are the outputs and screen copies.-Startup TabST25R3916 Reader Board Detected.. 'ST25R3916-DISCO (MB) v1.4.3' FW=1.4.3 Chip variant ST25R3916B
Hi,i have new design that i am migrating to the STM32G071 and having issues with the SPI1 port PB3,PB4,PB5. Changing CPOL and or CPHA during init code do not seem to have any impact, when powered down and restarted.I am seeing 9 clock pulses when set to 8 bit data. Suspect this might be issues with the overall SPI setup.the init code is simple changed to the absolute simplest format.ignoring setting the PB3,4,5 GPIO pins as they are good i can see the signals on the cro// bidirectional mode full 2 lineSPI1->CR1&=~SPI_CR1_BIDIMODE;// set as masterSPI1->CR1|=SPI_CR1_MSTR;// CPOL clock idle lowSPI1->CR1&=~SPI_CR1_CPOL;// CPHA rising clock edgeSPI1->CR1&=~SPI_CR1_CPHA;// set LSBFIRST low we send MSB firstSPI1->CR1&=~SPI_CR1_LSBFIRST;// set up SSM pinSPI1->CR1&=~SPI_CR1_SSM;SPI1->CR1&=~SPI_CR1_SSI;// configure data size 8 bitsSPI1->CR2|=(SPI_CR2_DS_2|SPI_CR2_DS_1|SPI_CR2_DS_0);// set the reception thresholdSPI1->CR2|=SPI_CR2_FRXT
下面是我的部分函数,普通串口按照这个配置,是可以正常进入回调函数,但是LPuart却不能进入回调函数,不知道问题出在哪里,使用stm32cubemx6.16.0,附件是ioc文件, Post Edited by ST moderator to apply source code formatting and translate from Chinese to English to comply with the community rule: Below are some of my functions. With this configuration, the standard serial port can enter the callback function normally, but LPuart cannot. I'm unsure where the issue lies. Using STM32CubeMX 6.16.0. The attached file is the I/O configuration file. void StartControlPowerTask(void const * argument) { /* USER CODE BEGIN StartControlPowerTask */ HAL_StatusTypeDef ret; __HAL_UART_ENABLE_IT(&hlpuart1, UART_IT_IDLE); __HAL_UART_CLEAR_IDLEFLAG(&hlpuart1); ret = HAL_UARTEx_ReceiveToIdle_DMA(&hlpuart1, rxl1_dma_buffer, RX_BUFFER_SIZE);//rs232 /* Infinite loop */ for(;;) { osDelay(1); } /* USER CODE END StartControlPowerTask */ } void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size) { if (huart->Instanc
Hi AllI have a question about the debugging the M4 when we are using OpenAMP Lets say we have a simple example from the docs , and i am creating debug config and i am expecting the code to be flashed and the communication to work (while debugging) but that is not the case. What is happening is the following , when debugging the code hangs on MX_OPENAMP_Init(RPMSG_REMOTE, NULL); and this is because the M4 is a slave and waits for the A7 to send a signal , but that is never happening because the A7 core is not aware of the debug. Is there a straightforward way to debug ? instead of attaching to a running target , restarting the M4 core etc.I cannot find anything on the internet Thank you
The X-NUCLEO IKS4A1 cannot operate correctly in MEMS Studio with the default sensor selection on the board. I have the nucleo f401re.
Hello,I am trying to get the VS-Code extension to work on my Intel-Mac. I already have it running on my Windows machine no problem.The problem is, that the extensions won't activate. I have created a new project using CubeMX and choose CMake as the toolchain. Then I installed the STM32 CLI tools, as well as cmake and the ARM compiler.Then I am opening the project in VS-Code and CMake asks for a target. I choose Debug.CMake extension output:[proc] Executing command: /usr/local/bin/cmake --version [proc] Executing command: /usr/local/bin/cmake -E capabilities [kit] Successfully loaded 2 kits from /Users/jan/.local/share/CMakeTools/cmake-tools-kits.json [presetController] Reading and validating the presets file "/Users/jan/Dev/fischer-technik-motor-controller/CMakePresets.json" [presetController] Successfully validated /Users/jan/Dev/fischer-technik-motor-controller/CMakePresets.json against presets schema [proc] Executing command: uname -s [presetController] Expanding presets file /Users
Hi, I'm trying out the VL53 series to try to measure the height of liquids in a container. In my use case, we are measuring sauce in sauce cups - ranch dressing, hot sauce, etc. One issue we have noticed is that with oil or oily sauces such as olive oil. The sensor is not responding with the correct depth measurement. The sauce can be 4-6 inches from the sensor. Looking at the documentation, there could be some cross talk issue, however we don't what sauce will be used. (The user can provide different sauces) - Do you have recommendations on how to get better results with this sensor?
If I am correct, the descriptions of - HRTIM_ADC2R - Bit 22 - HRTIM_ADC3R - Bit 19 - Bit 13 - HRTIM_ADC3R - Bit 22 - Bit 13 - Bit 10 - Bit 5 - Bit 4 - Bit 0are not correct in the RM.They all describe trigger event generation but the trigger output in all these seem wrong:E.g.: HRTIM_ADC2R, Bit 22,Original Text: "This bit enables the generation of an ADC trigger upon timer C reset and roll-over event, on ADC trigger 1 output."It should be: "This bit enables the generation of an ADC trigger upon timer C reset and roll-over event, on ADC trigger 2 output."Also, I want to ask, if this forum is the right place to give feedback on documentation issues?Best Simon
I am working with the following tool versions:MC Workbench: v5.4.8STM32 Firmware Package: v1.11.3STM32CubeMX: v5.6.1Since I don’t have the Bull Running C1700KV motor, I’m using a 900KV motor with a 6S battery. I’ve already run the profiler, obtained the motor results, and entered those parameters into MCSDK.My question is: Which additional parameters should I adjust to generate reliable firmware for this setup?
Hi!If I look at the datasheet of STM32WL31xx, I find Table 34. PA impedance which tells e.g. an optimum load impedance of 32 Ω // 16 nH in line 5 (high power, 868MHz) This STM32WL31xx is (according to the datasheet) available in VFQFPN32 and VFQFPN48 packages.-----Now, while reading the AN5457 (RF matching network design guide for STM32WL Series), I get confused. This AN should cover the whole STM32WL31 and STM32WL33 series , right? So It should definitely be valid for my STM32WL31K8 in VFQFPN32 pakage?Now to my questions:1.) If the AN5457 is applicable, why does PA matching impedance measurements in Appendix A not contain any PA impedance measurements for the VFQFPN32 package?2.) If I compare the datasheet PA load impedance given at the top of this post with the "next best" data of the UFQFPN48 package, the values are not anywhere near that of the values in the datasheet. Can anyone tell which impedance value I should use as a starting
The erroneous configuration in the tx_initialize_low_level.S is this: LDR r1, =0x40FF0000 // SysT, PnSV, Rsrv, DbgMThe tx_initialize_low_level.S file is generated upon selecting ThreadX 'Core' in the STM32CubeMX v6.15.0, and the above line is thereafter never changed. Specifically, upon enabling 'Enable BASEPRI support' and selecting a very common value of 5 for the TX_BASEPRI_VALUE, the above line is not updated accordingly. Not syncing the SYSTICK IRQ priority with the TX_BASE_PRI_VALUE of course leads to a system failure.This issue can be duplicated by creating a brand new project with STM32CubeMX v6.15.0 and it can be seen in the sample projects included in the Applications/ThreadX in the STM32Cube_FW_U5_V1.8.0
Hello, I'm having troubles building the two projects of the STM32 Nucleo WL55JC1 belonging to the LoRaWAN End Node DualCore Example under Linux (Ubuntu 24.04). It works on Windows 11, though.Until now I have all projects developed on Linux, this is my preferred OS. The single core version of the LoRaWAN End Node works perfectly under Linux.When I try to compile the project for the CM0PLUS, I get this error:arm-none-eabi-gcc -z max-page-size=1 -o "LoRaWAN_End_Node_DualCore_CM0PLUS.elf" @"objects.list" -mcpu=cortex-m0plus -T"/home/bgoedel/STM32Cube/Repository/STM32Cube_FW_WL_V1.3.1/Projects/NUCLEO-WL55JC/Applications/LoRaWAN_FUOTA_DualCore/LoRaWAN_End_Node_DualCore/STM32CubeIDE/CM0PLUS/STM32WL55JCIX_FLASH.ld" --specs=nosys.specs -Wl,-Map="LoRaWAN_End_Node_DualCore_CM0PLUS.map" -Wl,--gc-sections -static -L../../../../Linker_Common/STM32CubeIDE -L../../../../2_Images_SBSFU/STM32CubeIDE/CM0PLUS/Debug --specs=nano.specs -mfloat-abi=soft -mthumb -Wl,--start-group -lc -lm -Wl,--end-group
Dear ST Team,I am using an STM32H5 series microcontroller in my design and I am trying to understand the overall power consumption contributed by different MCU interfaces.So far, I have identified the following:The typical maximum current on VDD, in VOS0 condition with all peripherals enabled, at 85 °C, is approximately 118 mA (based on STM32H5 datasheet values).My Question:I tried to find similar information for the VDDIO supply pins.However, the datasheet only provides peripheral-wise consumption in µA/MHz, which appears to apply to low‑power (sleep) modes, not active RUN‑mode.I want to calculate the VDDIO current consumption for my specific design configuration.My active interfaces are:16‑bit SDRAM on FMC, operating at 166 MHzQSPI Flash memorySPI interfacesUART interfaces4 ADC channelsApproximately 50 GPIO pinsThe MCU is operating at 250 MHz (VOS0) in RUN mode.Thank you.Regards,Rajesh Matere
Hi all, I am trying to get a zephyr project running on an STM32N6570-DK, including Camera, NPU, VENC and Ethernet.I have been using STMCubeMX 6.16.1 to create the project based on the provided DK default settings.For the Ethernet block, the configurator shows pin conflicts, I double-checked and the pins are not in use by the Ethernet driver:There are similar warnings for the SD/MMC2 block:Am I missing something here or can it safely be ignored? Simon
Hello ST Community,I am currently designing a board based on the STM32WL55 and I am aiming to optimize the BOM by utilizing the MCU's internal programmable high-speed capacitors, avoiding external load capacitors for the 32 MHz HSE.I am referencing AN5646 ("How to select a 32 MHz HSE oscillator for STM32WL5x/Ex MCUs") to ensure correct implementation. The Application Note suggests inserting a series capacitor (C_SERIE) to enhance stability over temperature changes when using the internal capacitor bank.However, I am having trouble understanding the derivation of the formula provided in the document regarding the final Load Capacitance (CL) seen by the XTAL when this series capacitor is introduced.My specific question is:Intuitively, I would expect the total load capacitance to be the result of the series combination of the added C_SERIE and the equivalent capacitance usually seen by the crystal (which is the series combination of the internal caps, CL1 and CL2 plus stray capacitance C_
https://community.st.com/t5/others-stm32-mcus-related/ov7670-stm32f429-dcmi-dma-ili9341-spi-lcd-works-no-camera-image/td-p/864331#M9012 I am trying to display a camera image on an LCD using the STM32F429I-DISCO board, an OV7670 camera module, and an ILI9341 display.↑This is a follow-up to my previous post. However, the displayed image is extremely blurred, and it is difficult to recognize what is shown on the screen.What should I check or adjust to display the image clearly?
When using a USB CDC device, especially at high data rates, there is a possibility for packet loss. This post illustrates the issue with what I consider convincing evidence. This isn't a STM32 bug, but it's something you may encounter when interfacing with an STM32 device so I felt it is relevant here. As a bonus, this also shows the achievable speeds with USB FS CDC to be ~9.2 Mbps under ideal circumstances (fast, good code on both sides of the connection). Here's the setup to illustrate the issue: On the STM32, I'm initializing a USB FS CDC device (sometimes also called a VCP) and sending out packets as fast as possible. The bus speed of USB FS is 12 MHz. Buffers of 16 kB are sent which contain increasing uint64_t values (e.g. 0x0000000000000000 0x0000000000000001, etc...) When one buffer finishes, the next one is sent out. (I used STM32CubeMX to do the initialization code and it worked perfectly.) On the PC side, I'm opening the serial port in Python and reading data
Hello,At my workplace, we have purchased two STM32N6570-DK boards to implement our computer vision models. We are currently trying to implement the "st_yolo_x_nano 480x480x3" model from the ModelZoo. We followed these two links, strictly respecting the versions indicated for both STM32CubeIDE and STEdge: How to run AI models from Model Zoo on STM32N6 Introduction to Edge AI on STM32N6 (This second link uses STEdge 2.2, as per the reference). The Issue: Every time I attempt to debug, the same thing happens: the program enters a HardFault_Handler(). This occurs due to an invalid/null pointer error returned by the function LL_ATON_Output_Buffers_Info() in buffers_info[0].scale. The error happens specifically when it reaches line 36 of the code. According to the debugger, it cannot access memory at address 0x0. Technical Details:Configuration: The app_Config.h file being used is the one provided in the ModelZoo. /** *******************************
Good evening, now that I can ping my F767ZI board with my laptop, I'm trying to use some tutorials on the web to be able to send data (numbers or message strings) to a server (Hercules software set as a TCP server), but I'm having some difficulties (I don't know whether to use semaphores or timers as interrupts, and for semaphores, it's not entirely clear to me how to use them). I'm wondering if there's a short guide for my board that can give me a starting point. I'm using CUBE IDE V1.18.1. I tried starting from the project that allows me to ping my board, but as soon as I try to make some changes, the ping no longer works, and the timer set as an event interrupt doesn't work anymore, so I would need a tutorial as an example (the tutorial I followed successfully had a UDP library, but now I'll have to use the TCP libraries I already have, but I'm having some difficulties). Here below the code that I used for start point and that is give to me the way to ping my board succesflul
Dear ST Community Team,I am working on a project using the STM32N657X0H3Q1 MCU with TouchGFX for GUI development.After configuring TouchGFX and generating the code, I am encountering RAM and ROM overflow errors during the build/link stage.Hardware configuration:MCU: STM32N657X0H3Q1External RAM: S80KS5123GABHB020External Flash: S28HS512TGABHM0100Both the external RAM and external Flash are connected externally on the board and are intended to be used for the TouchGFX application.Issue description:After TouchGFX configuration and code generation, the linker reports errors such as:Internal RAM overflow (data/bss/heap/stack)Internal Flash (ROM) overflow due to TouchGFX assetsIt appears that TouchGFX frame buffers, heap, or graphic assets are still being placed in internal RAM/Flash, instead of using the available external RAM and external Flash.Questions / support needed:How should external RAM (S80KS5123GABHB020) be configured so that:TouchGFX frame buffersHeap and large buffer are alloca
Hi, In the STM32WL5MOC datasheet I can find the 32MHz TXCO HSE accurancy, but not the LSE 32kHz RTC clock accuracy. Could someone look into this and provide the min/max values similar to TXCO characteristics in Table 10? Best Regards,Dave
Installing STM32CubeMx on OpenSuse Tumbleweed using/st-stm32cubeide_1.1.0_4551_20191014_1140_amd64.rpm_bundle.sis missing libusbxsudo ./st-stm32cubeide_1.1.0_4551_20191014_1140_amd64.rpm_bundle.sh [sudo] Passwort für root: Creating directory st-stm32cubeide_1.1.0_4551_20191014_1140_amd64.rpm_bundle.sh.root Verifying archive integrity... All good. Uncompressing STM32CubeIDE installer 100% Verifying... ################################# [100%] Preparing... ################################# [100%] package segger-jlink-udev-rules-6.44c-4.noarch is already installed error: Failed dependencies: libusbx >= 1.0 is needed by st-stlink-server-1.2.0-3.amd64 Verifying... ################################# [100%] Preparing... ################################# [100%] package st-stlink-udev-rules-1.0.2-2.noarch is already installed error: Failed dependencies: st-stlink-server is needed by st-stm32cubeide_1.1.0-1.1.0-4551_20191014_1140.x86_64libusbx is not available for OpenSuse. On https://so
Hi everyone,I am currently trying to measure the CPU temperature using the internal temperature sensor of an STM32F733.I am testing the device inside a climate chamber (oven) to verify the readings. I am fully aware that the datasheet states the sensor is more suitable for detecting temperature variations rather than absolute measurements. However, the values I am getting seem to have a significantly larger offset/gain error than expected.The Setup:MCU: STM32F733Method: To rule out self-heating of the die, the device is kept powered OFF inside the oven until the target ambient temperature is reached and stabilized. I then power it on and immediately take the ADC measurement.Vref+: Connected to external reference voltage (2.048V).The Observations:Oven at 60°C -> MCU calculates 68°COven at 80°C -> MCU calculates >90°CMy Question:Is an error of this magnitude (>10°C at higher temperatures) considered "normal" for the internal sensor of the F7 series, even when using the factor
Hi,I am looking to use the STM6710DWB6F as a quad-channel voltage supervisor, specifically for 3.3V, 5V, 6V and 12V rails. The datasheet specifies V1IN = 5V, V2IN = 3.3V, V3IN = 1.8V, and V4IN = adjustable. It seems obvious use V1IN and V2IN directly, while feeding either 6V or 12V through a voltage divider to provide 1.8V into V3IN. However, I am uncertain how to use V4IN to monitor the remaining voltage. The datasheet states a typical threshold voltage of 0.62V at this pin and to use a resistor divider to modify this value. However, will this affect V1IN-V3IN? Any help in understanding V4IN and the effects of setting threshold voltages would be greatly appreciated.Thanks,Brendon
I was making a project with CUBE IDE and compiling it on the board, and I got this error while compiling the project I was doing on the new board.No source is available for "Call Signal Handler"() in 0xfffffffe.I'm sure they're using the same CPUI can't compile it because it's STM32 ST-LINKI don't think there will be any problems with the code or MX settings because if I modify the code on the existing board, the project will also change well.Even if I create a new project and add the above code, I get the same error, so I can't compile itI want to solve this phenomenon, how do I solve it? int main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MPU Configuration--------------------------------------------------------*/ MPU_Config(); /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ /* USER CODE EN
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.