Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
I am trying to use stm32flash to program my board over UART. I understand that the board needs to be in boot mode in order for this to be accomplished, so using the STM32CubeProgrammer I have tried setting the resisters appropriately. BOOT_lOCK: set to unchecked for booting based on option bit configuration NBOOT_SEL: set to checked to use the NBOOT0 option bit instead of the BOOT0 pin nBOOT1: Checked for when BOOT0 is 0 to boot from system memory nBOOT0: unchecked to set to 0 Based on what I've read in AN2606, I should be following pattern 15 which should match what I have above, though there is no nBoot0_SW as is described in the documentation but I assume that is just NBOOT_SEL? I also have my st device flashed over JTAG with a program that initializes LPUART1 instead of regular UART1, not sure if this causes issues with flashing over UART. My uart configuration is 8 bit, no parity and 1 stop bit. I then connect my devices uart pins to a pi that has stm32flash installed on it a
How can you calculate a CRC-8-ATM using the CRC unit of a STM32F7?I want to check the CRC of the output of an ADC ADS127L11 which is transmitted via SPI. The user manual says the CRC calculation is based on CRC-8-ATM. The output is an 8-bit CRC, and the polynomial is X^8+X^2+X^1+X^0. I cannot configure this in the CRC unit of my STM32F7.Does anybody know if and how you can use the embedded CRC unit for CRC-8-ATM calculation?
When looking through the STM32L072 SVD files (from https://www.st.com/resource/en/svd/stm32l0-svd.zip) I noticed that the RCC CIER register is read-only, whereas in the reference manual it's read-write, which makes logical sense. Is there an updated SVD archive for the L0 family?
I made the PCB for stm32wb09kev6 myself and downloaded the p2p_server example program. I changed the LSE clock used in the example program to LSI and added an LED to indicate whether a Bluetooth connection is established. The Bluetooth can be scanned, but there is a problem with the Bluetooth connection part. The Bluetooth connection will be established briefly and then disconnected quickly (manifested as the LED turning off first and then on, and an error "an error occured during connection" will be reported in ST BLE ToolBox). The debug output is as follows:Success: aci_hal_set_tx_power_level commandSuccess: aci_gatt_srv_profile_init commandSuccess: aci_gap_init commandStatic Random Bluetooth Address: fd:c8:e7:c9:5c:bfSuccess: Gap_profile_set_dev_name - Device NameSuccess: Gap_profile_set_appearance - AppearanceSuccess: aci_gap_set_io_capability commandSuccess: aci_gap_set_security_requirements commandSuccess: aci_gap_configure_filter_accept_and_resolving_list command==>> End B
A similar problem to this post but not quite the same:I've got my own low-level LPUART transmission code, it works like this:1) Initialize LPUART in FIFO mode with thresholds at 1/2 full2) When a buffer needs to be sent, write bytes to TDR until all bytes sent or transmit FIFO is full3) If transmit FIFO is full, enable USART_CR3_TXFTIE and let the ISR handle the rest.4) When the ISR has written all the bytes to the FIFO, it disables USART_CR3_TXFTIEWhat I see is this:1) Send first packet. It's 10 bytes long, the first byte gets moved immediately to the TX shift register and 8 bytes fill up the FIFO so there's 1 byte left. The interrupt is enabled, the ISR fires, the last byte is written to the FIFO, the interrupt is disabled.2) Send second packet. It's 7 bytes long so fits completely in the FIFO and the interrupt is left disabled3) Send third packet. It's 71 bytes long, the first byte gets moved immediately to the TX shift register and 8 bytes fil
I want to use the ULPI interface & both the CAN interface for my project But I see For USB: Pin No: 194 pin name: PB5 Module function : USB_OTG_HS_ULPI_D7, ONLY ONE PIN no other pins are there For CAN Pin No: 194,195 pin name: PB5,PB6 Module function : CAN2_RX,CAN2_TX Pin No: 104,105 pin name: PB12,PB13 Module function : CAN2_RX,CAN2_TX How to proceed with it, since we have clash with Pin No 194?
Hello I am looking for STGIK50CH65T demo board named STEVAL-IPMHF50G.Can you tell me when will st official find this demo board information?STM32 MCSDK:6.3.2CubeIde :1.6.1
Hello, I am running SubGHz_Phy_AT_Slave on STM32WL55JC1 board and I see when running AT commands menu that there are TX and RX tests. I would like to use that example for peer to peer LoraWAN between two STM32WL55JC1 boards meaning one sends 100 bytes using Radio and t he second one receives it and acknowledges but I am not sure how to modify that example. I have seen that there are suggestions about modifying some examples for using only Radio.Send and Radio.Recv for having peer to peer but not sure how it applied to this SubGHz_Phy_AT_Slave example. In that example I see that the TX and RX tests use some random generated payload(with Prbs9_generator) Has anyone used peer to peer Lorawan between 2 o boards successfully with the ST examples? Thanks, Mihai
Hi,I am using the STM32H7S78-DK. I want to upload an encrypted application to the external 1-Gbit Octo-SPI flash memory connected to XSPI2.I am using the explanation in this video: https://www.youtube.com/watch?v=JxhKmVUB2Ws&list=PLnMKNibPkDnFQXYK0ztHV9iMVS6EAtKpD&index=10as well as the example code linked in the video description: https://github.com/ST-TOMAS-Examples-ExtMem/stm32h7rs_ospi_mce?tab=readme-ov-file As I am using XSPI2, I configure MCE2 to use the Noekeon encryption. My code looks like this:MCE_HandleTypeDef hmce2; uint32_t Key[4]= {0x23456789, 0xABCDEF01, 0x23456789, 0xABCDEF01}; hmce2.Instance = MCE2; if (HAL_MCE_Init(&hmce2) != HAL_OK){ Error_Handler(); } { MCE_NoekeonConfigTypeDef NoekeonConfig ; MCE_RegionConfigTypeDef RegionConfig ; NoekeonConfig.KeyType = MCE_USE_MASTERKEYS; NoekeonConfig.pKey = Key; if (HAL_MCE_ConfigNoekeon(&hmce2, &NoekeonConfig) != HAL_OK){ Error_Handler(); } /* Set the MCE Region configuration*
Hello, I am developing an application using STM32N657I have datasheet DS14791 Rev 4. There are pins for VDDIO2 to VDDIO5 and the datasheet implies that I can run the GPIO on an independent voltage supply. Chapter 5.3.17 even specifies low levels and high levels for 1.8V mode and 3.3V mode. I need SPI and UART at 3.3V level. I know that VDDCORE is 0.8 V, for this I will use the internal SMPS at 1.8VSome of the voltage signals have 1V8 in their name so obviously these run at 1.8V However I am not completely sure how I can/must supply the rest of the chip.Can i supply VDD and VDDIOx with 3.3V and have all the GPIO work at 3.3V? What else do I have to keep in mind when using 3.3V on this chip? ThanksLucas
I am trying to get a 7" LCD to interface with a STM32F407VET6 microcontroller. I am using a display from winstar which the product number is WF70A2TIFGDBT0. The screen is 800x480 pixels and uses 8080 interface. The display uses a SSD1963 driver and I am trying to use FSMC to interact with it. My problem is that the screen is not being initialized properly and I am confused why. I have attached my code so if anyone is willing to look at it and help me out that would be a great help. I am thinking that it is a timing issue but I am not sure the screen is just black throughout all of my testing. I am using FSMC Address 18 for my data/command select and an 8 bit data bus.
I am unsure if I correctly understand the power consumption of the N6 Family. I want to supply the MCU with 1,8V and use the internal SMPS to supply Core with 0,81V.When it comes to designing the 1,8V voltage source, how much current do I have to expect? Datasheet chapter 5.3.6 details supply current characteristics- I see that I_DD is almost negligable in the grand scheme (less than 1 mA)- CORE supplied by SMPS is given as current I_DDA1V8, order of magnitude around 100mA typ- I_DDA1V8 in and of itself also quite small with around 5 mA- I_DDA1V8AON itself also around 5 mA- Table 39. shows current consumption of SMPS, the given current is also I_DDA1V8AON with values up to 100 mA typ. Since some currents are defined multiple times in different tables I am having trouble to understand which values to take for a maximum current calculation.Do I have to add all together?Also, CORE supply without SMPS through I_DDCORE needs less current than when supplied with SMPS through I
Hi There,I am developing an RF link application where I need to transmit 64 bytes of data at 20-50 Hz over a range of 5-10m with some obstacles in the way. For robustness, I was looking at sub GHz devices, such as the STM32WL55. I purchased some NUCLEO-WL55JC1 for testing, and have been testing the example applications provided in the STM32Cube_FW_WL_V1.3.1, such as STM32Cube_FW_WL_V1.3.1\Projects\NUCLEO-WL55JC\Applications\SubGHz_Phy\SubGHz_Phy_LrFhss. However, the radio sending is far too slow for my application. I removed the dependancy on the sequencer and call Radio.Send from my main loop (see below). It takes 1900ms for the TX to be done, see screenshot below. My question is can this chip even send 64 bytes at 20 Hz? Am I just using the wrong example code, or is this chip just designed for a different application than mine (much longer range, lower datarate) and I am wasting my time here? Thanks for taking the time to read this and I hope to hear from you soo
Hello ST Community, I'm currently working with a NUCLEO-H755ZI-Q board and trying to set up a stable Ethernet communication using LWIP without RTOS. Unfortunately, I'm encountering an issue with a long initialization time and subsequent instability that I can't quite figure out. My Hardware & Software: Board: NUCLEO-H755ZI-Q Cube Firmware : V1.18.0 (also tested with V1.17.0) Configuration Steps in CubeMX/IDE (only for the M7, no changes for M4 made): Created a new project for the NUCLEO-H755ZI-Q. RCC: Set HSE (High Speed External Clock) to "Crystal/Ceramic Resonator". Clock Configuration: Configured System Clock (SYSCLK) to 400 MHz. Adjusted all dependent clocks accordingly, ensuring CubeMX/IDE reported no clock configuration issues. ETH: Enabled Mode set to "RMII". LWIP: Enabled LWIP. Disabled DHCP A static IP address was configured: 192.168.001.123 with subnet mask 255.255.255.0 Selected "LAN8742" under "Platform Settings". Generated co
Hello.I have developed an application with touchgfx, lwip, freertos.I had some problems with lwip (see processor goes to HardFault at __ISB - STMicroelectronics Community, HardFault_Handler when enable LWIP and touchgfx - STMicroelectronics Community).I understand some causes of HardFault and this morning code seems to work properly. I tried to run the code without debugger but my processor stuck in some point that I can't see because I have no debugger connected. I reconnect debugger, reflash and rerun. After this operations I obtain the problem described in processor goes to HardFault at __ISB - STMicroelectronics Community Why processor run with debugger but it stucks without it ? Thankyou in advance.
I'm trying to calculate if I need an external resistor with my HSE crystal (24MHz, 18pF, 50R) but the suggested formula example does not give the shown result. So is the formula or the result wrong or have I misunderstood something?Below example from AN2867: An initial estimation of RExt is obtained by considering the voltage divider formed by RExt and CL2. Thus, the value of RExt is equal to the reactance of CL2.Therefore, RExt = 1 / (2 π F CL2), and so, with an oscillation frequency of 8 MHz andCL2 = 15 pF, we have RExt = 1326 Ω. If I put the values mentioned in the formula I do not get 1326R??
Hi, I have a project in the MC workbench and I can generate code (for stm32F407) successfully when I use the "Three Shunt Resistors" current reading topology, and the code works well on my board. Now I need to change my board and use the current sensors. So I change the current reading topology in my project to "Two insulated current sensors". However, when I try to generate the code, the error "Neither embedded nor external opamps selected for current sensing for motor M1" appears. But I can't find any configuration on this issue in the project settings, could you please tell me how can I fix the problem? Thanks a lot.
Hi,I´m trying to get a USB HID Host running on a STM32G0 with STM32CubeMX and STM32CubeIDE.Unfortunately all examples or topics in ST communities don´t really work. Also the USB wiki doesn´t provide a clear explanation of all commands available in the libraries. Maybe it´s also a problem, that the examples for the G0 don´t use FreeRTOS...Can anyone help which commands (in which order) I´ve to use to read data (in my case from a CP2110 USB to UART bridge)? My current code:usbState = USBH_InterruptReceiveData (&hUsbHostFS, buf, 5, 0);usbState = USBH_Get_DevDesc (&hUsbHostFS, 10);USBH_SetAddress (&hUsbHostFS, 0x28);usbState = USBH_OpenPipe (&hUsbHostFS, 0, 0x28, 1, 0, 0, 8);USBH_HID_SetReport(&hUsbHostFS, USB_H2D, 0x50, &buf, 10); // Used to configure the CP2110USBH_HID_GetReport(&hUsbHostFS, USB_H2D, 0x01, &buf, 3); // Attempt to read data Best regards,Achim
Hi,I made some custom PCB's with a STM32L476RG. Here are some of the features:-USB-C connector (CC channel configured as device) with DM/DP routed to PA11/PA12.-Step down converter 5V (VBUS USB) to 3.3V (VCC for most components)-Tactile switches for BOOT and RESET-10 Pin SWD Debug header: SWDIO/SWDCLK -> PA13/PA14. SWO not routed.-no external crystalsI soldered one PCB up and checked the connections under the microscope and with some resistance measuring. So that should be fine.Now to my problem: I cannot flash or debug it. What I tried so far.-Using the bootloader via USB doesnt work. The MuP doesn't even show up in the device manager.Using an ST-Link from a Nucleo-L476RG board:-Run / Debug with CubeIDE gives error: "Could not read registers; remote failure reply 'E31'". When trying different debug settings and pressing RESET and/or BOOT while trying to debug sometimes gives different errors.-Trying to flash with CubeProgrammer gives warning "Warning: The core is locked u
Hi, I am interface ESP32 MCU to STM32H757-Eval board SPI communication, ESP32 is master side and STM32H757 is slave side below the pin configure, esp32 side send data but stm32h757 not received in debug mode, how to solve this
Hi,I am working on the STM32G431RB and implementing ABI/Z quadrature signal generation. I’m using a sensor that provides sine and cosine signals, which I read using the ADC to calculate the angle from 0° to 360°. The angle measurement is accurate and working perfectly.Now, I want to generate 1024 ABI pulses per revolution (PPR) based on this angle.About ABI:The A and B signals are square waves generated as the encoder shaft rotates.Due to the 90° phase shift between A and B, the direction of rotation can be determined:If A leads B, the rotation is in one direction (e.g., clockwise).If B leads A, the rotation is in the opposite direction (e.g., counter-clockwise).Clockwise Rotation Example:A: __|‾‾|__|‾‾|__ B: _|‾‾|__|‾‾|__ ↑ 90° phase shift My Goal:To generate 1024 pulses per revolution (0–360°) using the measured angle. If some one already work on this then please let me know the logic for this one:
Dear ST team,I’m facing an issue with my STM32F407-based system connected to a LAN8742A Ethernet PHY. After performing either a software reset or hardware reset, the device fails to respond to ping requests. Sometimes it works after a reset, but most of the time, it doesn’t.What Happens:After reset, the LAN8742A doesn't respond to ping.Ping resumes only after power cycling (disconnecting and reconnecting power).This happens consistently after both software and hardware resets.Setup:MCU: STM32F407PHY: LAN8742A (25MHz external crystal)Stack: LWIP (HAL-based) - multiple thread using same stack(HTTP,UDP,TCP.etc.)RTOS: FreeRTOS I have attached the controller & Ethernet schematic file the reference taken from nucleo board STM32F429ZIHow can I make the Ethernet link stable after every reset without needing a full power cycle?Any suggestions would be very helpful. Thank you!
Hi,I'm designing a PCB using H755, and the corresponding Nucleo's reference design is a helpful resource that I've been looking at closely.I'd like to support supply config modes 2 & 3 on my board but would prefer to do this using jumpers rather than solder bridges, adding/removing resistors or changing capacitor values: all these being needed on the Nucleo. Although these component changes are simple enough, I'd like an approach that's more convenient and less likely to result in damage to the board if the cycle is repeated a few times.Referring to the schematic MB1363 and Nucelo reference manual UM2408, I've highlighted the changes that need to be made when switching from config 2 (SMPS only) to config 3 (SMPS cascaded with LDO):My proposed variant on this is:Replace R35 with a jumper, placed as close as possible and with short traces to VCAPn and VFBSD.Replace R34 with another jumper, similarly using short traces and placements.Replace SB75 & SB76 also with jumpers, short tr
Hi currently i am using STM32H735G-DK ((DK32H75G$AT4) schematic pack MB1520-H735I-C02) for implementing Azure IOT using ThreadX 1. I followed example of NX_MQTT_Client it is working fine 2. But i need to connect to Azure IOT via Azure c sdk i have added those and removed mqtt, freshly gen required things via cubemx using X-CUBE-AZRTOS-H7 and dhcp as client and ethernet (RMII) in interrupt 3. During assign ip via DHCP ip is not assigning and the ip_address_change_notify_callback() was not triggered i have followed same as NX_MQTT_Client but still it is not assigning 4. I have attached file for app_netxduo.c NOTE: i have referred an example x-cube-azrtos-h5 for AZURE IOT but how to port this one to STM32H735G-DK (DK32H75G$AT4) schematic pack MB1520-H735I-C02 basically the folders and files of AZURE IOT how can we port ? Logs ========================================================================== (C) COPYRIGHT 2023 STMicroelectronics =
Dear support team,I am currently working on a bldc motor control project using the stm32 workbench. Because I am writing my bachelor thesis I need some background information on how the entire foc model behind the configurator is actually build. I assume that it has the same structure as other FOC projects with parke clarke transformation etc.. However I also need information on the observers that can be configured. Are there any papers that where used to program the observers? I would be really thankful if you could provide me with such information.Additionally is there any option to test the models in simulation for example in SimulinkKind RegardsEH
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.