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
My board is not waking up, i connected the cells and the VREG is zero, I connected the cells as it is stated in the user manual, i tried to send frames to wake it up, but nothing, no life is there, LD2 is dead, does anyone have an idea what should i do?
Hello everyone,I apologize for posting a similar message again, but for some reason I can no longer access my previous post.I am currently studying how my Nucleo N657X0-Q board works, and for this purpose I am trying to create a TCP server project using a static IP address.However, despite what seems to be a correct configuration, my board does not respond to ARP requests. I checked this using Wireshark and the arping command on Linux, but the result is always TIMEOUT.The MAC address seems to be correctly configured, the LAN8742 driver also appears to start correctly, and all IP, TCP, UDP, ARP, and ICMP services return SUCCESS.In the meantime, I also used the .ioc file from the following link, as suggested to me, in order to compare it with my own project : webserver Despite my new modifications, the symptoms remain the same. I also tested the steps performed in the nx_stm32_eth_driver code, and I was able to see that Initialize, Enable, and Attach are being called.I added a printf out
Hello,We are currently evaluating the EEPROM Emulation package provided for SPC58 devices and would like to understand the intended production usage regarding flash erase operations during block swap.While reviewing the EEPROM emulation source code, we observed the following call flow:eeprom_write() └─ eeprom_blockswap() └─ eeprom_lld_flasherase()Inside eeprom_lld_flasherase() we found the following implementation:/* Erase the block */returnvalue = FlashErase(&ssdConfig, C55_ERASE_MAIN, lowBlockSelect, midBlockSelect, highBlockSelect, nLargeBlockSelect);if (C55_OK != returnvalue) { return FLASH_ERROR_ERASE;}/* Wait for completion */while (C55_INPROGRESS == FlashCheckStatus(&ssdConfig, C55_MODE_OP_ERASE, &result, &dummyCtxData)){}if (C55_OK != result) { return
I am trying to interface the EEPROM AT24C04C with STM32G4 series controllers. I have confusion in the function parametersHAL_StatusTypeDef HAL_I2C_Mem_Read_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint8_t *pData, uint16_t Size)Can you please clarify on the MemAddSize parameter what has to be sent to for the above EEPROM?2nd Question: 1 page is 16 bytes, is it possible for me to write data above 16 bytes as well?
I’m working on SPC58EC80E5 in autodevkit studio , serial tranmitter is working but serial recevier is not working , i attachesd the serial driver coniguration check it and also my main.c is below #include "components.h"#include "serial_lld_cfg.h"#include <stdio.h>#include <string.h>uint8_t ch;char buffer[20];uint8_t idx = 0;int value = 50;/* ── Strip \r and \n from string ── */static void stripNewlines(char *str){ int i = 0, j = 0; while (str[i] != '\0') { if (str[i] != '\r' && str[i] != '\n') str[j++] = str[i]; i++; } str[j] = '\0';}int main(void){ char msg[50]; componentsInit(); irqIsrEnable(); sd_lld_start(&SD12, &serial_config_configuration_name); sd_lld_write(&SD12, (uint8_t *)"UART Ready. Send number like 120#\r\n", 35); while (1) { if (sd_lld_read(&SD12, &ch, 1) == 1) { /* ── ignore \r and \n completely ── */ if (ch == '\r' ||
Hi everyone,I tried Secure Firmware Install (SFI) with the Nucleo-H563ZI. The process failed, however my device is still accessible. By connecting to the device via Hot plug and Access port 1 I am able to see that the device is in "Provisioning" state.The option bytes are as follows:{ "deviceId" : 1156, "bitNameToValue" : { "PRODUCT_STATE" : 23, "BOR_LEV" : 0, "BORH_EN" : 0, "IO_VDD_HSLV" : 0, "IO_VDDIO2_HSLV" : 0, "IWDG_STOP" : 1, "IWDG_STDBY" : 1, "BOOT_UBE" : 195, "SWAP_BANK" : 0, "IWDG_SW" : 1, "NRST_STOP" : 1, "NRST_STDBY" : 1, "TZEN" : 180, "SRAM2_ECC" : 1, "SRAM3_ECC" : 1, "BKPRAM_ECC" : 1, "SRAM2_RST" : 1, "SRAM1_3_RST" : 1, "NSBOOTADD" : 524288, "NSBOOT_LOCK" : 195, "SECBOOT_LOCK" : 0, "SECBOOTADD" : 0, "SECWM1_STRT" : 0, "SECWM1_END" : 127, "WRPSGn1" : -1, "SECWM2_STRT" : 0, "SECWM2_END" : 127, "WRPSGn2" : -1, "LOCKBL" : 0, "EDATA1_EN" : 0, "EDATA1_STRT" : 0, "EDATA2_EN" : 0, "EDATA2_STRT" : 0, "HDP1_STRT" : 1, "HDP1_END" : 0, "HDP2_
The BAT30 datasheet shows a storage temperature of -65 to 150C and a maximum junction temperature of 150C. There is no mention of the minimum operating temperature though. Can you clarify?
I am designing a PCB based on the STM32N657X0H3Q, using the STM32N6570-DK EVB as a reference.I would like to use an external Flash memory in my design. Since our firmware engineers are already working with the EVB, the preferred option would be to use the same Flash device as on the EVB (MX66UW1G45GXDI00). However, I am not sure about its availability and stock status. This is a 1-Gbit Octal SPI Flash.How can I determine which Flash memories are compatible with this MCU? For example, would the ISSI IS25WX256-JHLA3 be a suitable alternative?
Hi,We are running the STM32 programmer in parallel via Test Stand, the programmer 1 is working fine, but the programmer 2 gives us an error message: “Error: failed to generate license for the current STM32 device”. As the original setup, both programmers were running without any issue, the error just appeared in the last couple, which caused the FW programming step failed. We tried to reseat the cable that connect to the programmer, reseat USB connect to the card reader. Can’t solve the problem. ST-LINK FW : V3J15M7B5S1Board: STLINK-V3SETI hope any expert here can help me to solve this issue. Thanks for your time.
I am using an STM32 Nucleo-F746ZG board and trying to establish a TCP/IP connection between the board and my laptop. The laptop is configured as the TCP server using Hercules tool, while the STM32 board acts as the TCP client. I have configured static IP addresses, and I am able to successfully ping the STM32 board from my laptop, which confirms basic network connectivity. However, when I start the TCP server on the laptop using Hercules, the STM32 client is unable to establish a connection to the server.I attach code and .ioc configuration for reference.
Hi Guys,I am writing a code to measure a pulsating DC voltage. All that I have decided to take 50 samples and take the highest one. Multiplying the peak value by a factor will give me the approximate RMS value. Please see my code. When built, an error “ Incompatible pointer assignment” shows. #include "stm8s.h"unsigned int max_v;unsigned k;unsigned int val[100];void Clock_Config(void) {CLK->ICKR |= CLK_ICKR_HSIEN; // Enable HSIwhile (!(CLK->ICKR & CLK_ICKR_HSIRDY)); // Wait for stabilizationCLK->CKDIVR = 0x00; // HSI 16MHz / 1 = 16MHzCLK->SWR = 0xE1; // Use HSI as master clock}void adc_init(void) { ADC1 -> CR1 = 0x40;ADC1 -> CR2 = 0x08;ADC1 -> TDRH = 0xFF;ADC1 -> TDRL = 0xFF;ADC1 -> CR1 |= ADC1_CR1_ADON; }uint16_t read_mains_value(void) {unsigned int value;ADC1 -> CSR = 0x05;ADC1_StartConversion(); while(ADC1_GetFlagStatus(ADC1_FLAG_EOC) == FALSE);value = ADC1_GetConversionValue(); ADC1_ClearFlag(ADC1_FLAG_EOC); // return value; }vo
I tried for several days to download the STM32CubeMX but the download just breaks.Most of the time the download panel just circles around for even or if it comes up it just breaks mid download.I also tried with different users and different browser and also in incognito mode but with the same result.I even made ticket on it but it doesn’t seem that anybody cares and I ask the robot to report it to a human but it just guides in the support side. So it seems that nobody care in this company to fix the problem. Best regardsCasten
Dear ST Team,We would like to request the design files for STDES-30KWVRECT for evaluation and reference purposes.Kindly share the available design package, including schematics, PCB layout files, BOM, Gerber files, firmware, and any related technical documentation.We appreciate your support and look forward to your response.Best Regards,AriharasuthanSenanitech
I have verified in my code that writing and reading with I2C works as expected, and registers are configured seemingly correctly. I believe there must be a problem with how I write the configuration file to the BMI270, but I am at a loss as to what error exists in my code.Here I present the initialization function and starting function for the BMI270:--------------------------------------------uint8_t BMI270_init(void) { uint8_t address; uint8_t init_addr0 = 0x5B; uint8_t init_addr1 = 0x5C; uint16_t init_val = 0; uint8_t value, val_lsb, val_msb; uint8_t buffer[2] = {0}; uint8_t err = 0; //disable PWR_CONF.adv_power_save (addr=0x7C,val=0x00) address = 0x7C; value = 0x00; //Read address before err = I2C_read(&address, buffer, 1); if (err != HAL_OK) {return err;} //Print result UART_print_char("test pwc 1: ", 12); UART_print(buffer, 2); UART_print_char("\r\n", 2); err = I2C_write(&address, &value, 1); if (err != HAL_OK) {return err;} HAL_Delay(1); //Read address afte
Several discussions on this topic have been lost in the forums transition, or not moved yet, I could not find them here. So I’ll post again to summarize.In recent changes of the Cube ETH drivers for several STM32 packages (H7, F7, maybe others as well) handling of ETH_MACFilterConfigTypeDef.BroadcastFilter seems to be corrected.The BroadcastFilter = ENABLE means that broadcast receive is blocked. This field should be left DISABLED.The hardware defaults are good for typical (UDP, TCP) apps. Especially, receive of broadcasts is enabled. In ethernetif.c of the ST LwIP examples, HAL_ETH_SetMACFilterConfig() is not called, because the default state is OK.The problem could occur with the old versions of HAL drivers, when the network software tampers with multicasts and other advanced filtering and calls HAL_ETH_GetMACFilterConfig - this one could return the BroadcastFilter bit inverted, so calling HAL_ETH_SetMACFilterConfig again with result of HAL_ETH_GetMACFilterConfig could block broadca
Hello,I am looking for an IC to monitor cell voltages of a 12s lipo battery.I found the L99BM114 IC. To get started, I bought the STEVAL-BMS114TX.Currently, I have connected 12 resistors in series to my lab supply with 48v. In between these resistors, I soldered cables and connected them to the Connector 7 (P1). On Connector 5 (CN1) I connected an STM32 Development MCU. With that MCU, I try to communicate via SPI. On Connector 2 (CN3) I connected my MCU: GND to GND, VIO to 3V3 and VDD to 5V. My Problem is that I don't get any sings of life from that board via SPI. The Cellcoltages measured at the PCB are correct. I also tried to pull pin20 (SPIEN) of the IC to VCOM, but this doesn't help. Can you give me a point where I can start? Kind regards and thanks in advance Dennis
Reposting due to last topic vanishing during migration.I have an project running great on a STM32WB05 nucleo platform. I have built my own custom board and everything works great until it starts to advertise and then it reboots.. I have double checked everything on the board and it matches the reference design. I am using the internal SMPS and running on a bench supply currently at 3.3V limited at 300mALooked at a bunch of things but really cant understand the issue. If i stop it advertising (change nothing else) then it starts up perfectly and runs. Other symptoms/infoBoard is drawing 7mA which seems high for idle (no low power mode enabled yet). I had 4 boards made. One worked briefly on the PSU. I then used a coin cell and it starting failing on that. Now doesnt work on PSU.Any sensible ideas welcome especially from anyone who has seen this. In many years of BLE development, i havent
I would like to use the Stop3 low-power mode on an STM32U545RE (NUCLEO-U545RE-Q board) and to wake-up the device by the RTC. I have a working example for Stop2 mode for which I largely used the inspiration from the stm32u5 workshop. But when I replace the HAL_PWREx_EnterSTOP2Mode call(s) with HAL_PWREx_EnterSTOP3Mode, the device does not wake up from the stop mode anymore. At least the current consumption drops down to 3uA so I am confident that the Stop3 mode itself is working.The code parts of my main function which I believe are relevant look as follows:HAL_Init();SystemClock_Config();SystemPower_Config();MX_GPIO_Init();MX_ICACHE_Init();MX_RTC_Init();/* The SMPS regulator supplies the Vcore Power Domains */HAL_PWREx_ConfigSupply(PWR_SMPS_SUPPLY);/* Enable ultra low power mode */HAL_PWREx_EnableUltraLowPowerMode();/* Enable the Autonomous Mode for the RTC Stop0/1/2 */__HAL_RCC_RTCAPB_CLKAM_ENABLE();/* Set RTC wakeup timer for 2s */HAL_RTCEx_SetWakeUpTimer_IT(&hrtc,
Hi,I do have two STM32H563 devices connected together via UART. I would like to use one as a ‘programmer/flasher’ and the other as a ‘target’. On the ‘target’ MCU I would like to use an already in-built bootloader available over USART1. The only problem is the programming/flashing implementation on the ‘programming’ MCU. Is there any example code available somewhere that contains such an implementation? I can see that there is this code publicly available:https://github.com/STMicroelectronics/stm32-mw-openbl...but it only contains implementation of the bootloader protocol for the target device, not the programming/flashing one.I am trying to evaluate the effort needed to make such an implementation to happen. I would like to avoid writing my own bootloader with my own custom protocol (although at the moment this seems like an easier option to be honest).Kind regards
Iam triying to capture data using timer+hpdma cofiguration , but hpdma is not working, not copying data .. but the same configuration with gpdma is working fine.. how to configure hpdma any special configuration regarding RIF.. please give some brief explanation
I need to develop an application for night vision using NUCLEO-N657X0-Q for a customer and I want to connect the right camera to the CN6 connector.I don’t know which camera I should choose. I need support to find the best solution.Thank you
I have a custom board with G491 and an LED driver (Kinetic KTD2037). MCU is the I2C master. Any attempt to read a register using HAL from the KTD2037 fails, ErrorCode = 0x2 (arb lost). Register writes are OK. I can read/write other devices on the same bus OK. The KTD2037 datasheet has this for an I2C register read:This doesn’t seem consistent with HAL_I2C_Mem_Read() or HAL_I2C_Master_Receive(). On a scope HAL_I2C_Mem_Read() results in S, 7-bit addr, write, ack, reg addr, ack, Sr, 7-bit addr, read, ack, 0xFF, nackI try setting the internal register pointer (it may not have one) using HAL_I2C_Master_Transmit(), which works OK. Then I follow it with HAL_I2C_Master_Receive() resulting in S, 7-bit addr, read, ack, 0xFF, nackIt looks like the master says arbitration lost because of unexpected nack from the KtTD037.The KTD2037 datasheet does not mention I2C repeat start.Any way to read this device without writing my own I2C driver?
Hi, I would need FIT or MTTF for M24512-RMN6TP. ThanksBest regardsEnrica
I’m in the process of moving a project from Standalone STM32CubeIDE to the STM32Cude for VSCode extension. I fully expected project and configuration changes, but not changes to the source code.However, if I just change the Toolchain / IDE setting from STMCubeIDE to CMake and regenerate the code I see changes to the Core/Src/syscalls.c and Core/Src/sysmem.c. files.For example, the CMake versions of syscall.c and symem.c seems to be an older version based on Copyright being 2025, while STM32CubeIDE version is 2026 (see below).I also notice I get a very different linker files; different names and content (and again the CMake Copyright date is older).Why is this? Is this a bug, or an indication that the two generators have diverged and the Cmake version is not being kept up-to-date?This potentially negates some of my testing, as it goes against my assumption that moving to VSCode will not change the build ‘because it uses the same code and same toolchain’. This is the diff for syscall
This account only shares restored community content posted by members between May 22 and June 9, 2026, who did not register for the new community.This topic was created on June 8 2026 10:14 PM. @MariaWilliams posted:Hi everyone,I'm designing my first custom PCB around an STM32H7 microcontroller and would appreciate some advice before sending it for fabrication.The board will run at high clock speeds and includes:STM32H7 MCU External QSPI Flash Ethernet PHY TFT display interface Several ADC inputsI've already followed the reference schematic, but I'm unsure about the PCB layout side of things.What are the most common mistakes you have seen in STM32H7 PCB designs?In particular, I'd like to know:How critical is crystal placement and routing? Do all decoupling capacitors need to be on the same side as the MCU? Any recommendations for ground plane partitioning? Are there any Ethernet or QSPI routing pitfalls that beginners often overlook?I'd appreciate any tips, design guides, or examples
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.