Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
HI Team,I am Pranathi, I am looking for a board and MCU chip for my project, I want to implement a CAN protocol between 2 STM32 boards with FSM (finite state machine) and RTOS included in it. Additionally I will be using a sesnor and an actuator on each STM node. Can anyone help me in chosing which MCU and STM32 board I should be using for this aim? And also if possible share a basic source code for implementing a CAN protocol.Looking forward for your help. Thanks in Advance,Ch.Pranathi
In another thread:@vicrr wrote:The Cube LRWAN package you mentioned it not the latest one and has not been updated for years.We recommend you to use the STM32CubeWLSo what about platforms other than WL? Are they abandoned?@vicrr
Hi all,As part of a uni project we are developing a LoRaWAN Weather station project.We have free access (the team is operated on a limited budget) to a I-NUCLEO-LRWAN1 board. This appears to be a very good option as the board has all the integrated sensors required, and is compatible with Australian frequency.How good is the support and integration with current development tools, I see the suggested board on the datasheet is still currently sold (NUCLEO-L053R8). Does anyone have experience with this board, or can point in the direction of something more suitable?Thanks
I am trying to set up DFSDM on an stm32h753zi using the AMC1306 delta sigma modulator. I have enabled TIM8 as a trigger:But in the registers I see, that JEXTEN is not set to external rising edge (0x1). Instead it is set as disabled (0x0).After the CubeMX generated initialization I added:HAL_DFSDM_FilterInjectedStart_DMA(...);Do you have any ideas what might be causing this?
Hello,I’m working with the X-NUCLEO-WB05KN1 shield and a STM32 Nucleo board.My goal is to make a simple demo: Toggle an LED on the board by sending a command from my smartphone. Display something on the smartphone when pressing the User button on the Nucleo.I understand that I need to update the shield with the BLE_Transparent_Mode_STM32WB05_location_essential firmware from X-CUBE-WB05N_V2.0.0.However: Which exact firmware binary should I flash for this purpose?Which smartphone application should I use to communicate with the board?Is nRF Connect sufficient or is there a recommended alternative? Thanks in advance for your help!
Hello,I'm working with the X-NUCLEO-WB05KN1 shield connected to a STM32 Nucleo board.My goal is to build a simple demo:Toggle an LED from a smartphone commandSend a notification to the smartphone when the User button is pressed.I would like to use STM32 BLE Toolbox as the smartphone application.Which firmware binary should I flash on the WB05 shield to ensure compatibility with STM32 BLE Toolbox?From what I’ve read, the BLE_TransparentMode_UART_with_Updater.hex firmware from X-CUBE-WB5N V2.0.0 seems suitable — can you confirm this, and indicate the exact file to flash?I can also flash : - BLE_TransparentMode_UART_for_Updater.bin- BLE_TransparentMode_UART_for_Updater_C_O.bin and BLE_TransparentMode_UART_with_Updater_C_O.hex- DTM_UART_WITH_UPDATER.bin and DTM_UART_WITH_UPDATER.hex- DTM_UART_WITH_UPDATER_CONTROLLER.bin and DTM_UART_WITH_UPDATER_CONTROLLER.hex Thanks in advance for your support!Best regards,Sheul
Hello,I am working with the NUCLEO-H755ZIQ board (STM32H755ZIT6) and trying to debug my CM7 core project in STM32CubeIDE. Below i have attached the screenshots that i am getting with STM32CubeIDE and Cube programmer. Can anyone help me resolve this issue as early as possible. Looking for solution.Best regards.
The X-CUBE-LED1642 software seems to have gone missing. There are no links on the web page where you can download it.Should be here: https://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software/stm32cube-expansion-packages/x-cube-led1642.html Found this old thread with the same issue, apparently it's been un-fixed: https://community.st.com/t5/stm32-mcus-products/get-the-x-cube-led1642-driver/m-p/372192
[PN]: EVLSERVO1[VERSION]: 6.4.0[TOOL]: MC Workbench[DETAILS]:Issue 1After enabling Flux Weakening, I can achieve higher motor speeds; however, under a constant load the speed sometimes swings dramatically. My observation suggests that the control firmware is repeatedly switching between flux-weakening and base-speed modes, creating abrupt transitions.Issue 2With both Flux Weakening and Over-Modulation enabled, attempting to increase the motor speed causes the controller to keep raising the Iq reference instead of decreasing the Id reference. This prevents further acceleration and results in an unrealistically high commanded Iq.[EXPECTED BEHAVIOR]:Ensure that the motor operates stably after flux-weakening is enabled—without unexpected speed oscillations—and that it functions correctly when both flux-weakening and over-modulation are activated simultaneously.[HOW TO REPRODUCE]:Generate the motor model with Motor Control Workbench and Motor Pilot. Next, use Workbench to create the control
B-U585I-IOT02A: A Documentation and Hardware MinefieldAuthorship below is AI but we toutured board together in order to run through STM samples and none of them worked properlyThe B-U585I-IOT02A is sold as a turnkey combo for BLE (STM32WB) and Wi-Fi (MX3080), but in realityyou’re left digging through conflicting silkscreen legends, empty headers, and no-op switch nets.Here’s why the out-of-box experience is a complete mess. 1. Mis-labeled Console Headers- CN12 touted as “BLE Console”• No TX/RX from the STM32WB network core ever appear here.- True console seems to be CN1 (USB-C) in DFU/VCP mode via dfu-util• You must boot the U5 application (BOOT0=0) and use the USB-C port to see the bridge-firmware’s virtual COM. 2. SW1, SW2, SW3: All Talk, No WalkEvery switch on this board toggles nets that never do what the silkscreen or manual claim:| Switch | Silk Legend | Doc Says | Actual Result || SW1 | BOOT0 ↔ NC_BOOT | BOOT0=1 → system loader boot | No pull-up resistor fitted → BOOT0 always =
I think it is quite natural to operate the STM32L433 at 80 MHz generated from HSI16, but is this guaranteed to be accurate?When creating 80 MHz from HSI16 in STM32CubeMX, no error occurs, but when inputting 16.08 MHz to HSE in the same way, an error message is displayed (attached files).According to Datasheet 6.3.8, the maximum frequency of HSI16 is 16.08 MHz. Therefore, if HSI16 is multiplied by 20 using a PLL and then divided by 4, the result is 80.4 MHz, which slightly exceeds 80 MHz. Considering temperature and voltage changes, the frequency may drift up to approximately 81.3MHz.According to Section 6.3.1, the maximum frequency for fHCLK is 80MHz.Does this mean that operation is not guaranteed since it exceeds the specified limits?Thank you in advance.Ken
Hi,I created the STM32H743 project based on RT Thread and LWIP, only open ICache, if I modify the content of a function, it will lead to the Ethernet transmission success, but there is no data on the MII interface, debugging compared the ETH register under normal communication and the ETH register under abnormal condition. The configuration is the same; Dynamically allocated memory is placed on 0x24000000, and Ethernet descriptors and received data are placed on 0x30040000.In the above case, through multiple tests, it was found that increasing the size of the function block can restore the sending of ETH to normal, such as adding multiple __nop instructions.Why this is the case, and what to look out for if you want to open only ICahe or DCache.static err_t low_level_output(struct netif *netif, struct pbuf *p) { uint32_t i=0; struct pbuf *q; err_t errval = ERR_OK; static ETH_BufferTypeDef Txbuffer[ETH_TX_DESC_CNT]; memset(Txbuffer, 0 , ETH_TX_DESC_CNT*sizeof(ETH_BufferTypeDef));
Hello,I work with STM32G484, with FDCAN. I want to create filter so only messages with my own CAN_ID will reach HAL_FDCAN_RxFifo0Callback.I started by define the filter:filter.IdType = FDCAN_STANDARD_ID;filter.FilterIndex = 0;filter.FilterType = FDCAN_FILTER_MASK;filter.FilterConfig = FDCAN_FILTER_TO_RXFIFO0;filter.FilterID1 = CAN_ID;filter.FilterID2 = 0x1FFFFFFF; HAL_FDCAN_ConfigFilter(&hfdcan1, &filter); At this point the filter not realy doing anything, and I still getting other nodes ID in the callback. I tried to add a global filter with:HAL_FDCAN_ConfigGlobalFilter(&hfdcan1, FDCAN_REJECT, FDCAN_REJECT, FDCAN_REJECT_REMOTE, FDCAN_REJECT_REMOTE);but now i reject also my own ID. What I miss here? what is the correct way to define the filter? Thanks in advance,Amit Prigozin
hello @mƎALLEm , as you sugestted, i only want to receive a ID 0x002, so my code is like // 设置接收过滤器 FDCAN_FilterTypeDef sFilterConfig; sFilterConfig.IdType = FDCAN_STANDARD_ID; sFilterConfig.FilterIndex = 0; sFilterConfig.FilterType = FDCAN_FILTER_MASK; sFilterConfig.FilterConfig = FDCAN_FILTER_TO_RXFIFO0; sFilterConfig.FilterID1 = 0x002; // 设置过滤器ID1 sFilterConfig.FilterID2 = 0x7ff; // 设置过滤器ID2 if (HAL_FDCAN_ConfigFilter(&hfdcan1, &sFilterConfig) != HAL_OK) { Error_Handler(); } if(HAL_FDCAN_ConfigGlobalFilter(&hfdcan1, FDCAN_REJECT, FDCAN_REJECT, FDCAN_FILTER_REMOTE, FDCAN_FILTER_REMOTE) != HAL_OK) { Error_Handler(); } but now, i can not receive any message. when i not add HAL_FDCAN_ConfigGlobalFilter() i can receive every message. but i only want to receive 0x002. how should i do? thanks.
Hello, I’m currently working on a smart farming project and trying to interface a capacitive soil moisture sensor with my STM32 board. However, as a beginner in embedded systems, I’ve hit a few roadblocks. I’ve enrolled in a Udemy course and followed several YouTube tutorials, but I still haven’t managed to get reliable readings from the sensor. I would sincerely appreciate the opportunity to have a short online session with someone experienced who can help kick-start my progress and guide me in the right direction. Even a brief walkthrough would go a long way in helping me understand what I might be missing. If anyone is open to a quick one-on-one or can recommend a private tutor I’d be very grateful. Thank you in advance!
I have a custom board with an STM32C071K8T6, and I am trying to use it for its USB CDC capabilities.I have designed my circuit to use an ABM3B-8.000MHZ-B2-T ceramic crystal resonator. In its specs, this crystal has a load capacitance of 18 pF, so I used the formula C_L = 2(18pF - 5pF) = 26 pF to select the load capacitor values (C6 and C7 in my schematic). However, I do not see any signal on the oscilloscope when probing OSCX_IN and OSC_OUT. At first I thought I had overheated the crystal during soldering, but I made sure to use hot air at 260 C as recommended in the specs.I have an LED connected to PB0 that I can blink with a simple program when the crystal is connected but it will not work if disconnected. This leads me to believe that the crystal is working in some sense? But when I set up USB and CDC, I see nothing happen at all within the device manager. Will the MCU default to the internal clock if current can be passed through the crystal but there is no oscillation? I have chec
I am trying to use the CAN Peripheral on my STM32F746G-Disco board. I am using a Waveshare SN65HVD230 transceiver from Amazon. I have built a working CAN bus and verified that messages are being sent 1 per second, using a USB Peak Can. When I try and send a message from the STM32Board it is not being picked up on the Peak can.The code works fine in LOOPBACK mode but in NORMAL it isnt working. Here is a scope capture from the Rx pin on the can transceiver. Main function codeint main(void) { /* USER CODE BEGIN 1 */ setvbuf(stdin, NULL, _IONBF,0); /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ // /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_CAN1_Init(); MX_USART1
Hello! everyone.I use the stm32 Nucleo-L476RG to read the total size of USB flash drive and external hard drives, respectively. It works with USB flash drives, but not with external hard drives. The error message from STM32 isFR_DISK_ERR (A hard error occurred in the low level disk I/O layer ) when I try to mount the external hard drives.The wiring diagram is followingPlease give me some suggestions to fix this issue. Thanks in advance.
Hello,Context: New to stm and HAL. Creating a new dual-core STM32 project on a NUCLEO-WL55JC1 board. Starting from cubeMX generated code with basically only RTC initialized on Core M4. Using STM32CubeWL Firmware package v1.3.1 . M4 builds and loads good.Issue: M0 does not build and I get these errors and warnings:1. C:/Users/Person/Documents/STM32CubeIDE/workspace_LoRaWPC/noTomorrow/Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_uart.c: In function 'HAL_UART_Transmit_IT':../../Drivers/CMSIS/Device/ST/STM32WLxx/Include/stm32wlxx.h:209:13: warning: implicit declaration of function '__LDREXW' [-Wimplicit-function-declaration]209 | val = __LDREXW((__IO uint32_t *)&(REG)) | (BIT); \| ^~~~~~~~C:/Users/Person/Documents/STM32CubeIDE/workspace_LoRaWPC/noTomorrow/Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_uart.c:1373:7: note: in expansion of macro 'ATOMIC_SET_BIT'I get a similar warning for '__STREXW'2. Then 9 of these type errors:C:/Users/Person/Documents/STM32CubeIDE/workspace_LoRaWPC/
Hello everyone,I have been trying to open communications via I2C between the STM32G484RET6 and a MCP47FXDX8 DAC using the STM32CubeIDE toolchain.However, as I struggled with that so much I took a step back and just tried to read the I2C data from a Nucleo-G474RE (thinking there was an issue with my aux circuitry for the RET6 surfboard). It seemed I was still not able to get anything on the logic analyzer (Analog Discovery Studio) out of the SDA & SCL lines.I have the SDA & SCL lines pulled high (3.3V) using 5k resistors. The code below shows what I have been trying.The ret stats there is a "HAL_ERROR" /* USER CODE BEGIN Header */ /** ****************************************************************************** * @file : main.c * @brief : Main program body ****************************************************************************** * @attention * * Copyright (c) 2025 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that
Hello all) To work with BLE I need to upload stm32wb5x_BLE_Stack_full_fw.bin with address 0x080CE000 via STM32CubeProgrammer It works as well, I did it many times, if check the box first boot for stack but I forgot (and not first time) to do that and now my BLE doesn't work on one of my devices I made full chip erase, reuploaded stake, removed stack, and installed again dozen times via STM32CubeProgrammer, I did all can via STM32CubeProgrammer (probably) but it doesn't work anymore. Why STM32WB so capricious in this situation? Does it exist any opportunity to erase the chip to factory settings with the stack as well, let's say a more hard option than provided in STM32CubeProgrammer ?
Hi, I have an STM NUCLEO-H753ZI board. On the website (see https://www.st.com/en/evaluation-tools/nucleo-h753zi.html#overview) it says something about a "MIPI20 compatible connector with trace signals". What exactly is meant by that? My board only has the MIPI10 connector without the trace signals. Is there a way to get those signals from the board? Best regards, lando
Similar problem to the U5 one reported here STM32CubeMX v6.13.0 generates broken CMake project... - STMicroelectronics CommunitySTM32CubeMX creates broken cmake files for the above Nucleo board. The template doesn't expand properly and the files are littered with {{sr:blah blah}} references.
Any update on when the middleware will be extended to support EPR? The availability of TCPPE or devkits is not really all that important for a software update and probably should not be gating. Should I switch to the HUSB238A instead of the STM32G0?
I want to use the 32-pin package of STM32L412 (STM32L412KBU3) as a USB device, using I2C to connect to a few sensors.If I use HSE clock on pin PA0, any suggestion as to a suitable crystal & caps?Could I use LSE instead, would this be accurate enough for reliable USB?Is the internal HSI clock accurate enough for USB? Would it be corrected?How to get power from USB-C connector to Vdd - I assume an LDO convertor to get from USB 5v down to 3.3v
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.