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
When I run build in a VSCode Dev Container with STM32CubeIDE installed, the build fails and i receive an error stating arm-none-eabi-gcc and arm-none-eabi-g++ was not found in the PATH. The compilers are installed, I see them inside the bundles folder (under /root/.local/share/stm32cube/bundles/), the extension is just not picking them up.This was previously working in a separate container but I can't seem to replicate it.
I am starting use of UM3029 Rev 3 (STM32C0 HAL drivers) and trying ensure I use HAL_SYSCONFIG_SetPinBinding properly (important because the 6 usable IO pins are multiply bonded to device peripheral pads.)I am working with STM32C011J6 (SO8 package) and am using STM32CubeMX and HAL to create example device support code (i.e., drivers.)UM3029 Rev 3 section 6 (HAL System Driver) takes me to section 6.2.1 (HAL Bind Pin Config) which has a listing for some device package/pin assignments for GPIO (my current task is to get a pin working as GPIO input), however, the list does not include any defines for SO8 package. The instruction I'm currently trying to verify (generated by STM32CubeMX for my project) is HAL_SYSCFG_SetPinBinding(HAL_BIND_SO8_PIN5_PA8), but there are others and I'd like to fully understand the utility of this function and it's arguments.I looked in UM3029 Rev 3 for a listing of allowed arguments to SetPinBinding for C0 series SO8 package in UM3029 and came up empty hande
I ordered one of these evaluation boards (https://estore.st.com/en/steval-mic003v1-cpn.html) and by the time I got it and went back to check the documentation now this microphone, and all other MEMS mics, are listed as "Not Recommended for New Design". Couldn't find anything about these being discontinued on the news section of ST's website so I'm asking here if this is a website glitch or should I look for a different source? And if the latter, does anyone have a good line on something comparable to replace these in a design? https://estore.st.com/en/imp34dt05tr-cpn.html
Hi,Few days ago i've encountered a strange behavior of the comparator at STM32G4. I investigated the problem under controlled conditions (used Nuclo kit instead application PCB) and the result is startling.Comparator 4 configured to get positive input from pin PB0, negative from DAC1 Channel 1 (set to 500mV).Hysteresis set to maximum (70mV)DAC output is not connected to external pin (only internal connection)Input signal is 50Hz sinewave with 400mV amplitude and 600mV offset (to reliably cross 500mV thresholds +- hysteresis)Enabled Comparator 4 rising edge interrupt.Interrupt routine simply generates fixed length pulse.On blue scope trace you can see clean input signal (scope input AC coupled), it certainly does not contain noise that would be close to hysteresis value (more detail at last screen).On Red trace is application output. You can see that many times interrupt fires also on falling edge, or fires multiple times on tha same rising edge. It looks like that comparator works with
Hi, I am using the LSM6DSV16BX IMU on a project where I need the Game Rotation data.I used the Github examples as a base, and reading the Game Rotation values works well and I am able to save the quaternion data in a file. I wrote a little script that takes the Game Rotation quaternion values and applies the orientation to an object, to mimic what is possible in Unico GUI with STEVAL-MKI234, however I do not get the same performance with my custom board. For instance, I sometimes get some weird rotations around two axis even though I rotate the device around a single axis. See video:I was wondering if any special setup was required to achieve this kind of performance ? Is there any calibration that can be made ?I configure the Accelerometer and gyroscope to 960Hz, but batch samples of Accelerometer, Gyrometer and Game Rotation data at 120Hz in FIFO. I realize this is not much information to try and help me, I am more than happy to provide more detailed information if needed,
Hi all,I am working on firmware that involves SPI communication using a Nucleo board (Nucleo-L4R5ZI-P) with an STM32L4ZIT6 microcontroller.I am trying to establish communication with an SPI slave device. The chip select (NSS) signal is expected to be controlled by hardware, so I enabled the hardware chip-select configuration as shown below.(screenshots attached)When I switch to software control, I am able to read from and write to the slave registers by manually toggling the chip-select pin in software. However, when I change the mode to SPI_NSS_HARD_OUTPUT, the SPI read/write communication stops working.What could be the issue?
Hi,I am unable to flash or erase two of my STM32G030F6P6 boards. The issue started after I tried to configure the PA14 pin as GPIO_EXTI14 in CubeMX. (on two boards)After flashing the binary I was not able flash the MCU anymore. I get the error "Error in initializing ST-LINK device.".In STM32CubeProgrammer I get the error "No STM32 target found! If your product embeds Debug Authetication, please perform a discovery using Debug Authentication" when pressing "Connect" (I have no debug Authentication enabled).Then I tried enabling RST while pressing "Connect" in CubeProgrammer. I am then able to connect. But if I try to erase the flash (Full Chip Erase) I get the error "Error: Mass erase operation failed. Please verify flash protection". I have no flash protection enabled.I am on Linux using VSCode for development.Any suggestions?
Hi does anybody know how to locate the nRST, pin on a GT2p, control board? When I connect st link it says UR connection needs SWrst which says I need to find the nRST, pin. to connect another wire that goes from St link, v2, cloneto the nRST, pin or button on the GT2p, control board. I can take a picture of what the PCB, looks like in about an hour? Thanks
Hello,In a seperate post I received help allowing my B-G431-ESC1 to accept PWM input from an ESP32 to vary the speed of a 24V hoverboard motor with hall sensors using FOC.My goal now is to be able to vary the direction of the motor's rotation by varying the PWM.Given that the acceptable range of values is 1060us to 1860us, I had hoped to be able to do this by having values 1060us to 1460us correspond to rotation in one direction, and the values from 1460us to 1860us correspond to rotation in the opposite direction.I was unsure of any official documentation on bidirectional control, but i noticed that when using the motor pilot to manually set speeds, I was able to set the speed reference to be both positive and negative. I found a github with a guide on how to implement bidirectional control and after following the steps it mentioned, I found that when the motor driver was viewed on the motor pilot, the speed reference did indeed switch between positive and negative values with th
Hello;I want to create Ac induction motor project. So I cannot find ACIM GUI or ACIM profile in MC Workbench any versions. Could you please give an answer for my questions1. Can i download ACIM GUI ?2. Can i find a acim profile for mc workbench 3. How do i put Acim Selni Ahv 242 to my project Regards Motor Workbench 6.2.1Stm32cubemx 6.10.0Control board: NUCLEO-G431RBPower Board: STEVAL-IPM30B
Hi, I am trying to reset HRTIM on an external event using TIM1 TRGO as a reset event. I am trying to make a single pulse every 200ms (5Hz) because I want to make a single puls test. However, I also need a high resolution so I can vary the on time and blanking time precisely, which is way I want to use the HRTIM. I have trouble getting the HRTIM to reset however, and I dont understand why. I am running the clock at 100Mhz and have set the TIM1 PSC to 9999 and ARR to 19999 to get the 5hz. I have also enabled the MSM(master/slave mode) and set the TRGO to RESET. In the HRTIM I have enabled EEV1 as source 3(TIM1_TRGO). Timer A is configured as a retriggerable single-shot mode where the reset trigger source is set so the timer counter reset is upon EEV1. The HRTIM clock is divided by 4 and the period is 50000. And I have compare unit 1 set as 49000 and compare unit 2 as 49500. The output polarity is set to active low and set and source selection is CMP1 and CMP2 respectively. Late
None of the beginner's tutorials work anymore because of the removal of STM32cubeMX from the IDE. Please send me a link to one that will work. I have seen some work arounds to solve this but for a beginner they are too complicated.
In RM0316 rev.10, in Table 109. COMP register map and reset values, bit 1 of COMP2_CSR is marked COMP2_INP_DAC, whereas the STM32F303 are not supposed to have this bit (only STM32F301/302x6/8 do) - probably a copy/paste artefact/relict.Can ST please check/remove.JW
Edited by a ST moderator to be comliant with the ST community rules. In next time please use </> button to paste your code. Please review How to insert source code. Hi, I have a video application using F767 with LWIP and without RTOS. The custmized board has an SDRAM of 512MB. When receiving data, the pbuf.len is always 1460 bytes while the other side sends 40KB each time. Comparing to the data transfer rate can reach over 20Mbit/s, it's extremely slow in a video application, there must be fundamental issues in buffer configuration in my application. The options in lwipopts.h that I think they would be relevant to the data transfer rate are: #define MEM_ALIGNMENT 4 #define MEM_SIZE (30*1024) #define MEMP_NUM_PBUF 25 #define MEMP_NUM_UDP_PCB 4 #define MEMP_NUM_TCP_PCB 4 #define MEMP_NUM_TCP_PCB_LISTEN 2 #define MEMP_NUM_TCP_SEG 150 #define MEMP_NUM_SYS_TIMEOUT 6 #define PBUF_POOL_SIZE 20 #define PBUF_POOL_BUFSIZE LWIP_MEM_ALIGN_SIZE(TCP_MSS+40+PBUF_LINK_ENCAPSULATION_HLEN
Hi Team,Does STM32MP257F-DK supports OpenSTDroidIf supports where can i find the starter package for this Discovery board.
Hello,I've been trying to get the 67W61M1 board working with a NUCLEO-H7A3ZI-Q and the SPI has been giving me issues. I got the module flashed to 2.0.89 with mission_t01 and I'm trying to use the WiFi Commissioning application in CubeMX. The SPI seems to be out of sync, despite any configuration I provide in CubeMX. Below is what I'm seeing in a logic analyzer. It's using a 17.5 MBits/s baud rate right now since that's the closest to synced it has gotten. Is there any special configuration beyond what is in the documentation needed for the DMA or SPI with this MCU?
Today I started STM32CubeIDE again, was notified that an update is due, installed the update (2.0.0). Got an error alert "Computing 'size'", and the Info startup said "URL not found". Anyway, ignored this, started to build my project again. I added ADC1 (before I did the update), but didn't compile that with the old version of Cube. Now the first compile under the new version fails, saying :../Drivers/STM32H5xx_HAL_Driver/Inc/stm32h5xx_hal_adc.h:1981:67: note: expected 'const ADC_HandleTypeDef *' but argument is of type 'ADC_HandleTypeDef' 1981 | uint32_t HAL_ADC_GetValue(const ADC_HandleTypeDef *hadc); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
Hello Team, Query related to VBAT. Please refer below capture and provide your feedback for VBAT. Diode D1 and other components are, ok? Thanks & Regards,Jignesh Karena
Hello,I’m using an STM32WBA65 and trying to communicate with a peripheral (PTX30W) over I2C1.The peripheral requires the following I²C sequence: START → WRITE → REPEATED START → READ → STOP However, using HAL_I2C_Master_Transmit() followed by HAL_I2C_Master_Receive() does not work, because both HAL functions generate a STOP condition, and the PTX30W does not accept a STOP between the write and read phases.On STM32WBA, I don’t see a HAL equivalent of HAL_I2C_Master_TransmitReceive() that would allow a repeated START without a STOP in between.My questions are:Is there a way to achieve a WRITE + REPEATED START + READ sequence using the HAL on STM32WBA?Or is the correct approach to switch to the LL (Low Layer) I2C driver to get finer control over START/STOP conditions?Any guidance or best practices for this use case would be appreciated.Thanks in advance.here is the i2c protocol :
I hope you are well. I am working at C-DAC Bangalore, and I need guidance on using an ST-SAFE(STPM4RasPI) secure element / TPM module with a Python-based MQTT mTLS client on a Raspberry Pi. A short summary of our setup and goal: MQTT broker is already configured for mutual TLS (mTLS). Client device: Raspberry Pi . Goal: build a Python-based MQTT client that uses the private key stored inside the ST TPM/STSAFE module during the TLS handshake (so the private key never leaves the secure element). Specifically, we would like to know: Supported approaches / APIs: Which approaches or libraries do you recommend to make a Python TLS client use the TPM-held private key? (For example: ST library/SDK, or other middleware.) Python ecosystem support: Are there recommended Python libraries or examples for MQTT clients (e.g., paho-mqtt or other clients) that can be configured to use a TPM-backed key for TLS? We would greatly appreciate sample code snippets or a
I am currently using STM32G0B1. I found that when using an active crystal oscillator, the STM32 fails to recognize my crystal oscillator, resulting in the HSERDY bit not being set.This is the configuration of my cubemx.Use an oscilloscope to check if the crystal oscillator has started oscillating.
Hi,Are there any APIs available to read the base frequency dynamically on the RC-868 RF module?I noticed the S2LPRadioGetFrequencyBase API in the S2LP driver. Are there any additional APIs for this purpose?
I'm working on a project with the STM32H503CBU7 which requires USB. I have a 32MHz external crystal on my board that appears to be stable. The chip works and can be programmed and such. I also troubleshot out other physical issues like cold joints and shorts because that has burned me before when the USB device fails to enumerate.My intent was to use the PLL2Q source with the USB peripheral so I could also specify a 200MHz sys clock for everything else via PLL1. When I use the PLL2Q source however, I get no interrupts from the `USB_DRD_FS_IRQHandler` handler and so my USB stack does not operate.To make things more confusing, it also does not work even when both PLL's have the same values set for all parameters, as shown in the image below.It is important to note that this works with the PLL1Q source, as it is shown in the image, and I'm currently compromising a little on the sys clock speed. It will work for my purposes, but I'm more interested to know whether there's some "magic
I'm using STM32CubeIDE 2.0 and CubeMX 6.16.1. When I create a project in CubeMX, it doesn't create the STM32WBA55CGUX_FLASH.ld file. It creates the makefile when I select it in the Toolchain/IDE section, but then gives an error.
Hi everyone,we applied the ST FWU reference solution on our own platform based on the STM32MP157F.The solution was taken and adapted from the ST Yocto layer meta-st-ota (https://github.com/PRG-MPU-CUST/meta-st-ota).In our setup rootfs must become read-only because of dm-verity application on rootfs requested by secure boot scheme.Currently, making rootfs r/o is not possible because of post-install.sh rauc handler, which writes to the rootfs.The problem, that after an update bundle installation, rauc calls the post-install.sh. This script edits MOUNT_PARTITIONS_LIST in the mount-partitions.sh script in rootfs of the next slot to mount correct `-a` or `-b` bootfs or vendorfs after the reset.The solution that we think about, is to remove rootfs changing step from post-install.sh and to make mount-partitions.sh slot aware. Instead of mounting from MOUNT_PARTITIONS_LIST variable as-is, mount-partitions.sh should read the current slot from /
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.