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 all, I've come here for a issue I failed to debug. My setup is as follows: I have a NUCLEO-F767Z development board and im debugging/programming it through the onboard STLINKV2 with SWO enabled. I am simply just trying to get a USB device to enumerate. I have configured the USB_FS host to the drive VBUS through pin PG6 where the USB power switcher is on the nucleo. My clock configuration is shown in the attached image. When plugging in a USB mouse (that works on my PC) through a USB A Female to USB Micro Male adapter, the SWV console prints forever: USB Device Connected USB Device Reset Completed ERROR: Control error: Device not responding USB Device Connected USB Device disconnected USB Device Connected USB Device disconnected USB Device Connected USB Device disconnected USB Device Connected USB Device disconnected USB Device Connected USB Device disconnected USB Device Connected USB Device disconnected USB Device Connected USB Device disconnected USB Device Connected USB D
@Didier HERROUIN We currently use the WLC38, but wish to use the WLC89. Our sales rep already provided us with the full datasheet and schematic. He also has samples of the STWLC89 on order for us. However, there are no more evaluation kits available.We have the firmware for the WLC38, but there is nothing in the repository for the WLC89.We can probably figure out most things from the datasheet (includes reference schematic with BOM) as we have developed with the WLC38, but it would be a lot less effort with some reference information.Can any of the following for the STEVAL-WLC89TRX kit (rev 2.5) be provided?eval board reference design files gerber filesC-code, headers/firmwareThank you!
Problem description:We are seeing a hard I2C bus lockup involving an ISM330 IMU and an IIS2MDC magnetometer on the same bus. The failure mode is that SDA is driven low permanently, and the bus cannot be recovered by standard I2C recovery procedures (9–20 SCL pulses with SDA released). This occurs both immediately after MCU firmware is flashed and during nominal runtime, seemingly at random. Once the condition occurs, a full MCU reset does not recover the bus. On a bench setup we confirmed by probing that SDA is physically held low. Hardware configuration:MCU: STM32 acting as I2C masterDevices on bus:ISM330 (IMU)IIS2MDC (magnetometer)These are the only slaves on the bus.Standard I2C pull-ups are used, with no level shifting. I've done additional testing to try to find the problematic device by removing devices and reconfiguring connections (auxiliary I2C), see results below. Observed behavior by configuration:ISM330 only on I2C: no issuesISM330 and IIS2MDC
Hello all,I am planning to purchase the EVLSERVO1 to control an industrial three-phase PMSM servo motor (rated 220V AC) for a hobby project. I will be running it at a lower voltage and accept the speed loss.The motor has a 17-bit absolute encoder using RS485 physical layer (protocol is currently unknown, likely proprietary, which I plan to reverse engineer).The EVLSERVO1 manual states: "The 120 Ohm termination resistors R84/R85 must be removed if termination is embedded at encoder side." My encoder has a built-in 100 Ohm termination resistor.While I understand the manual's instruction to prevent double termination, I would prefer not to modify a new board if possible.If I leave the resistors on the board, the parallel combination results in a ~54.5 Ohm load. Given that I plan to use a short cable (< 1 meter), is the EVLSERVO1's transceiver robust enough to drive this lower impedance without signal collapse? Or is the "must remove" warning critical because the board uses 3.3V logic a
Doing the set up in MXI have four ADC channels on APB2 with PCLK2 at 84 MHz sampling 4 microphones.The recommended audio sampling rate stretch from 44.1 kHz up to 96 kHz, so initially I'm happy anywhere in that range for now. I have set the clock pre-scaler to divide PCLK2 / 4 so the ADC clock is at 21 MHzI have 12 bit resolution which takes 15 ADC cycles but then in the "rank" section of the parameter settings there is a pull down for sampling time for each channel. I'm guessing that the value I pass in the "rank" section is what I would use to get the final sampling rate.e.g. if I chose 84 cycles for each channel then I would have a sample rate of 250 kHz per channel giving a sample rate for all conversions of 62.5 kHz?Or do I add the sample time to the resolution time e.g. 84+15 giving a sample rate of ~212 kHz per channel?
I am using a UX_Device_Audio2.0-based project on H7. When I play a stereo file (actually dual mono), the right channel plays correctly, but the left channel contains a mix of left + right.When I play mono file, the right channel is much louder while the left is extremely quiet.Could this be a codec configuration issue (mixer/settings), a USB audio packet scheduling problem, or something else? I can't seem to find a fix yet.
I am trying to complete one – just one – ADC conversion without using DMA. This is sort of a one-off sampling after power-on, and subsquently the regular sequence conversion with DMA is to take over. But I don't get that far.I'm trying to sample ADC1 channel 15, but never get a high EOC flag. To be absolutely certain about how the ADC is set up, I've read these register values via STM32CubeProgrammer:ADC1_CFGR = 0x80000000In short: Injected queue disabled; contiuous and discontinuous modes off; hardware trigger disabled; DMA disabled.ADC1_CFGR2 = 0In short: BULB disabled; gain compensation disabled; oversampling disabled.ADC1_SMPR2 = 0x0003E000In short: Channel 15 sampling time 640.5 clock cycles; channel 14 sampling time 247.5 clock cycles.ADC1_SQR1 = 0x081C23C0In short: First conversion channel is 15. Number of conversions is 1. All other bits should be irrelevant.ADC1_CR = 0x10000005In short: ADC voltage regulator is enabled; ADC is enabled: ADC is converting (apparently)ADC1_ISR =
I use external ADC (slave) with pins with dual function. And when SPI don't work , on MISO pin can check and "end of conversion". This is when SPI pin NSS is high.So: can I activate pin first like SPI "alternative pin" (pin is input - MISO) and like GPIO input using pooling or like "EXTI line". Best Regards
Hi, Im using STM32g0b1 ADC in continous mode.I am continously converting channels 0,1 and 2. Everything works perfect when clocking the ADC with PCLK/2.SYSCLOCK is 64MHzPCLK is 64MHz so ADCCLOCK is 32MHz.I get End-of-Conversion Interrupts correctly and each 3rd EOC interrupt I am getting an End-of Sequence interrupt. If I use PCLK/4 (ADCCLOCK 16MHz) the timing for conversions is seemingly as intended (everything takes exactly double time), however channels get mixed.I found that End-of Sequence interrupt occurs every two conversion (instead of every three conversion) and I can no longer match Conversion results to channels.In fact channel 2 conversion result ends up as first, second or third result within a series. Remark: I started to check for End-of Sequence interrupt only after getting above problem. Is there restriction about clocking the ADC?
I'm driving a customized LCD with STM32F469IIT6. However the image was shifted occasionnally. This issue is very hard to reproduce as it occurs 3time max a day. I'm pretty sure that the sync configs are correct. I noticed that the lane byte clock is close to its limit. Is there any advises or instructions ti solve this? I can give you more details about the issue.
I work on the STM32U5G9J-DK2 and what I noticed, the RTC doesn't accepted properly hour value which is greater than 12. Than calendar doesn't work, don't actuallize and the hours going UP for example from 23 to 24 and from 24 to 25 and so on... It's really strange bcos on the STM32F407 it work flawlesly without any problem. The solution is using 12 hour format write and sign AM/PM by RTC_TimeTypeDef.TimeFormat value 0 = AM, 1 = PM. Then calendar is properly running and if anyone like me want use 24 hour time format it need realised by software.Or if anyone know for this MCU other method to use 24H format by hardware you could be posting below.
Learning on how to code 4x4 keypad with F411RE I came to need to learn timer in order to generate an interrupt (saying simply C function should be called lets say every 1 second) I created STM32 project CubeIDE+CubeMX selected TIM3 (in Timers) -> set Clock Source to InternalClock, set Prescaler ( PSC... ) to 8399 ( googled, found example ),set Counter Period to 9999 and set NVIC checkmark for TIM3 (enabled) Saved IOC file and CubeMX generated some code for me.In stm32f4xx_it.c file I added void TIM3_IRQHandler(void) { /* USER CODE BEGIN TIM3_IRQn 0 */ /* USER CODE END TIM3_IRQn 0 */ HAL_TIM_IRQHandler(&htim3); /* USER CODE BEGIN TIM3_IRQn 1 */ HAL_GPIO_TogglePin(LD2_GPIO_Port, LD2_Pin); /* USER CODE END TIM3_IRQn 1 */ }and running the code I expected to see blinking LED ( at least wanted no matter 1 sec or 0.5 sec )but nothing happensDid I miss something ? ( I'm learning this stuff )
At present, as of the last Hal version as far as I know, obk cannot be used in a non trust zone project.FLASH_TYPEPROGRAM_QUADWORD_OBK fails because the NS bits aren't set, among other issues.Is this by design, IE obk can't be used by non TZ, or is this just simply not a completed or fully fixed feature? Here is what I'm doingI've edited HAL_FLASHEx_Erase like#if defined (FLASH_SR_OBKERR) else if ((pEraseInit->TypeErase&~(FLASH_NON_SECURE_MASK)) == FLASH_TYPEERASE_OBK_ALT) { /* OBK erase to be done */ FLASH_OBKErase(); /* Wait for last operation to be completed */ status = FLASH_WaitForLastOperation(FLASH_TIMEOUT_VALUE); } #endif /* FLASH_SR_OBKERR */And my code is:int keyStorageSavePrivate(char* key) { uint32_t status; uint32_t len = strnlen(key, KEY_STORAGE_SIZE - 16); int ret = 0; static uint32_t FlashWord[4]; if (len >= KEY_STORAGE_SIZE - 16) { return 1; } len += 1; // Add string 0 HAL_FLASH_Unlock(); HAL_FLASHEx_OBK_Unlock(); if (len & 0b
1. Problem DescriptionI am running an int8 quantized 1D CNN model on STM32N6570 (NPU / ATON runtime).The full pipeline is:Modbus sensor input → preprocessing → NPU inference → postprocessing (softmax)The issue is that the NPU output (net_out) is identical for every inference, even though:Sensor values are updated periodically via ModbusPreprocessing produces different x_quant values each timeNPU inference runs without errorOutput buffer is properly invalidated after inferenceExample output log (repeats every inference):Despite different input values, the raw int8 output vector is always the same.2. What has been confirmed (important)1) Pipeline connectivity is correctThe full data flow is confirmed to be connected:ModbusTask updates sensor_valsupdate_timeseries_buffer(sensor_vals) is calledPreprocess_Data() runs successfullyx_quant changes every inference ([DEBUG] x_quant CHANGED)x_quant is copied into net_inNPU inference runs (Run_Epoch())Output buffer is invalidatedPostprocess runs o
Problem When i call * USBPD_PE_SVDM_RequestAttentionI get a OK message response but the callback never gets called. * USBPD_VDM_SendAttention Curious to know if there's any good way to debug this? Current debugging stepsI have a STM32G0-Disco board setup to capture the messages over USB-PD and display them with ST's USB-PD monitoring software. So i know the attention pin is not currently activating. I have a breakpoint to make sure that USBPD_PE_SVDM_RequestAttention is being called. If i wait a few seconds and then trigger it to call USBPD_PE_SVDM_RequestAttention again i get a BUSY error. So i figure it's trying to send it, it just can't? My projectI'm using this as my base with a stm32G071- nucleo board. I grab the CC lines from usb with a breakout board that passes the USB datalines through. * https://github.com/STMicroelectronics/STM32CubeG0/tree/master/Projects/STM32
We currently use the WLC38, but wish to use the WLC89. Our sales provided the full datasheet, and is ordering samples of the STWL89 for us. However, there are no more evaluation kits available.Can the eval board reference design files and/or gerber files be provided?I saw the Wireless Charging solution Wiki post but the WLC89 is not there.Thanks
Initially a comment on the How to program an STM32 with another STM32 using an embedded bootloader Knowledge Base article.Moved to the forum for better visibility & discussion.STM32G071 --> STM32F072 Hello Mr Montanari,Thanks a lot for your article.I carried out the following test with Host: STM32G071KBT6 and devices: STM32G071KBT6 or STM32F072RBT6. In both cases, I encounter a problem when reading the Flash (0x4002200); the response is NACK (STM32G071) or ACK followed by NACK (STM32F072). Could you indicate potential solutions to resolve this problem? Thank you in advance.
I am using STM32WBA5MMGH6TR in my project for sending data received from a sensor. BT is used for transmission.The data will be transmitted to a central node.This is a battery operated device. The signal chain is given below.Sensor--> ADC-->STM32WBA5MMGH6TR.Could you please review the attached schematic.
Hello all,I'm facing a wired issue. After the IDE update in the Help menu there is no more the entry to log-in in myST.Do you have any suggestion how to reach the myST login from it?I'm running the IDE on Windows. Thanks in advance!
I assume RDP means Readout Protection. Is there any means for disabling it programmatically with C#? How would it get enabled? I'm pretty sure I'm not enabling it with my program. I tried "–ob rdp=0x0" but got a -1 result, meaning Not Connected. So I'm in a situation where I can't connect because I'm getting -16 (RDP enabled) and I can't disable RDP because I'm not connected
Dear community,I am currently working with the SPC58 E-Line processor placed in the mother daughter evaluation board.I am using the AEK-MCU-SPC5LNK with OpenOCD. The reference manual for the E-Line is similar o the G-Line. I have only found the SVD file for the G-Line, so I therefore thought, that using this SVD file could work. Sadly the peripherals remain blank and I cannot see any memories.I would be very happy if someone could tell me, how to get the correct SVD file or what do I have to change to get it running.Kind regards,Tassilo P.s I have used the attached manual, to access the peripherals: How to use the AEK-MCU-SPC5LNK programmer and debugger for SPC5 automotive microcontrollers - User manual
Hi, can anybody identify this MOSFET please? Google and ST search engine couldn't help me. Thank you in advance, István
Hello, I am using the following official example as a reference:https://github.com/STMicroelectronics/STM32CubeU5/tree/main/Projects/STM32U5x9J-DK/Applications/USBX/Ux_Host_HUB_HID_MSC I tried to use the Ux_Host_HUB_HID_MSC project on STM32U5G9J-DK2 as a base and adapt it to my application (ThreadX + USBX + TouchGFX). However, despite using this example, I am still facing compilation errors related to STM32 USB Host initialization. Main errors: _ux_hcd_stm32_initialize not declared hhcd_USB_OTG_HS not declared MX_USB_OTG_HS_HCD_Init() implicitly declared These errors occur in app_usbx_host.c, when calling ux_host_stack_initialize(). This seems to be related to a STM32 USB HCD (USB OTG HS) configuration issue or missing / non-included source files compared to the official example. Could you please advise: which STM32 USB Host source files must be included? whether a specific CubeMX configuration is required for USBX Host on STM32U5G9J-DK2? or if some parts of the official
Hi everyone,I have developed a software using mbed OS on a Nucleo-144 board (STM32F767ZI), and everything works well.Now, I am powering my board from an external power supply, and I moved the JP3 jumper to VIN position.However, the board is stuck. The program correctly starts only if:the board is connected to the PC through a USBthe reset button is pressedI read several posts, and I tried all the proposed solutions: update the ST-Link firmware, place a jumper between the NRST and 3V3 pins, also removed the SB111 0-ohm resistance between NRST and RST, but nothing works.One interesting thing I have is this: if I manage to start the program (using USB connection or reset button), powering off and on again the board in a very short amount of time make the nucleo works fine. However, if I power it off and wait a few seconds, then the board is stuck again until the reset button is pressed or USB connection provided.Any help on this?Thank you very much.
Hello everyone, my programme on Nucleo-F767ZI do not run when I power ON by external power supply. I force to press reset button or power supply st-link by usb cable.I searched some solutions such as: BOOT0 to GND; or turn on bit POR = 1 in RCC_CSR, but nothing worked. I don't want to use external circuit to reset.Anyone can share with me some useful solutions to solve this issue?
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.