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, There’s probably a solution, but I haven’t been able to fix it. Could you help me?In the circuits I’ve designed recently, the LSE crystal either doesn’t work at all or its operation is unstable. Generally, when debugging, it gets stuck at the SystemClock_Config(); section and won’t proceed.I’ve designed circuits using different MCUs and have encountered this problem across the board. In my latest circuit design (4-layer FR-4), I used an STM32WBA54CGU6 MCU and, for the crystal, the ABS07-LR-32.768KHZ-6-1-T recommended in the AN2867 Application Note. I’m using an 8pF C0G 0402 package capacitor as the load capacitor. I also tried a 6.8pF capacitor, but it didn’t work at all. The 8pF capacitor is also unstable. I tried driving it in different modes (LOW, MEDIUM, MEDIUMHIGH, etc.), but it remains unstable. I didn’t adhere perfectly to the layout rules, but I haven’t experienced problems in previous circuits where I followed them even less strictly. I’m trying to keep as few signals
Hi everyone,I am currently experiencing some issues with the FDCAN interface; my setup consists of two nucleo boards (Nucleo-G0B1RE) which use FDCAN interface to communicate with each other. As transceivers I am using two ATA6563-click boards.The clock used for FDCAN interface is PLLQ which ticks at 32MHz. The FDCAN parameters were configured using kvaser canfd timing calculator; Filters are disabled.I’ve generated two set of parameters:Nominal bitrate 500 kBit/s; Data bitrate: 2MBit/s Nominal bitrate 500 kBit/s; Data bitrate: 4MBit/s In both scenarios I’ve used a payload of 12 bytes and preserved the sending header:txh_n1.Identifier = 0x1ad; txh_n1.IdType = FDCAN_STANDARD_ID; txh_n1.TxFrameType = FDCAN_DATA_FRAME; txh_n1.DataLength = FDCAN_DLC_BYTES_12; txh_n1.ErrorStateIndicator = FDCAN_ESI_ACTIVE; txh_n1.BitRateSwitch = FDCAN_BRS_ON; txh_n1.FDFormat = FDCAN_FD_CAN; txh_n1.TxEventFifoControl = FDCAN_NO_TX_EVENTS; txh_n1.MessageMarker = 0x0;and the same while loop:bo
Hello,I am working on a CANbus communication with a critical system component that, if it is NOT communicating, portions of the systems should be shut down. I am trying to come up with a way to determine if communication is lost, but I feel like the solutions I'm coming up with are way more complicated than they need to be. One feature that I noticed is AutoRetransmission in the CAN configuration. So it will try to resend the message if it does not get an ACK from the device it's communicating with. Is there a way to keep track of how many transmission attempts have occurred with no response from a specific node? If so, then I can just say "If the message failed to send X times, then communication is lost and react accordingly."Does anyone know if this exists and, if so, how to implement something like this?For reference, I am using the STM32H7B3IIT6 MCU.
Hello!I am facing a problem with the STM32H563VIT6 trying to set up MQTT client. I tried to take STM32H573I-DK\Applications\NetXDuo\Nx_MQTT_Client example as a base example on how to do it, but it has not worked for me. The problem I am facing is that no IP can be acquired and thus the MQTT client will not work. I have set up everything correctly in the netxduo header file (DNS, MQTT broker name).What I am trying to achieve right now is to have the board send simple MQTT packets to my computer (like in the STM32H573I exmaple). The board is connected to the router.I tested a simple MQTT packet sending by doing it from my phone to my computer. Also, connected my phone to the router via an Ethernet cable, and with using the Wi-Fi. In both times, the test was successful, so from that it seems that the problem cannot be in my computer or in the router.When debugging the program the error I receive is from the App_Link_Thread_Entry. Getting this error after calling nx_ip_interface_statu
Hello I tried to receive any CAN signal on my device based on STM32F303CCT6. Maybe you have solution :), CAN pins are remapped on PB9 and PB8 pins by STMCubeMX configuratorBelow my code (main.c): https://pastecode.io/s/7av2ge6mand my settings in configurator:I also set CAN RX pull HIGH using the internal pull-up, like in the tutorial https://controllerstech.com/can-protocol-in-stm32/Thanks for help
environmentSTM32H743IIT6 FK743M2-IIT6SRAM IS42S16160J External 16-bit 32M byte SDRAMExternal QSPI driver W25Q64LCD 4.3” RGB043M2-800*480*VI1.2 I have 2 problems with this module if I write a line on line y = 0 ok but if y = 10 see wrong lcd output with many pixels blink if I use the DMA to write on lcd no output If I use 0x24000000 instead of 0xC0000000 like FRAMEBUFFER_ADDRESS both lines are ok but the 0x24000000 address cannot be used to fill oll the 800x480 lcb areaConsider that this BSP_LCD_Clear() is able to fill alll the lcd area without problems. void BSP_LCD_Clear(uint32_t Color){ uint32_t index = 0; // Estrae i componenti R, G, B dal colore a 32-bit uint8_t r = (Color >> 16) & 0xFF; uint8_t g = (Color >> 8) & 0xFF; uint8_t b = Color & 0xFF; // Converte in RGB565 (16-bit) uint16_t color16 = ((r >> 3) << 11) | ((g >> 2) << 5) | (b >> 3); volatile uint16_t *pFB = (uint16_t *)0xC0000000; for(
Normal mode of FDCAN is not working. Attached project file here. Please suggest if any changes are required in the attached files.
Hello ST Community,I’m developing a custom external loader for a GD25Q64E flash device and cannot get STM32CubeProgrammer to read/write/erase the external flash. I’ve attached a screenshot of the error reported by the programmer.What I’ve doneFollowed the ST tutorial “External QSPI loader how to” External QSPI loader how to - STMicroelectronics. Verified read/write/erase work when exercised from main.c — no errors there. When running the loader, I see a hardfault reported in the CubeProgrammer “HardFault” tab. There is a hardfault at the end of loader_src.c in init(); I’m not sure whether that is expected. Project uses SPI3 with DMA and interrupts to talk to the external flash. I have also tested this with just polling and verified read/writing/erase work when exercised from main.c Device and external flash infoFlash: GD25Q64E SPI instance: SPI3 (Polling)Questions: Any troubleshooting tips for getting the custom loader working with STM32CubeProgrammer (and diagnosing the hardfault sho
Hello, I initialized CAN on STM32F429ZIT6 on registers. I would like to tranmitt and receive messages. But on transmission lines is silence. In my opinion I forgot about any register, but I don't know which. So could you help me what i sholud change in my code?
Hi, I am using the following:cubeIDE 1.13.1/STM32F072C8U6/baud = 250K - I attached a picture of my clock diagram & param setup.Hi, I am using the following:cubeIDE 1.13.1/STM32F072C8U6/baud = 250K - I attached a picture of my clock diagram & param setup.I do not see messages sending on the CAN bus. They worked fine in my previous IDE. I have a feeling it has to due with the time quanta but not 100% sure. I tried adjusting to quanta 10/5 after reading the following with no luck:http://www.bittiming.can-wiki.info/ Init:static void MX_CAN_Init(void){/* USER CODE BEGIN CAN_Init 0 *//* USER CODE END CAN_Init 0 *//* USER CODE BEGIN CAN_Init 1 *//* USER CODE END CAN_Init 1 */hcan.Instance = CAN;hcan.Init.Prescaler = 32;hcan.Init.Mode = CAN_MODE_NORMAL;hcan.Init.SyncJumpWidth = CAN_SJW_1TQ;hcan.Init.TimeSeg1 = CAN_BS1_1TQ;hcan.Init.TimeSeg2 = CAN_BS2_1TQ;hcan.Init.TimeTriggeredMode = DISABLE;hcan.Init.AutoBusOff = DISABLE;hcan.Init.AutoWakeUp = DISABLE;hcan.Init.AutoRetransmission = DI
Hello,I'm running the BLE_DataThroughput_Server Application on a NUCLEO-WBA65RI (server, notifying) connected to a NUCLEO-WBA55CG (client, receiving notifications), and I'm seeing a significant throughput regression between STM32CubeWBA v1.7.0 and upper versions, with strictly identical configuration. Setup (identical in both cases):Server: NUCLEO-WBA65RI, BLE_DataThroughput_Server Application, from STM32CubeWBA v1.7.0, v1.8.0, and v1.10.0 Client: NUCLEO-WBA55CG, BLE_DataThroughput_Client Application, from STM32CubeWBA v1.10.0 Connection interval: 11.25 ms PHY: 2M MTU size : 244 Build configuration: Release I added :const uint8_t a_BLE_rx_pckt_count_and_rx_pckt_len[2] = { 0x07, 0x00 }; /* rx_pckt_count , rx_pckt_len */ aci_hal_write_config_data(CONFIG_DATA_LL_RX_ACL_CTRL_OFFSET, 2, a_BLE_rx_pckt_count_and_rx_pckt_len);as described in the "How to get the best throughput" section of the wiki (rx_pckt_count=7, rx_pckt_len=0) Results:BLE_DataThroughput_Server Application from STM32CubeW
IssueI am working on an iOS application that uses the ST25SDK for NFC operations.The ST25SDK documentation indicates that the iOS SDK is based on J2ObjC 2.4. I downloaded the J2ObjC 2.4 source and attempted to build it locally on an Apple Silicon Mac.However, I am currently unable to complete the J2ObjC 2.4 build. I have also tested J2ObjC 3.1, which builds successfully in the same environment.QuestionCould you please confirm whether J2ObjC 3.1 is supported/compatible with the ST25SDK iOS version I am using, or whether the application must specifically use J2ObjC 2.4?In particular, I would like to clarify: Is J2ObjC 2.4 a strict requirement for the ST25SDK iOS Objective-C sources? Can J2ObjC 3.1 be used as a drop-in replacement if it successfully builds? If J2ObjC 3.1 is not compatible, are there any required patches or source changes that would allow the ST25SDK to work with J2ObjC 3.1? Is there an official/prebuilt J2ObjC 2.4 distribution recommended for the current ST25SDK, so
Hi, I am new to TouchGFX Designer and I saw the previous reply in 2023 mentioning that the team was internally discussing the possibility of importing Figma UI designs into TouchGFX Designer.Is there a way to import Figma UI Design to TouchGFX Designer? May I ask if there has been any update or progress on this feature since then?In addition to the Figma import question, I would also like to ask whether TouchGFX Designer currently provides any form of plugin or extension support.Specifically, is there a way to add a custom entry in the Designer menu or integrate a custom code-generation workflow into the tool? Thanks in advance for any information.
Hello,We are going to use the STM32H573 MCU (STM32H573IIK3Q) on our board, and we are now preparing for mass production. Production will be done at an external contract manufacturer (not in-house), and we need to provision keys and firmware securely during programming.My main question: Is the STM32HSM-V2 card strictly required for secure programming at high volume, or are there supported alternatives?Specifically:1. As far as I understand, the SFI license mechanism is tied to ST's key hierarchy inside the ROM bootloader, so a third-party/commercial HSM (Thales, nShield, etc.) cannot generate licenses that the chip will accept. Is that correct, or is there any supported way to run SFI with our own HSM infrastructure instead of the ST smartcard?2. If STM32HSM-V2 is the only option: for volumes well beyond 300 units, V2ML (10K) and V2HL (100K) do not seem to be orderable through distributors. Is the intended path to request them through an ST sales office, and what lead time should we pla
I am not getting any IO expansion Module which can support these feature as32UI (Universal Input), 16 AO (Analog Output) and 16 DO (Digital Output) over RS485 communication in a Daisy chainUniversal Inputs0-5V DC 0-10V DC 0-20mA / 4-20mA 5kΩ Thermistor 10kΩ Thermistor RTD (100Ω / PT100/PT1000) Dry Contact / Binary Input Pulse Count InputUniversal Outputs0-10V Analog Output 0-20mA / 4-20mA Analog Output Relay / Binary OutputsPlease suggest
Hi! When trying to run the code in STM32CubeIDE (“Run as”) I see the error“No ST-LINK detected! Please connect ST-LINK and restart the debug session.”.In error log I also see the message“Cannot run program "/usr/local/bin/stlink-server" (in directory "/Users/<username>"): Exec failed, error: 86 (Bad CPU type in executable)”This started to happen after updating to MacOS 27.0 (Golden Gate) from version 26. Before that it was working fine.Also the board can be seen by STM32CubeProgrammer (see screenshot).Also I installed as a separate package ST-LINK-SERVER 2.1.1 (https://www.st.com/en/development-tools/st-link-server.html)Board: Nucleo-F446RELaptop: Apple M4 Pro with MacOS 27.0IDE: STM32CubeIDE Version: 2.2.0 Build 29186_20260626_0934 (UTC)
How to use EDATA as extended flash in STM32-C562RE?I disabled the EDATA_ENVerified CubeProgrammer can read 0x08400000Created a project from MX2Added EDATA_CODE (rx) in stm32c562xe_flash.ld in memory block as EDATA_CODE (rx) : org = 0x08400000, len = 0x10000Added the following section: .edata_code : { . = ALIGN(16); KEEP(*(.edata_code)) KEEP(*(.edata_code.*)) . = ALIGN(16); } > EDATA_CODEAdded the simple EDATA_Add() function in main:__attribute__((section(".edata_code"))) __attribute__((noinline)) uint32_t EDATA_Add(uint32_t a, uint32_t b) { return a + b; }Called it once from main()Build it and build was successfullBefore flashing, check the .map lines containing .edata_code and EDATA_Add and foundsomething similar to: .edata_code 0x08400000 ... 0x08400000 EDATA_AddNow,
OverviewDebug Authentication Discovery occasionally succeeds in CLOSED state, but Full Regression fails (“Unable to boot on RSS_DA” / “Unable to detect DBGMCU Mailbox”)Get ready for the stm32 safari! Product / Environment- Board: Custom based off of STM32H7S78-DK (MB1736)- MCU: STM32H7S7L8H6H- Debugger(s) used: STLINK-V3SET- Tool: STM32CubeProgrammer v2.19.0- ST-LINK FW: V3J17M10B6S1- Board setup used during recovery attempts:- tried altering Boot0 (boot from RSS/system flash)- tried manual reset- tried low SWD speed and hardware reset modes Summary of the issueI was attempting to recover the board after secure configuration experiments. The board was originally reachable over SWD, but after running the **`ROT_Provisioning/DA/provisioning.sh`** flow from the STM32CubeH7RS package, normal SWD access stopped working. The board is now in **CLOSED** state, and **Debug Authentication Discovery** can occasionally succeed if I hit a very narrow timing window at power-up, but an
I’m trying to implement USB mass storage class device standalone(no RTOS) on nucleo board STM32U575ZI-Q, using RAM for memory.I mostly followed these steps :, but skipped the eMMC parts (I’m using RAM). Instead i did like here: https://embetronicx.com/tutorials/microcontrollers/stm32/stm32-usb-device-msc/ , in ux_device_msc.c I defined STORAGE_BLK_NBR, STORAGE_BLK_SIZ, and then used memcpy() inside functions like STORAGE_Read_FS().Someone has done seemingly the same thing already(combining these two things) and it worked: https://github.com/ST-TOMAS-Examples-USB/STM32U385RG_Ux_Device_MSC_Standalone . Are there any adittional steps i’ve missed?Right now, after plugging the USB into my PC, it appears in Device Menager with code 10( device cannot start ). I’ve put a breakpoint on STORAGE_Read_FS() line while debugging, but it never stops there.
Hi,I am using my own board based on an STM32F207ZG with STM32F2 HAL v1.9.4. I implemented a USB HID Host using STM32CubeIDE (v1.19.0), simply enabling USB Host and HID Class support in CubeMX and generating the code.I was able to read keys correctly from a standard USB desktop keyboard. However, I was not able to read from a USB HID RF reader. While debugging the problem, I noticed the following code in `usbh_hid.c`, inside `USBH_HID_Process()`:case HID_IDLE: status = USBH_HID_GetReport(phost, 0x01U, 0U, HID_Handle->pData, (uint8_t)HID_Handle->length); if (status == USBH_OK) { HID_Handle->state = HID_SYNC; }This initial `USBH_HID_GetReport()` therefore has to complete successfully before the state machine proceeds to `HID_SYNC` and eventually reaches `HID_GET_DATA`, where `USBH_InterruptReceiveData()` starts polling the HID interrupt IN endpoint EP1. My question is: What is the intended purpose of this initial `G
Dear team,We are using in our Solar charge controller with STM32G030C8T6 mcu with internal Vref calibration. We are getting mostly Input voltage sensing ADC pin PB0, PB1 and PB2 failure either while power on time or after few days of normal working. Due to that we are getting many fields issue for battery charging. request your advice and suggestion to sort it asap.
Here on Opensuse Tumbleweed with fvwm2 the installation starts with a small window where the "Continue" button is not visible on startup. The window is can only be resized a little smaller but not larher. Only by scrolling the "Continue" button gets visible.This is unexpected.The follwing stages the presented window still can not be sized to a sensible size. MX2 was installed before on that PC and was still accessible. I do not know how the window size behaved during the first installation.Screen size is 3840x2160.
The installer denies installation in the existing directory. But it also does not offer an option to abort. So you can kill ithe installer only from the starting console or rom windows frame allows. An abort option in the installer would be fine. And maybe an option to refresh an existing version that was perhaps screwed up somehow. Moved from: MX2 rant: Installation starts with bad size to display Continue button and is not resizeable
Environment:STM32CubeMX version: 6.18.1 STM32CubeIDE version: 2.2.0 STM32 MCU: SMT32H7R3Z8J6 OS: Windows 11Project configuration:Code Generator option: "Generate peripheral and middleware initialization as a pair of .c/.h files per peripheral (optional)" = [Enabled / Disabled] Relevant peripherals already enabled before: xSPI, USART1 New peripheral added that triggers the issue: USB_FS/HS, SPIx, UART/USARTx, and others. Description:When I add a new peripheral or middleware in STM32CubeMX and generate code, CubeMX creates an empty folder or generates incomplete peripheral and/or middleware output.The issue appears repeatedly with the same pattern and is not random. In the first case: Create or open project in CubeMX. In Project Manager / Code Generator, set: "Generate peripheral initialization as a pair of .c/.h files per peripheral" = Disabled (default). Generate code. Add a new peripheral: USB_FS (and/or others). Generate code again. Open CubeIDE, then build. In the current situat
Split from this post: Dear ST Technical Moderator,(mEALLEm)many thanks for your prompt answer !You actually solved my problem by using CubeMX2 tool,where one can assign selected peripheral pins (in my case COMP2 two inputs and one output)to actual package IO pins.As far as I see, CubeMX2 tool “offered” to make assignment of Comparator Plus input with one of four IO pinsCOMP2_INP:IO1: PA3IO2: PB15IO3: PC0(I want to use PA3) !and Comparator Minus input with one of four IO pinsCOMP2_INM:IO1: PC1IO2: PC5IO3: PA2(I want to use PA2) !it is stated in my text, in the very beginning !... quoteIn new design, where planned MCU is STM32C542CCT6 device, (LQFP48 package),I plan to use internal Comparator COMP2....PA7 pin as Comparator2 Outputand pin PA2 as Comparator2 -INPut, and pin PA3 as Comparator2 +INPut.... unquoteWell, the only problem is that I did not install SW development environment yet,so, I did not use CubeMX2 tool, I was just reading the documentation, RefManual and device DS,and I d
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.