Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
I'm have the HAL_I2CEx_ConfigDigitalFilter call in my H743VIT6 code with the setting of zero.The AI recomends 4 to take out 8ns noise pulses, RF; etc., but where is the STM documentation or an AN about this, and the analogue filter?Its not in the RM0433 bible as far as I can search.
Hello. I have been researching how to use the STEVAL-ESC002V1 with a NUCLEO-F031K6 board to run a BLDC motor. The documentation mentions using the IAR Embedded Workbench for ARM 8.22, but I am programming with the STMCubeIDE and the MotorControl Workbench 6.3.2. Could someone help direct me on how to do this?
I'm using stm32u535RCT mcu and I've requirement of zero crossing detection using analog watchdog.I need 6 channels and configured DMA circular buffer to collect 1Kb data on each channel. Channel 5 is mapped to analog watchdog.Here I want to understand in callback how do I get channel 5 last sampled data.Should I calculate by calculating the index with help of NDTR register or how.
How to implement IGMPV3 in STM32f429ZGT6? Can anyone please guide me with
Hi - What is the best algorithm for a very low speed and low current application, <50 RPM and <1 Amp with a high resolution encoder (~4096 counts per revolution) on a 3 phase brushless motor? Do the HSO or ZEST algorithms provide any advantage over the standard FOC algorithm when running with an encoder like this? I'm assuming the FOC algorithm is better than the 6 step algorithm, is that correct? Are there any other tips for this application? Thanks
Where using a STM32G081EBY6TR 25-pin wlcsp - package This part doesn't seem to have pins for a external clock pins. Just making sure that the internal clock is sufficient to handle USB-PD. It say's that 6 to 18mhz is fine, but really its looking for 6 to 12mhz. The internal one is 16Mhz.
Hi, Currently I working with Nucleo-H7S3L8 board and trying get XSPI interface up by trying to read memory device ID in STR OPI mode. It is not working yet.Can someone share detailed steps to get it to working stage? I am able to read id in single SPI mode. Thanks, Samiksha
Dear ST Technical Support Team,I am currently working with the EVSPIN32G4-DUAL evaluation board.I understand that this board uses a single-shunt current sensing topology, and therefore the Motor Profiler feature in Motor Pilot is not available (Profiler requires three-shunt current sensing with STO-PLL).In this context, I would like to ask for ST’s recommended procedure to obtain the following motor parameters when using EVSPIN32G4-DUAL:Stator resistance (Rs)Inductances (Ld / Lq or equivalent)Back-EMF constant (Ke)Could you please advise:Whether ST recommends specific manual measurement methods for these parameters with single-shunt hardwareWhich Application Notes or User Manuals describe this procedureAny best practices for entering these values into MC Workbench for stable FOC operationThank you for your support.Best regards,Hyunseok
I am currently working with the EVSPIN32G4-DUAL board and have a question regarding the I2C pin configuration.According to the EVSPIN32G4-DUAL schematic, the I2C signals are connected to pins PC4 and PA8.However, when generating a project using MCSDK version 6.4.1 and checking the pin mapping, the I2C interface is assigned to PC9 and PC8.When I modify the project to change the I2C pins from PC9/PC8 to PC4/PA8 and then update the firmware image, the system does not operate correctly.Could you please clarify the reason for this discrepancy between the schematic and the MCSDK pin configuration, and advise on the correct way to configure the I2C pins for this board? Thank you for your support.Best regards,Pelino
We're bringing up yet another custom board with the STM32H735 as the core processor. Built the first one, handed it to the software guy, and a few minutes later he says it's broken. Won't program, won't go to DFU mode, nothing. "You must have zapped it by accident!" Grumble.....get out the hot air gun and swap the part. At least it's a QFN100 and not some BGA package. Fixed, dropped it on his desk. Go to lunch.Phone rings. "It's broken again. As soon as I downloaded code it died." Aaarrggghh! Back from lunch, steam off processor #2, install #3. This time, I'll make sure. Create a new IOC file, populate it with all the right pin settings, configure the peripherals, generate code in CubeMX, open project in CubeIDE. So far, so good. Add a couple lines to flash the debug blinkylight, hit download. Code downloads, processor goes away. No blinky. No nothin'. Vcore is at zero. On power-up, but NOT after hardware reset, there's a momentary blip on Vcore followed by a decay to ground. Some
JW
I have ST win BX1 development board and I am using Zephyr RTOS for my development. I am not sure, How can I use the WiFi module on this board.First, the module is connected over SPI and I have tried to send some AT commands but I did not get any response.So, do I need to update firmware first? my answer is no because it comes already with the firmware installed.I tried SPI with CS pin low and WiFi-EN pin High.
Hi we need a clarification on this controller STM32L4Q5RGT6 here it is mentioned as voltage range V1 and voltage range V2. can you clarify what voltage exactly refers to Voltage v1 and v2 and in which IO volt does this OCTOSPI works.
Hi everyone.I'm using the STM32U073Mx / LQFP-80 pin.While designing a schematic, I ran out of ports, so I'm curious to see if I can use the VDD (battery voltage) to VBAT pin trick to measure the battery voltage. I'm looking at the datasheet and reference manual(RM0503).For reference, I'm using VREF+ as an Internal voltage reference mode to measure the temperature sensor (will use thermistor's power source), so I can no longer use the VREF+ pin as an input.So, I'm trying to configure it as needed.When measuring the thermistor temperature sensor, I use VREFBUFF(Internal voltage reference mode) to power the thermistor. And for normal ADC operation, VREFBUFF(maybe Hold mode) is connected as the ADC reference voltage.Anyway, I found the following sentence in the RM documentation, and I'd like to know its exact meaning.[Temperature sensor, DAC output, VREFINT and VBAT internal channelsThe temperature sensor is connected to channel ADC VIN[11].The internal voltage reference VREFINT is co
Hello Forum,I’m working with a custom display that uses an ST7789V controller (GRAM) connected via FMC and MDMA.The single framebuffer is located in .RAM2.The microcontroller is an STM32H750.The application (the .text section) runs from QSPI flash, while the internal flash contains only the bootloader.Some widgets (such as TextArea) are rendered correctly, but others (like ToggleButton) appear corrupted.Additionally, the background image shows horizontal line artifacts.Please compare the two pictures:The first image is the expected reference.The second image shows the artifacts — the button is distorted, and the horizontal lines in the background image should not be there.Has anyone experienced similar issues or has suggestions on what might be causing this behavior?
Hi,we are planning to use STM32H742xI/G controller in our design, we have reviewed the datasheet and need a clarification on the IO logic for QSPI.Does this controller supports 1.2v IO logic for the QSPI.
Hi, I tried to find a solution in the forum, but unfortunately without success.The problem is as follows: I need to generate a PWM signal that changes the period (not the duty cycle) with each iteration. (MCU: STM32F411)I'm setting up the timer to use a PWM output on channel 1:Global interrupts are also active: Then the DMA will be configured to update the ARR register:In the code the DMA will be activated as following:for (int i = 0; i < 32; i++){u32FreqUpdate[i] = 2000 + i*100;}// Activate PWM channel 1:TIM_CCxChannelCmd(htim4.Instance, TIM_CHANNEL_1, TIM_CCx_ENABLE);// Activate PWM output:__HAL_TIM_MOE_ENABLE(&htim4);// Activate ARR Update:HAL_TIM_Base_Start_DMA(&htim4, u32FreqUpdate, sizeof(u32FreqUpdate)/sizeof(uint32_t));As a result:The Output updates 3 times (without to change the frequency (period)) and then PWM Stops...Could someone explain me, what I'm doing wrong?
I have a NUCLEO-071RB development board.Is there a ready to run example for this board somewhere?I tried to generate a bare bone example with CubeMX.The code loads and runs but hangs in here:MX_ThreadX_Init => tx_kernel_enter => tx_initiali ze_kernel_enter =>tx_application_defineThe code enters infinite loop here, with the status==255memory_ptr = (VOID *)&ux_device_app_byte_pool;status = MX_USBX_Device_Init(memory_ptr);if (status != UX_SUCCESS){/* USER CODE BEGIN MX_USBX_Device_Init_Error */while(1){}/* USER CODE END MX_USBX_Device_Init_Error */}I can of course debug that further but rather than going down that rabbit hole the first thing with this processors I would be prefer and example code that compiles, loads, runs, initialises and enumerates correctly as HID as a starting point.
Hello There i am using https://github.com/STMicroelectronics/STM32CubeWL/tree/main/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_FreeRTOS this example ,in that there is timer used for sent the data , i want RTC for send data for particular time and all how can i do ???
Hi Community,I am facing an issue with my custom bootloader not jumping to my main application after firmware upgrade. However, i am able to jump to application during a normal power cycle. The firmware transfer is done through USB CDC using a serial utility.exe and the data is stored in bank 2 of the flash. After this my application sets a value(flag) to a memory location for my bootloader to know firmware copy to be done. My application now jumps to bootloader to do the copy of firmware, clear the flag and jump to updated application. I am sending a response to serial utility before jump. I notice that sometimes the usb state is not ready and it doesn't send the response. But sometimes it is ready and send response, but bootloader sometimes fail to jump to application properly. Please help me out. Thankswhile (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ USBPoll(); if(upgradeStatusFlag == FLAG_SET) { if(copyFirmwareToAppAddress()!= SUCCESS) { Error_Handl
I like my digits to be monospaced so they don't dance, but I want letters to be proportional. I want to use 1 font for this. There are fonts that support this. These are called tabular fonts. They have monospaced digits and support figure space (0x2007) for alignment.There are fonts that support this that are also available in TouchGFX Designer:Segoe UIcalibriTahomaThis works. I wrote some code that replaces leading spaces before digits with digit spaces if the font supports it. This works really well and numbers no longer dance. Alternatively you can right-align a text field. But then you cannot have any text before it or you have to split the text in parts (so printf is not possible anymore and you might as well use two different fonts).Another way is to modify a font (make digits same width and remove kerning for digits, and add figure space). I've done this, but this is a lot of work. And this is not allowed for many fonts (our customer allowed us to do this).There are other fonts
Moved from this post . Hi @mƎALLEm ,Is VREFINT and VREFBUF output same?In documents I have seen VREFBUF can be set as 2.048, 2.5, 2.9, is that same VREFINT?
Hi,I’m using the STM32G491RET6 MCU and currently working on the ADC.I have three analog inputs:Two connected to ADC1One connected to ADC2At the moment, the ADCs are configured to use an external VREF+.I would like to switch to the internal reference instead:How do I configure the ADC to use the internal reference?How do I enable and configure VREFBUF?Does changing the VREFBUF voltage scaling affect the VREFINT value used by the ADC?If I use the internal reference, can the external VREF+ pin be left unconnected or removed?Any guidance or example configuration would be appreciated.
If this is configured incorrectly, will it trigger overcurrent protection?
Hello!i'm developing a firmware that use an SD card connected to USBX MSC, and i have a couple of question i want to understand better the ULONG *media_status value returned in the function :UINT USBD_STORAGE_Status(VOID *storage_instance, ULONG lun, ULONG media_id,ULONG *media_status) UINT USBD_STORAGE_Flush(VOID *storage_instance, ULONG lun, ULONG number_blocks, ULONG lba, ULONG *media_status) UINT USBD_STORAGE_Write(VOID *storage_instance, ULONG lun, UCHAR *data_pointer, ULONG number_blocks, ULONG lba, ULONG *media_status) UINT USBD_STORAGE_Read(VOID *storage_instance, ULONG lun, UCHAR *data_pointer, ULONG number_blocks, ULONG lba, ULONG *media_status) i'm hoping that value is related to the SCSI code value that windows need from a USB MSCis it true? beyond UX_SUCCESS which value can i use? for example to indicate the media as changed or is readonly?how can the functions ULONG USBD_STORAGE_GetMediaLastLba(VOID) and ULONG USBD_STORAGE_GetMedi
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.