Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
Hello Support, I am not able to find the QSPI config in the STMCube 1.18.1version. I have attached the snapshot. According to the EvalBord it supports QSPI. CAN you guide me here for the setup. Best Reagrds, Manikanta
Hi,We are working with the STM32G491 board and intend to drive the NRST pin using an external device. Could you please confirm the minimum low-level pulse duration on the NRST pin for it to be recognized as a valid reset by the MCU?
Got this issue on entering sleep. I set my advertising to 1 second, and do not touch it after. Before sleep, all was good, I was advertising every ~1 second but when I enter sleep I notice it jumps to 1 or 2 ms.. very fast, and not so power consuming. I didn't test with power testing tool, to validate the peaks, but only via the phone app. Wonder what might be causing this?? Do I accidently shutdown some peripheral important for BLE?
Hi all I am trying to run ethernet stack along with freertos using TcpServer,so the issue what I am facing is I am not able to ping my board via hercules. I have checked all the configuration and register MAC MMC DMA is fine and even my three tasks 1ms 5ms 10ms are working fine .I am running systick timer for freertos and TIM2 for HAL delay. and timer also working fine . I have checked plenty of times there is no issue with initialisation process as per my knowledge could you please help me. NOTE: So I have few doubts related to ethernet first who will validate or where I will receive the incoming data or something when I try to first do hand shake by connect with the port from hercules. Second doubt is there any buffer where I can see received information when connection is attempted via hercules. so that I can atleast know whether my phy or MAC or DMA or TCP stack is not correctly working. I am looking forward for your response like you helped me in previous queries I raised before.
The chip is H743. After performing a erase operation on a page and resetting it, when I read the page again, the debug page shows that the erased page is 0xAA. As long as I read it, I will enter hardfault. Have you ever encountered a big shot,
I would like to ask about the current load. I expect to use three sets of SDADC, SPI, and USART, all of which will use DMA for transfer and operate at a frequency of 11000HZ. The clock will use an external 12M crystal oscillator. I estimate from official data that it will be 60mA. I don't know if this judgment is feasible.
Hi everyone,I’ve designed a schematic based on the STM32G0B1CE microcontroller. Since there’s no official development board available for this specific MCU, I used the schematic of the STM32G0B1RE Nucleo board as a reference, along with the STM32G0B1CE datasheet, to create my design.I’m planning to use the internal 16 MHz oscillator, so I’ve opted not to include an external HSE or LSE in the design.I would greatly appreciate it if anyone could review my schematic and provide feedback. If there are any issues, missing components, or design improvements you can suggest, I’d be thankful for your input.Thanks in advance!
I've been trying to find examples of the STM32N6 using the internal SMPS however, other than trying to reverse engineer the Nucleo or Discovery boards, there doesn't seem to be much literature available showing this.Ideally (for cost and board layout reasons), I just want to power the N6 with a single 3.3V supply (plus the 1.8V AON supply) and use the internal SMPS to provide VDDCORE.Can anyone point me in the right direction, please?
I am trying to communicate with a MS5837 pressure sensor by I2C with the I2C1 on my STM32H563RGT6, but the I2C communication doesn't seem to see the MS5837. I am pretty sure the connections are fine, and I have 2 pull-up resistors of 4.7kOhms for each lines (SCL and SDA). I think my .ioc config is fine since the MS5837 uses 400kHz clock, so I chose the fast mode. I verified the addresses of the MS5837 but something seems to not work properly and I'm running out of ideas at this point.
Hello, I just designed an electronic card using the STM32G474QET6TR. Just a day before receiving the card I realised I had made a mistake on the routing. I want to use SPI2 to driver 2 MAX4896ETP+ that are daisy chained.As per the MAX datasheet, to do this you're supposed to connect as follows : But I realised while doing the pin allocation on the ioc file of my new STM32CubeIDE project that I actually messed up on my routing. I inverted the SPI2_SCK and the SPÏ2_MISO.SO I'm left with:- PB13 connected to the second MAX DOUT- PB14 connected to the both MAXs SCLKWHen it should be the otherway arround. SO my question is acually quite simple, is it that big a problem ? Can I fix it through software or am I going to have to cut both tracks and then solder a wire to invert it ? Thanks for your time and answers
I have STM32F4, using ADC3 for injected conversions. Driver code is generated using the latest CubeMX. I have 4 channels in group and was using LL_ADC_INJ_ReadConversionData12(ADC3, ADC_INJECTED_RANK_1) for reading (where rank was from 1 to 4). But the values that I got back were all exactly the same and consistent with expected value on the first channel. Accessing ADC3->JDR1 to JDR4 gives correct results. If I understand LL_ADC_INJ_ReadConversionData12 correctly, then this is a bug. volatile uint32_t jsqr = ADC3->JSQR; volatile uint32_t j1 = ADC3->JDR1; volatile uint32_t j2 = ADC3->JDR2; volatile uint32_t j3 = ADC3->JDR3; volatile uint32_t j4 = ADC3->JDR4; volatile uint16_t h1 = LL_ADC_INJ_ReadConversionData12(ADC3, ADC_INJECTED_RANK_1); volatile uint16_t h2 = LL_ADC_INJ_ReadConversionData12(ADC3, ADC_INJECTED_RANK_2); volatile uint16_t h3 = LL_ADC_INJ_ReadConversionData12(ADC3, ADC_INJECTED_RANK_3); volatile uint16_t h4 = LL_ADC_INJ_ReadConve
Hi,I have two sliders that I want dependent on one another. Slider1 has a minimum value of 0 and Slider2 has a maximum value of 50. How can I make it so that the maximum value for Slider1 is never greater than the minimum value for Slider2? I.e. if I move Slider2 to 28, then the Slider1 range changes to 0-27. Please let me know if this is doable. Thank you for your help in advance.
Hi, I have one question about this library STM32CubeExpansion_MEMSMIC1_V5.7.0 and PDM moduleIn the example, I tried to find a conversion rate between audio gain and SPLs or Pa. I only found this snippet of code that refers to the amplification factor, which by default is 1.scr/audio_application.h#define AUDIO_VOLUME_INPUT 64Uscr/audio_application.cvoid Init_Acquisition_Peripherals(uint32_t AudioFreq, uint32_t ChnlNbrIn, uint32_t ChnlNbrOut){MicParams.BitsPerSample = 16;MicParams.ChannelsNbr = ChnlNbrIn;MicParams.Device = AUDIO_IN_DIGITAL_MIC;MicParams.SampleRate = AudioFreq;MicParams.Volume = AUDIO_VOLUME_INPUT;MicParams.Tech_MIC= TYPE_SENSOR;if (CCA02M2_AUDIO_IN_Init(CCA02M2_AUDIO_INSTANCE, &MicParams) != BSP_ERROR_NONE){Error_Handler();}}scr/usbd_audio_if.c/* Private functions ---------------------------------------------------------*//* This table maps the audio device class setting in 1/256 dB to a* linear 0-64 scaling used in pdm_filter.c. It is computed as* 256*20*log10(
According to erratum 2.22.10 of STM32H562xx/563xx/573xx in RMII 10MHz mode packets should be accepted when both dribble and CRC error is flagged. According to Reference Manual RM0481 Rev4 Table 692 dribble bit is valid in MII mode only. Pls. clarify
Hello, I'm trying to use the repeat counter of the 2D GPDMA peripheral. However, when I configure this with CubeMX and run it, I can see that the BRC register is always at zero, while the BNDT register is set to the correct value. I've stepped through the initialization code and the node does have the correct parameters, they just don't get configured into the ADC on the HAL_DMAEx_List_Start_IT call in HAL_ADC_Start_DMA. I have also tried to configure it using linked list mode with the same parameters, which resulted in the same behaviour. The first "block" gets copied properly, it just never uses the repeat counter, remaining at the first block.I know the ADC code is working fine since it runs fine when using non-2d addressing.The Node Config that is retrieved in the HAL_ADC_Start_DMA callAfter the HAL_DMAEx_List_Start_IT call in HAL_ADC_Start_DMACubeMX Config part 1CubeMX Config part 2
Hello, I am developing STM audio streaming device by nucleo-H753ZI. Just I have done is bellow like:1. configure HSE by Cube MX and applied 25 MHz external oscillator physically .- It works well when USB OTG FS mode.2. Physically connected between H753ZI and USB3300 ULPI (D0~D7, 3.3Vs, GNDs, NXT, DIR, RST, STP, CLK)D0->PA3,D1->PB0,D2-> PB1,D3->PB10,D4->PB11,D5->PB12,D6->PB13,D7->PB5,STP->PC0,NXT->PC3,DIR->PC2,CLK->PA5,2 of 3.3V pins,2 of GND pins 3. Checked Cube MX options : - USB OTG FS : Disabled- USB OTG HS - Device only- USB Device - (Class for HS IP) Audio Device Class, 48000 sample/s, Device descriptor : 1200- NVIC : priority USB OTG global interrupt = 0 USB OTG EndPoint I/O global interrupt = 04. Connected to PC as USB : No device detected on PC!( I have edit MX_USB_DEVICE_Init(void) function for debugging : /* USER CODE BEGIN USB_DEVICE_Init_PostTre
Hi!I want to build a project for STM32U575. I want to use FreeRTOS, but it seems like there are some functions that won't work with it (like the SD). Is there any place where I can see what works or doesn't with each one? Or if I can use FreeRTOS anyways and still use the SD? Thanks
Hello, Datasheet DS14791 Rev 4 has a note on page 161 stating that PCB and pin capacitance for the OSC_IN/OSC_OUT Interface can be assumed as 4 pF combined.I qoute: "For CL1 and CL2, it is recommended to use high-quality external ceramic capacitors,designed for high-frequency applications, and selected to match the requirements of thecrystal or resonator (see Figure 20). CL1 and CL2 are usually the same size. The crystalmanufacturer typically specifies a load capacitance, which is the series combination of CL1and CL2. The PCB and pin capacitance must be included (4 pF can be used as a roughestimate of the combined pin and board capacitance)." I would calculate C1 = C2 = 2*(C_LOAD - C_STRAY) and assume C_STRAY with 2 pF in this case.- Can you confirm that this is the correct way to size C1 and C2? I was wondering if the same assumption can be made for OSC32_IN and OSC32_OUT Pins. I didn't find a note on that. Otherwise I would go by the chapter 5.3.17 I/O port characteris
Hello sir/mam .When I am trying to connect my NUCLEO-F746ZG LRWAN2 gateway board to TTN network I am not able to do can you guide me with this gateway connection with the network ==> in this explain whether we need DHCP connection or with the static IP can we connect. Also parallelly I am trying to setup the end node The board is not responding means There is only a blank screen in the tera term though i have flashed the firmware Steps follows for end node setup Downloaded I-CUBE-LRWAN package In this navigated to the location projects->NUCLEO-LO73RZ->Applications->LoRaWANEndNode->sx1272 In this added the board EUI , APP keys frequency etc... but still in the tera term Its blank black screen Kindly help me in setting the end node and gateway setup earliest response is very much helpful
Hello,I would like to replace ECC public key in SE_Key_region_ROM region from my application in runtime. My device has no protection enabled (RDP, PCROP, WRP). I am able to read and write in the region via CubeProgrammer.I dumped the 256 bytes of SE_Key_region_ROM but I am unable to identify the public key associated to the ECC private key ECCKEY1.txt. How can I retrieve and identify the public key based on the default private key provided by STM (SE_Key_region_ROM region starts at address 0x08000400) ?This is my use case :I have a device is running with default SBSFU configuration (ECCKEY1.txt and OEM_KEY_COMPANY1_key_AES_CBC.bin used to sign and encrypt the firmware). My device supports firmware update OTA by cellular.I would like to test this procedure :- Sign a firmware with a new ECC private key and update the device with this firmware.- After download and before rebooting, the first firmware would copy the ECC public key to SE_Key_region_ROM- After reboot, the
There is a sensor that I receive data from with 250 Hz sampling from Interrupt. I write the incoming data to the FreeRTOS queue. And I pull this data from the queue and write it continuously to the SD card. There is also a BLE in my project. When there is a BLE connect, I also write the data coming from the interrupt to the BLE queue and send it to the phone application via BLE. The problem is: When the device works as I explained above, I noticed that BLE does not work stably. It can miss connect or disconnect packets. When I did some research on this, many people have experienced this problem. It is suggested to use SEQUENCE in a FreeRTOS project. However, SEQUENCE is a library designed for bare metal.There is no documentation for the SEQUENCE library. There is no sample code either.Can you help me with this issue? What do we need to do? Can SEQUENCE solve the problem?- There are 3 tasks in the project. (sd card, ble task, control task)- Task piorities are the same. (When they are no
Hello All,I'm using STM32WB5MMG in my design, can anyone guide and share the schematic how this module can be used in slave configuration. This will help me to proceed in my design.Best Regards,Sakshi
Hello, I am trying to flash a STM32G0B0CET6 and keep getting "Error: No STM32 target found!" When trying to connect. Through the power supply I can see that the device properly resets. The voltage target also goes to 0 when the device turns off. I am using an ST-Link V2 with a Tag-connect TC2050-ARM2010 and TC2050-IDC cable to program.
Hello, I am using w5500 wiznet ethernet module with my stm32H723ZGT6 mcu but it is not working. I used this same code with my F4 series controller and it is working fine but this same code after implementing it with H7 series it is not working can anyone help me out. Please refer to the attached code for reference.
Hello ST team,I am working on USB audio class 2.0. I am using STM32F401, where I have connected SD card using SPI protocol and at the other end I have connected mobile using USB ( USB Audio Class 2.0). I have used tinyusb for USB support and FatFS for Filesystem.AIM:1) I have to read the PCM samples from SD card.2) Concurrently I need to send PCM samples to over USB ( USB Audio Class 2.0) to HOST (mobile).3) I am recording the PCM samples into my mobile phone recorder.point 1 and 2 is achieved, but issue in occurring in point 3. The recorded file is noisyI have using configuration which mention below:tusb_desc_device_t const desc_device ={.bLength = sizeof(tusb_desc_device_t),.bDescriptorType = TUSB_DESC_DEVICE,.bcdUSB = 0x0200, // Use Interface Association Descriptor (IAD) for Audio// As required by USB Specs IAD's subclass must be common class (2) and protocol must be IAD (1).bDeviceClass = TUSB_CLASS_MISC,.bDeviceSubClass = MISC_SUBCLASS_COMMON,.bDeviceProtocol = MISC_PROT
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.