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
CubeMX Project Manager has a bug, where when I accidentally cleared the "Project Location" field and moved the cursor away CubeMX complains that project location cannot have special characters and cannot be empty. But this popup does not go away and gives you no chance to correct your mistake. Screenshot attached. Host OS: Ubuntu 24.04.4 CubeMX version: 6.15.0 Edit: Turns out there was a new version of CubeMX (6.17.0) where this problem disappears. You click 4-5 times on OK and the dialog disappears. Should I delete the question in this case?
Since the 210 reader seems to be cheaper and smaller (in non BGA package) than the 3916b we are currently using, while delivering comparable output power, I am naturally intrigued. But the wakeup mode figures don't quite impress, even though it is advertised for situations "where each µA matters".Wake-up mode for the ST25R300, ST25R500, ST25R501 and ST25R210 - Application notegives a 75.17 μA figure for 200ms scanning (using 250mA Amplitude)Wake-up mode for ST25R3916/16B, ST25R3917/17B, ST25R3918, ST25R3919B, and ST25R3920/20B devices - Application notegives a 43.74 µA figure for 200ms scanning (using 200mA Amplitude)Even adjusted for the amplitude difference, that would give >35% more power draw for the 210. Is there a way this is compensated through higher sensitivity, so actually we need less Amplitude on the 210, or should I really expect a regression in low power card detection?
Hi,I´ve problems getting UCPD running on a STM32H563. With STM32G0 I´ve alraedy realized a lot of such projects with UCPD. Hence I suggest, that it maybe is a problem of the DMA which is much more complicated to configure on the H5. Is there any information about how to configure UCPD on H5?Best,Achim
Hello,In the STPMIC datasheet, the BSTOUT continous current is specified as being greater than 1.1 A when 3.3 V < VIn < 5.5 V.If the voltage Vin is greater than 4.5 V, does the BSTOUT continous current increase?I assume so, since the inductor's peak current limit (IBSTLIM) is 3.3 A and the short-circuit current (IBSTSH) is 4 A, but could you confirm this for me?If so, what is the BSTOUT continous current when Vin>4.5 V?Best Regards.Sylvain
I am using STM32H743VIT6 with USB3300 to develop a HS USB Device.But the program is always trapped in USB_CoreReset() at do { count++; if (count > HAL_USB_TIMEOUT) { return HAL_TIMEOUT; } } while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_CSRST) == USB_OTG_GRSTCTL_CSRST); I am using a VCP example generated by CubeMX for testing without any other code. environment
I am using a VL53L0 ToF sensor.If an interrupt occurs, repeat the measurement using the "VL53L0X_GetRangingMeasurementData" function and the VL53L0X_ClearInterruptMask function.Normally, it operates, but the sensor outputs data that seems to be looking in the air due to unknown causes such as static electricity.From the IR camera, there is no light in ToF.Two functions, VL53L0X_GetRangingMeasurementData and VL53L0X_ClearInterruptMask, do not return errors.When I initialized the phenomenon after checking it, the sensor operated normally.I'm wondering if there's any data I can check because the data is similar to what I'm seeing in the air about the above phenomenon.
Hi,When I downloaded a .hex file to my STM32H563VGT6 (1MB Flash) using STM32CubeProgrammer v2.20.0, I encountered an issue where it would erase the wrong sector. For example, as shown in the image below, it was supposed to erase sectors (76..91) and sector 115, but I found that the contents of sector 27 is erased.I also try to "Erase selected sectors" (76..116) manually, but sector 27 still be erased.However, I did not have this problem when downloading the same .hex file using an STM32H563ZIT6 (2MB Flash).
AN2606 indicates that I should be able to activate the built in boot loader by jumping to the correct address in ROM, but I can't work out what that address is for the STM32U535CB.
Hello everyone, I am working on a design based on the STM32H7 MCU and I am evaluating storage options.I came across the Micron MTFC128GBCAYAL-AIT device, which is described as a USF NAND / eMMC memory. I would like to know: 1, Can MTFC128GBCAYAL-AIT be directly interfaced with an STM32H7 MCU? 2, Does STM32H7 support this device via SDMMC, FMC, or any other peripheral? 3, If direct interfacing is not possible, what is the recommended alternative (raw NAND, SD card, QSPI/OctoSPI flash, etc.)? My goal is to use soldered non-volatile storage (similar to eMMC) for data storage or filesystem purposes. Any clarification, reference manuals, or practical experience would be appreciated. Thank you.
I want to disable the AGC and use supply manual attenuation values.Disabling the AGC is pretty straight forward, I just set the AGC_EN bit in AGC0CTRL to zero.This works fine, but the gain/attenuation is fixed at the reset value and I'd like to use a custom value.To set manual attenuation values, I suppose I need to write them to the AGC_ANA_ENG register.However, i noticed something weird: This AGC_ANA_ENG register is not present in the driver files. Its not mentioned anywhere and in the MRSUBG register definitions it is listed as "Reserved". The "Description of STM32WL3 HAL and LL drivers" pdf (UM3438) even lists a couple of LL-functions to modify it, such as LL_MRSubG_SetAgcForceGains, but they exist nowhere in the driver files.Why is this register not mentioned in the official driver files and why dont the LL-methods exist?
Hi together, I have been developping a simple BLE application (that I can attach eventually) on the STM32WB55RG P-Nucleo This application combines BLE + USB Device (FS) But after I upgraded the BLE stack firmware from: FUSVER:1.2.0.0STKVER:1.13.2.2STK@:80CF000FUSOP:3.1.0 To: FUSVER:2.2.0.0STKVER:1.24.0.2STK@:80D0000FUSOP:3.1.0 Then I can no longer get any BLE connection nor bonding to my board, using a smartphone. I'm very suprised of that.
Hello ST community!Currently i'm working on a project based on the stm32 NUCLEO-N657X0-Q which should be delivered very soon .I followed this article https://community.st.com/t5/stm32-mcus/how-to-build-an-ai-application-from-scratch-on-the-nucleo-n657x0/ta-p/828502 step by step with the same versions of software mentioned but without any results .I tried using X-Cube AI and the new tool Stm32Cube AI studio but i ended up with a lot of confusion and errors .I'm planning to stick for now with x-cube ai since the new tool has a lot of bugs to be fixed .My questions is what are the right versions of the software to use to get a computer vision (Yolo like) to work on my board ?Thnx!
Hi,I'm using TouchGFX to make a simple screen with just one slider. This to prove my graphics work and i can use touch to move the slider.I started with a CubeMX project this time but i got stuck somewhere.I enabled DMA2D and touchGFX.I see the DMA2D IRQ's passing by and My frame buffers are swapping when i touch the screen.I see that I get calls to HAL_LTDC_LineEventCallback so I think hltdc is working as well.But i see that my images that should be drawn on my screen are not there. I see the global layout of the slider but it is not the correct image.Steps to reproduce:1) start a new TouchGFX 4.26.0 project2) disable all frameworks in config page3) Set a Box with a specific color (not black)4) Add a simple slider to the canvas5) run the simulator In the simulator i now see the same issue I see on My device. When I re-enable the Config->FrameworkFeatures. I get a working simulator but on my embedded device the images stay wrong.I have tried everything and check
Hi,I am writing firmware to read and write to a MicroSD card in SPI mode using an STM32G051F8P6.Card initialization, performed in the order of CMD0, CMD8, CMD55 and ACMD41, CMD58, works correctly. However, when I then try to read the first sector with CMD17, incorrect data is read. The table below extracts the values from bytes 446-461, which contain information about the first partition, from the sector read values with the first byte set to 0.The top row shows the data written to the MicroSD card as read by FTK, and the bottom row shows the values actually read by CMD17. In both cases, bytes 510-511 are 0x55 and 0xAA, satisfying the data requirements for the first sector.Bytes446447448449450451452453454455456457458459460461Correct Data0x000x820x030x000x0C0xFE0xFF0xFF0x000x200x000x000x000xDC0xD10x01CMD17 Result0x000x020x040x000x060x180xD80xC80x810x000x000x000x7F0x930x3B0x00The analysis results from the logic analyzer are shown in the following image, and a response to CMD17
I use GPU2D on STM32U599Z .On CubeMX, I checked Activate check box GPU2D at "Pinout & Configuration".and I saw " Project Manager > Advanced Settings" There is not GPU2D In Register Callback Groupe. However , The Generated code stm32u5xx_hal_conf.h have " #define USE_HAL_GPU2D_REGISTER_CALLBACKS 0U /* GPU2D register callback disabled */How to set this setting?
So I have a container with a single image in it. The container is used in a view and has the Mixins Draggable and MoveAnimator ON Now, I want to animate it from the current position (400,38) to 800,38 so, basically a slide animation. I have a function that should trigger the animationwarningModal.startMoveAnimation(WARNING_MODAL_HIDDEN_X, WARNING_MODAL_Y, WARNING_MODAL_ANIMATION_DURATION, touchgfx::EasingEquations::cubicEaseOut, touchgfx::EasingEquations::linearEaseNone); }wherestatic const int16_t WARNING_MODAL_HIDDEN_X = 800; static const int16_t WARNING_MODAL_Y = 38; static const uint16_t WARNING_MODAL_ANIMATION_DURATION = 12;But I don't see anything moving; why is that?
raw ID and is_alive() work Hello,I am using a Chinese VL53L8CX module from AliExpress, not the official ST evaluation board. I want to stress that in the first sentence because this may be important: this is a Chinese AliExpress breakout, not the original ST hardware. The same module works on my setup over I2C, but I am trying to bring it up over SPI on an ESP32-S3 and I am stuck at a very specific point.What already works:- The same sensor/module works over I2C on this board.- In SPI mode I can repeatedly read the hardware ID correctly: `dev=0xF0`, `rev=0x0C`.- `vl53l8cx_is_alive()` often returns `status=0, alive=1`.What fails:- `vl53l8cx_init()` never completes successfully.- The failure happens around the software reboot / boot polling stage.My hardware/software context:- ESP32-S3- custom firmware using Arduino + ESP-IDF SPI path- Chinese AliExpress VL53L8CX module- `SPI_I2C_N` forced HIGH for SPI mode- level-shifted module, jumper wires about 20 cm- SPI mode 3- SPI clock curre
According to the manual, I cannot determine under what conditions the INFIFO will assert the interrupt. The interrupt-related registers only provide two status flags: empty and not full. The IN FIFO has a depth of 8 words (8×32 bits). However, the later description states that the interrupt will be asserted when there are fewer than 4 words in the IN FIFO. How is this interrupt actually generated?
Hello everyone,I develop a project with STM32U575 and I want to use LPUART with LPDMA, normally I use LPUART with normal DMA in my other stm32L4 projects but here I couldnt work with this peripherals. Low power is not a critical issue of this part of project. So I just want to use LPUART with LPDMA in a normal way. First picture is my old settings in L4 series and second picture ise for current U5 mcu. Do I miss something ? Where can I find and example for LPDMA and LPUART for Standart Request Mode. Thanks
I've adapted the NUCLEO DRP1M1 reference design to build and compile for our Custom STM32U5A9 board, and when I run it, iit gets through these relevant pieces:MX_GPDMA1_Init();MX_UCPD1_Init();MX_TCPP_Init();But then inMX_USBPD_Init() is seems to hang in the Call to:USBPD_CAD_Init() which is part of the compiled STM_USBPD_Library. Running a debugger and working my way backup the call stack, it appears that the library calls CAD_Init()which ultimately callsUSBPDM1_AssertRd(PortNum)where the debugger falls apart. AssertRd has at the beginning the 2 below callsLL_UCPD_TypeCDetectionCC2Disable(Ports[PortNum].husbpd);LL_UCPD_TypeCDetectionCC1Disable(Ports[PortNum].husbpd);LL_UCPD_TypeCDetectionCC2Disable(Ports[PortNum].husbpd); <- appears to work fine.LL_UCPD_TypeCDetectionCC1Disable(Ports[PortNum].husbpd); <- stops functioning.husbpd points the appropriate address for the UCPD controller.I've set a breakpoint here, and manually set CC2TDIS and is is fine, and then when I manually
(Moved to a separate thread from Do you need a fast slave interface with high throughput? This is for you.)MCUFinder does not consider PSSI if I do not overlook something.
The function of the PERS_RX flag in PROTOCOL 0 is described as: '1: enable the persistent RX mode.' What does that actually mean/do? I couldn't see any explanations in the rev. 13 data sheet for the S2-LP.
In the getting started guide there is a programmable audio buzzer names SPK1 but I can't find reference of it anywhere, where I can enable it in the .ioc file and how to interact with it? Please could someone advise me on this.
The STM32WB55 it will jump to the SysTick_Handler interrupt handler routine after we have configured the clocks and the RTC and then enable the interrupts. I don't understand why this is happening. I have checked the following registers:SysTick->CTRL->CLKSOURCE is set to processor clockSysTick->CTRL->TICKINT is disabledSysTick->CTRL->ENABLE is activeShouldn't the interrupt have been disabled by setting SysTick->CTRL->TICKINT to '0'?
Hi,I use cubemx to generate code for STM32CubeIDE, compile is OK, but the initial process run fail with HAL_Delay function, the HAL_GetTick() always return 0 so the program blocked here. attached is my .ioc file, any anyone help for thie 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.