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, I want to add a SDRAM chip to my board. Processing the images with internal RAM is insuficient. Reading the manual for FMC part I'm not sure how the bandwidth is working. If I have a chip with 8/16/32 bit, is pretty clear: one chip and that's it. But if the FMC has a bandwidth set to 16 for example and I have 2 chips with bandwidth of 8 bits, FMC can access the summed capacity of these 2 chips or it will see just capacity of 1 chip? Example: 2x 512Mbit chip with 8 bit, FMC will see just capacity of 1 chip aka 512Mbit or capacity of 2 chips aka 1024Mbit if bus width is 16 bits and the chips are connected in parallel? I was thinking if the FMC bandwidth is similar like in PC where the memory controller is using 64 bit bus width to access rhw whole 4x 16bit chips capacity. Thank you.
We just purchased one STM32U5G9J-DK1 from Digikey. We try to replace the LCD module on it with our own selected display with one MIPI lane. Thus, we are designing a interface board so that it can mate with CN2. And since we are also using a touch screen with I2C interface, we also need to connect CN4 I2C5. In this case, may I have the schematic and BOM of the main board MB1928B so that I can have all the pin definitions and connector model information? Thank you.
Hello Team,I have a new STM32F401RE board along with the ST-Link.I tried installing all the drivers required for the STM32 hardware, but the USB device itself is not getting recognised. Can you please help me resolve this issue?
Hello,I am currently working on interfacing an OV7670 camera with an STM32F429 using DCMI + DMA, and displaying the captured image on an ILI9341 LCD (SPI interface).I have successfully confirmed that the LCD itself works correctly (for example, filling the screen with a solid red color).However, no camera image is displayed, so I suspect there may be an issue with the camera operation or the DCMI configuration.I am using the following repository as a reference:https://github.com/PHANzgz/STM32-H7-camera-interface-and-displaySince this project is originally for STM32H7, I have modified the configuration as much as possible to make it suitable for STM32F429.At this point, I would like to ask whether there are any STM32F4-specific considerations, missing settings, or common pitfalls when using OV7670 with DCMI + DMA.Any advice or working references for OV7670 + STM32F429 would be greatly appreciated.Ths is my code./* USER CODE BEGIN Header */ /** ******************************************
My projects are all in C++ and were building completely fine. After I generated the code from CubeMX, the language switched back to C. I had to go and manually switch to C++, then it gave me build errors with linker script... Please fix!
Hello,I'm facing an issue in CubeMX with the AES IV in CTR ModeThe IV is not saved in the IOC file and is discarded from the generated code, replaced with a full 0 value.The AES content inside the IOC file:AES.Algorithm=CRYP_AES_CTRAES.DataType=CRYP_DATATYPE_8BAES.DataWidthUnit=CRYP_DATAWIDTHUNIT_BYTEAES.IPParameters=KeySize,DataType,DataWidthUnit,pKey,AlgorithmAES.KeySize=CRYP_KEYSIZE_256BAES.pKey=-------- -------- -------- -------- -------- -------- -------- --------MCU: STM32F423VHTCubeMX: Latest version 6.16.1AES SettingsAlgorithmData encryption type AES CTRParametersData type 8b(byte swapping)KeySize 256bEncryption/Decryption key -------- -------- -------- -------- -------- -------- -------- --------Initialization vector E467824C 805348FF 4CE1DF70 566ED4A9Data width unit ByteKey and IV configuration skip Always
Hi all,I used STM32H7S78-DK and everything was fine: I was able to load and flash the "HVAC Iot Demo" from TouchGFX Designer at the first time and develop my application using STM32CubeIDE.Then I bought an STM32N6570-DK and did the same procedure as before, but I was not able to flash that demo.I can successfully generate the code inside the TouchGFX Designer (version 4.26.0) but, when I push the button "Program and run target", I get this kind of error: Erasing memory corresponding to segment 0:Erasing external memory sector 0Error: failed to erase memoryError: failed to erase memoryc:/TouchGFXProjects/STM32N6570DK/IotDemo/MyApplication/gcc/include/flash_sections_int_ext.mk:18: recipe for target '_fsblflash_' failedmake[2]: *** [_fsblflash_] Error 1makefile_fsbl:45: recipe for target 'flash' failedmake[1]: *** [flash] Error 2../../gcc/Makefile:8: recipe for target 'flash' failedmake: *** [flash] Error 2FailedFailed Can anyone please help me?
Hi! I have ran into an issue with the HAL that I have yet to find a decent solution to. This issue has been discussed multiple times in different contexts on the forum, and I though I would write a post to gather some of the discussions/proposed solutionsI have labeled this post with the STM32H5 Series as that’s what I’m working on right now, but I believe this might apply to most/all of the STM32 Series.The issue relates to callbacks in the peripheral drivers of the HAL. Take for example an SPI transaction that I want to initiate on an instance, and where I want the MCU to be notified by an ISR when the transaction is completed. The callback has a type signature of void (* TxRxCpltCallback)(struct __SPI_HandleTypeDef *hspi);in the case of a registered callback or simplyvoid HAL_SPI_TxRxCpltCallback(SPI_HandleTypeDef *hspi);when the callback is overwritten from user code. In the callback I can easily identify which SPI instance triggered the interrupt and act accordingly. However, an i
In the datasheet of LSM6DSV80XTR maximum junction temperature is not mention. Maximum junction temperature is required to do the thermal calculation. please any guidance how to obtain the maximum junction temperature till which this IC can work safely.
Hi !We're testing with the eval-boards NUCLEO-H7S3L8 + X-NUCLEO-67W61M1.The software is the CLI project of the NUCLEO-H7S3L8.At the bottom of this post you will find infos to the software versions.There we're having an issue when we try to connect to an WiFi AP and the password includes a comma (',').It looks the ST67W6X_Network_Driver is encoding and sending the AT-command correctly, but the NCP (ST67W611M1) response with ERROR.So it seems to us it's an issue of the NCP firmware.Via Shell/CLI we initiate the connection to the WiFI AP via the command wifi_sta_connect.When we set the password at the AP to "pw123456" we can connect to the AP.When we set the password at the AP to "pw123,56" we can not connect to the AP.For debugging we followed the code in the ST67W6X_Network_Driver till function W61_AT_Common_SetExecute(..).There the AT-command is sent and the response is received.If the password is not including a comma, it is connecting to the WiFi AP successfully.The communication of
Hello everyone,I'm writting today because I have some questions about the memory assignment of the flash on dual core devices such as stm32h745 mcu.I'm trying to assign a direction for the boot program, imagine 20k from "0x08000000". Afterwards I wan to assign 1.5mb for the cm7 and the rest for the cm4.As I understand, by default the flash is separated in 2 banks, first bank for the cm7 and second one for the cm4.I wanted to know if it was possible to use the first bank and half of the second for the cm7, and the rest for the cm4.If so, how I should proceed to achieve that? Because I managed to set the beginning of cm4 on another memory direction by setting the FLASH_BANK2_BASE define, but I don't feel like this is the best approach.Any ideas would be greatly appreciated.Best regards,RPC
Hello,Right now I am using 2 STM32WBA55G-DK1, one as PBP_Source and other is TMAP_Peripheral. The source consists of 2 BIS channels and in TMAP, I have included language selection option to include the subgroup or channel selection. And its working fine. But if I select Unicast option and pair with S24 mobile, only first channel or subgroup I can select, not the 2nd one. May I know whats the reason and how to overcome from this. Thank you
We don't want to use I2C, in TDA7577BLVPDWe want to use TDA7577BLVPD in legacy mode how can we set gain to 16dB in legacy mode?I could not find any reference in parts datasheet
Hello,I am trying to start a new project on a STM8s003K3 discovery kit, i have downloaded and installed STVD without a problem but I can't download Cosmic C Compiler. The download link in the Cosmic site is not working, I have tried anything I can think of (changing DNS settings, resetting IP, checking host file) to fix timeout error thinking the problem was on my end but I can't download it on another pc connected to another WiFi either so I think it is the download link which is broken. Any ideas what might be the issue? If this is unfixable there any other opensource compiler for stm8s?
I created system_clock_initial function to config my board using PLL as system clock and running at 200MHz and also get APB1 timer at 100Mhz (for TIM5 delay function). See my code below. After that I create delay function from TIM5 and test with build-in LED when I upload my code to board and it begin to run, at beginning of time LED blink faster than delay time(1second) that I specify but after about 30 second LED blink properly with 1 second delay.What should I fix it?void system_clock_initial(void) { /* Turn ON HSE oscillator */ RCC->CR |= (RCC_CR_HSEON); while(!(RCC->CR & RCC_CR_HSERDY_Msk)){} /* Enable Power interface clock */ RCC->APB1ENR |= (RCC_APB1ENR_PWREN); /* Enable Backup Domain Write Protection for Access Backup RTC & SDRAM */ PWR->CR1 |= (PWR_CR1_DBP); /* Set flash period to 7 wait state */ FLASH->ACR = (FLASH_ACR_LATENCY_7WS | FLASH_ACR_PRFTEN); /* PPRE1 Divide by 4 */ RCC->CFGR = (RCC->CFGR & ~(RCC_CFGR_PPRE1_M
Hi,i have a bit of situation here.I wanted to try a zigbee example from cube mx (On/off ED).So i first flashed the FUS v2.2.0 on the device.But now it turns out that i can not flash the desired FW anymore : stm32wb5x_Zigbee_FFD_fw.bin.It only errors :(I have the feeling that this FW is not working with FUS 2.2?If so - I am right that i can not downgrade FUS anymore once it is updated? This basically would mean i wasted hundreds of EURs for those dev boards.
Hello everyone,I am using the X-NUCLEO-NFC10A1 NFC reader with an NXP MCU.I am able to successfully detect a MIFARE Classic 4K card using this reader.However, when I try to authenticate a sector for read/write access, I encounter an issue.I am sending the authentication command using the sequence:[ AUTH_CMD + BLOCK_ADDRESS ]After sending this command, I get a timeout error.I tried increasing the timeout value, but the issue still persists.When I manually append the CRC to the authentication command and transmit it, the reader returns a framing error.Could someone please confirm: Is this the correct way to perform MIFARE Classic 4K authentication using the ST25R200? If yes, what could be the reason for the timeout or framing error?If anyone has reference code, application notes, or examples related to MIFARE Classic authentication with ST25R200, please share.Thank you in advance for your help.
Hello, I'm Emily and I'm fairly new at using NUCLEO devices and ToF sensor. I would like to ask if a board NUCLEO-F401RE could only run one .bin file or could it run two .bin file? I'm currently trying out STSW-IMG035 but would like to have Gesture and Hand Posture running on one program instead of two. Also, I would also like two know if it is possible to have gesture and hand posture to run in one program as well. Any help is appreciated! Thank you! Emily
It happens to from time to time that I have a flashed project in a hardware, e.g. a bluepill, but I forgot which source project was belonging to it in the STM32CubeIDE's project treeview.Is there a way to write the name of the project by means of some C-macro in text form into the program as kind of a signature or even more safely, compute a checksum of the flash binary and write that checksum into the program (yes I know, this may become tricky since the checksum alters the checksum itself :)Is there a common technique for this?
Hello ST community,I have some troubles with dummy cycles using Quad-SPI interface in DDR mode on STM32H743 and STM32F746.I am trying to read data from IS25LP080D QSPI flash with FAST READ QUAD IO DTR MODE OPERATION (0xED command). It is 1-4-4 mode.I am having trouble with number of dummy cycles. From IS25LP080D datasheet there must be 6 dummy sclk cycles between address and data. But to get 6 dummy cycles I must set cmd.DummyCycles = 3; in my program. Why there are 3 extra dummy cycles on diagram?My read function for HAL is below. In this function I set cmd.DummyCycles = 3.IS25LP_Status_t IS25LP_ReadQuadDDR(QSPI_HandleTypeDef *hqspi, uint8_t *buf, uint32_t addr, uint32_t size) { QSPI_CommandTypeDef cmd = {0}; cmd.InstructionMode = QSPI_INSTRUCTION_1_LINE; cmd.Instruction = IS25LP_FAST_READ_QUAD_IO_DDR; cmd.AddressMode = QSPI_ADDRESS_4_LINES; cmd.AddressSize = QSPI_ADDRESS_24_BITS; cmd.Address = addr; cmd.AlternateByteMode = QSPI_ALTERNATE_BYTES_NONE; cmd.AlternateBytesSize =
Created a new project with v6.8 and reproduced the issueSteps: 1.cubeMX create new STM32F334 project and generate code.(Project-application structure-advancedProject-IDE-MDK-v5.32Code Generator- copy only the necessary library filesCode Generator- Delete previously gernerated files) 2.Create a Middlewares folder (/project folder/Middlewares), copy some folders in this folder (/project folder/Middlewares/mymiddleware).3.Generate code again, Middlewares folder is deleted.os:Win10jre:IBM Semeru jre 11.0.18.10
Post edited by ST moderator to be inline with the community rules for the code sharing. In next time please use </> button to paste your code and a linker script content. Please read this post: How to insert source code. Hi, I am trying to use timer1 as a delay timer , but I cannot seam to get the timer working, what am I doing wrong? following is the code for testing timer1 with overflow Interrupt. #include "iostm8s003.h" #include <stdint.h> /* ===================== Own peripheral structs ===================== */ /* ---------- CLK ---------- */ typedef struct { volatile uint8_t ICKR; /* 0x50C0 */ volatile uint8_t ECKR; /* 0x50C1 */ uint8_t RESERVED1; /* 0x50C2 */ volatile uint8_t CMSR; /* 0x50C3 */ volatile uint8_t SWR; /* 0x50C4 */ volatile uint8_t SWCR; /* 0x50C5 */ volatile uint8_t CKDIVR; /* 0x50C6 */ volatile uint8_t PCKENR1; /* 0x50C7 */ volatile uint8_t CSSR; /* 0x50C8 */ volatile uint8_t CCOR; /* 0x50C9 */ volatile uint8_t PCKENR2; /* 0x50CA */
Dear Community Members,I am trying to control / communicate-with X-NUCLEO-BNRG2A1 via NUCLEO-STM32F411RE.I am observing two issues for which I request your help:1. Code works when J15 is open (i.e., pins 1 and 2 are not shorted) on X-NUCLEO-BNRG2A1, but the EXTI interrupt on PA0 of STM32F411RE never triggers in its code. On X-NUCLEO-BNRG2A1 R70, R81, R83, R84, R86, and R87 are DNP / NC. While R76, R82, R85, R88, R116, R74, R75, R79, R80, R77, R119, R71, R117, and R73 are connected.J!0 pins 1 and 2 are shorted. J14 pins 2 and 3 are shorted.2. Using LightBlue App on mobile. Whatever changes I make to code I do not observe event value 5 on disconnect. I always observe event_pckt->evt reporting value 4. (Using printf) I observe 2 outputs with event value 4 at power on, 3 outputs with events with event value 4 at connect, and (possibly at least) 1 output with event value 4 at disconnect.In main.c: /* Initialise HCI */ extern void hci_event_cb(void *pckt); hci_init(h
Hi all, I've recently been working on a Nucleo H723ZG with a working implementation that allows for ADC reading over DMA. I've got a Timer event that triggers it at 20kHz and it was reading and processing multiple ADCs. I've shifted to using a custom developed board with a surface mounted STMH733VGT6. I've configured the ADCs and timers to what I believe is the exact same as before. I have verified that there is nothing wrong with the ADC circuitry by initially setting them up using poll for conversion, I was able to get valuable data out of the board doing this.When I went to setup the ADCs to use DMA however I started to have issues, I believe that theHAL_ADC_ConvCpltCallback isn't being called but I am not sure why, I set a break point in there which is never reached. Below I have copied in my TIM1 init function as well as my ADC1 init function in hopes that it may help someone assist me with my issue. Really appreciate you taking the time to read this and assis
Hello everyone. I was trying to implement the 6 Step PWM using STM32F411RE Nucleo board to drive a BLDC motor via 3 half bridges. Each half bridge was driven by signals from TIM1, using 3 of it's channels along with their complementary output for HIN and LIN of IR2110.TIM1_CH1 is located at PA8 for this board. This pin is shows continuity towards the 5V and U5V pins. The voltage for PA8 in reference to GND is around 2.8V. I have tried almost everything including disabling the TIM1, disable the GPIO pins, setting the PA8 as analog pin, disabling the peripheral clock, disable MCO, cleared MODER and AFR, tried NVIC_SystemReset, RCC clock reset, Timer Reset, shorted BOOT0 and VDD - power cycling the board, lastly I also pulled NRST low, did all of these separately, but still it showed a short between PA8 and 5V-U5V pins. This pin worked fine before. It was only after I accidentally set LOCK to level 2 in BDTR register of TIM1 that I saw weird behaviour from this TIM1 Channe
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.