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
Dear community, I’m sharing an application that has been highly requested recently: a demo running TouchGFX on the STM32N6570-DK with a camera module.Please note that this demo is NOT yet finalized. We plan to significantly enhance it over the coming weeks, and once it is ready, it will be directly available in TouchGFX Designer as a board-specific demo (under the Demo tab).In the meantime, since there has been strong demand, here is an early draft that you can already use and draw inspiration from.Another note, we’ll provide only limited support for any questions about this draft, as we are aware of the application’s limitations and are working on a much better version. Again, this demo is not final and does not reflect the quality of an official demo.The project works with TouchGFX 4.25.0 and with STM32CubeIDE. We advise NOT to regenerate code from STM32CubeMX (because there is a limitation here). You can use the flashing scripts provided in the project to flash your board.
Hi ,I'm developing a product on an STM32N6 using TouchGFX. I need to display the image coming from the camera input on the product on the TouchGFX. During our tests, we were able to directly print the image from the DCMI input to the screen and it worked. However, we need an example that takes this image and displays it on the TouchGFX. The AI example prepared for the N6 actually includes this type of work, but the code is not accessible. Could you please share the relevant project or the relevant part so I can integrate it into my project, or could you provide an example project for this?
Hello ST Team,I am working with the STM32N6570-DK board and trying to display the live camera feed on a TouchGFX application.I cannot find any ready-to-use example that integrates DCMIPP (Camera) and TouchGFX.Current Situation:TouchGFX Designer: I have created a UI with a transparent area in the center (Alpha = 0) to display the camera feed. (Please see the attached screenshot).Cube IDE Firmware: I found the DCMIPP_ContinuousMode example and confirmed that it works fine independently. However, merging it into a TouchGFX project manually is quite difficult for me.My Question:Is there a simple, official example or Application Note demonstrating Camera Preview (maybe on Layer 0) + TouchGFX UI (maybe on Layer 1) for the STM32N6570-DK?Since I am new to the STM32N6 series, a detailed, step-by-step explanation would be very helpful.I would appreciate a quick guide or a GitHub link.Thanks.
Table 73 of STM32WL33xx Datasheet indicates an “A” option for Frequency band options (398-464 MHz). I cannot find this variant in stock anywhere. How/when can I purchase this? Will there be a breakout/demo/nucleo board for this “A” version? Thank you.
Hello dear ST Community,I am not sure I can get help here as this topic is related to a WeAct Studio STM32F412 board and not a Nucleo or Discovery board from ST. If not that is fine , no problem.So, back to my issue : For this particular type of project, in the past we used STM32F411 boards but this time we had to change to a board with more RAM's ...The rest of the code in the MCU works as expected.When we connect the USB cable to PC in the Device Manager we get this error :"Unknown USB Device ( Device descriptor Request failed )"We using CubeMX and STM32Cube in VSCodeIn CubeMX I setup now just the basic USB_OTG_FS : Device onlyMiddleware : USB Device as Human Interface device class (HID)** We can share code or ioc file if needed …What I did :- USB Clock is set 48MHz- I tried HSI and HSE for the clock - there is said for the USB to work it requires HSE- I changed the USB cable- I revert to just basic HID and the default report ( but anyway Windows didn’t asked for it yet … )Could you
Dear ST Support Team,I am an embedded systems engineer currently designing a custom PCB around the STM32MP257F microprocessor for a product application (a camera-based embedded system). I am using the STM32MP257F-EV1 evaluation board as our reference design for both hardware and software bring-up.We are now finalizing our own DDR memory design and are running into difficulty sourcing a DDR part that is confirmed compatible with the STM32MP257F. We understand the EV1 reference design uses two 16-Gbit DDR4 DRAMs (16-bit wide, populated for a 32-bit total bus), and that the STM32MP257 DDR controller supports DDR3L up to 2133, DDR4 up to 2400, and LPDDR4 up to 2400, in 16-bit or 32-bit configurations. However, when we check current market availability, we are not able to find DDR parts that are clearly qualified or validated against the STM32MP257F DDR controller, and we want to avoid selecting a part that causes signal integrity, timing, or DDR-training issues on our own layout.Could you
Hi ST,I am working on STM32MP257 platform and I have read some of the previous topic and thread, seems that web multimedia is somewhat supported now by using Qt at its minimalist setting. But the previous claim of “ST is working on enabling chromium/ web browser, and expected to have it out by late 2025” hasn’t really got any update.Can we know if we really have a definitive answer or status update or is there any example or demo?
HI.Previously, I successfully completed development for my project using the W25Q128 SPI Flash with its working External Loader file (.stldr).However, due to internal circumstances, we have recently replaced the external memory with the AT25SF128A. Since changing the chip, flashing code via the previous external loader no longer works.As a result, I need an External Loader tailored for the AT25SF128A.Could you please let me know if an External Loader for the AT25SF128A on the STM32H723 is already available from ST?If it is not available, could you provide guidance or reference materials on how to generate/modify an External Loader project for this specific memory?Thank you for your support.
My team is working on a project that is aimed to comply with IEC61508 SC 2 (SIL2).Our chosen MCU is the STM32H563VITx.My understanding is that utilization of HAL drivers when trying to meet IEC61508 is tricky and it is generally more common to write drivers from the ground up.However, I have seen in some scattered documentation that the STM32CubeH5 HAL functionality has been developed to a process compliant to IEC61508. Specifically the document UM3126 notes:“Within STM32CubeH5, both the HAL and LL APIs are production‑ready, checked with CodeSonar® static analysis tool, anddeveloped in compliance with MISRA C® guidelines, following a process certified according to IEC 61508 systematiccapability‑2 level (SC2). Reports are available on demand”I am unsure if this is correct given this is not documented in many places so would like clarity on the issue. If it is correct, does this mean that HAL functions generated from STM32CubeH5 can be used in a IEC61508 compliant system, and if so, how
I am working on an STM32N657 custom board. Previously, on the STM32N6570-DK, we were using the Octal SPI flash MX66UW1G45GXDI00. In our custom board, we have changed the external flash to the Quad SPI GD25LB256FWIGR. The Quad SPI configuration done. For firmware flashing, we are using STLINK-V3SET with STM32CubeProgrammer. Current Issue------------------ The STM32N657 target is detected properly in CubeProgrammer. I selected the external flash loader, firmware .bin file, and start address 0x70000000 & Appli address 0x70100000. However, when I click Start Programming, the erase operation fails and the target gets disconnected automatically. The CubeProgrammer log shows: Memory Programming ...File : Camera_Dev_test_Appli-trusted.binSize : 284.13 KBAddress : 0x70100000 Erasing memory corresponding to segment 0:Erasing external memory sectors [256 327]Error: failed to erase memoryWarning: Connection to device 0x486 is lostDisconnected from device. The ST-LINK connection itself is
STM32G4 Reference Manual (RM0440) states that all of the Timer x counter enable (in HRTIM_MCR) bits “must not be changed within a minimum of 8 cycles of fHRTIM clock.” What does that mean? How can I ever set or reset them when fHRTIM is the same as my processor core clock?
Regarding the methods for reading data from the ADC injected group, I’ve only seen two approaches: interrupts and polling. Can I directly map memory in the software to ADCx->JDR1 to retrieve the data? Just like:#define ADC_ADCRESULT0_ADDR ((volatile uint32_t*)&ADC1->JDR1)inline static const *uint32_t adc_buffer[0] = {ADC_ADCRESULT0_ADDR }
EDIT: Solved. It seems to just be that one pin that isn’t working. I tried a couple other ones and they work fine.Hello, sorry if this is a silly question, but I'm pretty new to all of this. I've recently picked up Israel Gbati's Bare-Metal Embedded C Programming. It gives a step-by-step walkthrough on how to turn on an LED using pin D12/PA5, but I'm struggling to connect to any of the other pins.I've been trying to connect my LED to pin D0/PA3. My code is below.#define PERIPH_BASE (0x40000000UL)#define AHB1PERIPH_OFFSET (0x00020000UL)#define AHB1PERIPH_BASE (PERIPH_BASE + AHB1PERIPH_OFFSET)#define GPIOA_OFFSET (0x0000UL)#define GPIOA_BASE (AHB1PERIPH_BASE + GPIOA_OFFSET)#define RCC_OFFSET (0x3800UL)#define RCC_BASE (AHB1PERIPH_BASE + RCC_OFFSET)#define AHB1EN_R_OFFSET (0x30UL)#define RCC_AHB1EN_R (*(volatile unsigned int *) (RCC_BASE + AHB1EN_R_OFFSET))#define MODE_R_OFFSET (0x00UL)#define GPIOA_MODE_R
Hi! I tried to stream a 1080p (big buck Bunny) video with gstreamer. It seems that it was falling back to software and starts lagging.Are there any known issues with gstreamer for the MP2 i should be aware of? I have not used the latest OpenSTLinux version yet. I'm using v26.02.18. Still: kmscube is working perfectly in 1080p. So, I assume the the Vulkan/OpenGL ES is working properly as it should.
When I use stm32cubeide for vscode open the CMake project generated by stm32cubemx, and to verify some math functions like log, sqrt etc,static void log_function_test(void){ typedef struct { double input; double expected; } log_test_case_t; static const log_test_case_t test_cases[] = { {0.5, -0.6931471805599453}, {1.0, 0.0}, {2.0, 0.6931471805599453}, {10.0, 2.302585092994046} }; const double tolerance = 1.0e-12; uint32_t index; uint8_t all_passed = 1u; printf("log() test start\r\n"); for (index = 0u; index < (sizeof(test_cases) / sizeof(test_cases[0])); ++index) { volatile double input = test_cases[index].input; double actual = log(input); double error = fabs(actual - test_cases[index].expected); uint8_t passed = isfinite(actual) && (error <= tolerance); printf("log(%.6f) = %.15f, expected = %.15f, error = %.3e: %s\r\n", input, actual, test_cases[index].expected, error, passed
Hi,I was trying to figure out how to use external memory and flash with xcubeai, and I found a video posted by STM32 says there is an example food recognition code in stm32ai-modelzoo-services on Github. However, I couldn't find it. Was it deleted?thanks.
“STM32CubeMX FMC pin solver hangs on STM32H7R7 when legal alternate FMC address mappings are present; removing redundant A16–A23 alternate functions avoids the hang.”… attached is project with stm32H7R7L8H3 with FMC32 configured with 4x SRAM and 2x SDRAM but for this was used patched mcu definition file “STM32H7R7L8HxH.xml” (included, has commented alternate address lines on upper pins which point to bottom address pins in fact, the “solver” is probably confused - I opted to forced exclusive one selected variant and then FMC configurrator stopped hanging on multiple selected SRAM/SDRAM … without patch it is impossible to configure … it probably MUST beheve similary on different parts also - provided is also list of potential other packages … I used chatgpt (high) to analyze this and she found issue also with help of log …I also tried to configurpart stm32H7R7L8H6H (only 16bit FMC) - this worked … and surprisingly worked also stm332F429NEHx with FMC32 - I was confused too, where is prob
Hi,I am using an STM32H7S3L8 with D-Cache enabled and want to place DMA buffers in a dedicated non-cacheable SRAM region.My linker script places the DMA section in SRAM2:SRAMAHB (rw) : ORIGIN = 0x30000000, LENGTH = 16KSRAM_DMA (xrw) : ORIGIN = 0x30004000, LENGTH = 16K.dma_buffer (NOLOAD) :{ . = ALIGN(32); __dma_buffer_start__ = .; KEEP(*(.dma_buffer)) KEEP(*(.dma_buffer*)) . = ALIGN(32); __dma_buffer_end__ = .;} > SRAM_DMAThe DMA buffer is correctly linked at 0x30004000.I configured the MPU according to the non-cacheable DMA buffer strategy described in ST's article. The relevant configuration is: static void MPU_Config(void){ MPU_Region_InitTypeDef MPU_InitStruct = {0}; /* Disables the MPU */ HAL_MPU_Disable(); /* Disables all MPU regions */ for(uint8_t i=0; i<__MPU_REGIONCOUNT; i++) { HAL_MPU_DisableRegion(i); } /** Initializes and configures the Region and the memory to be protected */ MPU_InitStruct.Enable = MPU_REGION_ENABLE; MPU_InitStruct.
STGAP2SCMTR ST: During use, an issue has been identified. When the primary-side signal is 0 V, the secondary-side signal turns on spontaneously for approximately 500 ns. What is the cause of this?Symptoms: With the primary-side signal at 0 V (in the off state), the secondary side switches off normally under the influence of a low dv/dt (approximately 30 V/ns); however, under the influence of a dv/dt of approximately 60 V/ns, the secondary side switches on spontaneously for approximately 500 ns. The chip is rated at 100 V/ns;*This post has been translated from Chinese to comply with the ST Community guidelines.
Hello ,I am planning a new NB-IoT design using the ST87M01 module. I am currently using a Nucleo-U545RE-Q host board paired with the EVKITST87M01-2 evaluation kit.The application involves downloading weather observation files (TXT and XML formats, each under 100 KB) from a public server over HTTPS. Since the target server requires TLS 1.3, a large HARICA RSA ROOT CA 2021 (RSA-4096) certificate, and specific Cipher Suites not supported natively by the module, I have decided to run the TLS 1.3 stack directly on the STM32U545 host MCU. The ST87M01 will be used purely as a transparent TCP/IP pipe.Specifically, the server enforces strict cryptographic handshakes with the following parameters, which I will process on the host MCU:TLS 1.2: ECDHE_RSA with curve P-256 and AES_128_GCM TLS 1.3: X25519 key exchange and AES_256_GCM During early tests, I have noticed that the module frequently transitions from RRC Connected to RRC Idle mode, indicated by the unsolicited notification changing from +C
I have one question.The L451CC has 160K of SRAM split in 128K + 64K.According to the datasheet SRAM2 is rermapped just on top of SRAM1 giving a full block of 160K.Wonderful, but… not so wonderful because CubeIDE ignores the SRAM2 and restrict the memory space to SRAM1.Is there a way to use SRAM2 E.G. by writing a customized malloc like function (I did that for the L429 series and it works fine) ?static volatile void * ccm_current_pointer;static volatile uint32_t ccm_current_free_memory;static void ccm_Malloc_failed(void);// ADJUST ONLY THE RESERVED AREA SIZE// TO CHANGE THE CCM HEAP SIZE#define CCM_RESERVED_SIZE 0#define CCM_AS_HEAP_SIZE 65536 - CCM_RESERVED_SIZE#define CCM_AS_HEAP_BASE (0x10000000 + CCM_RESERVED_SIZE)void ccm_Heap_init(void){ ccm_current_pointer = (void *) CCM_AS_HEAP_BASE; ccm_current_free_memory = CCM_AS_HEAP_SIZE; memset((void *) ccm_current_pointer, 0, ccm_current_free_memory);}void * ccm_Malloc(uint32_t block_size, bool force_in_sram){ void * _ptr; uint32_t _
Does anyone know what the productname.xml file in a Cube IDE directory does?<?xml version="1.0" encoding="UTF-8" standalone="no"?><targetDefinitions xmlns="http://openstm32.org/stm32TargetDefinitions" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://openstm32.org/stm32TargetDefinitions stm32TargetDefinitions.xsd"> <board id="xxx"> <name>XXX</name> <mcuId>stm32f417vgtx</mcuId> <dbgIF>JTAG</dbgIF> <dbgDEV>ST-Link</dbgDEV> </board></targetDefinitions>Mine is dated 2019 so may not be used.I am on Cube IDE 1.14.1. ST32F417/437. Later versions do nothing new and just carry on with the same bugs e.g. the random file opening.
Hello, I am currently performing an ISO 13849-1 assessment and creating a SISTEMA model for a chemical dosing system.The safety-related control architecture includes a STM32F767BI. I have reviewed:- STM32F767 datasheet- STM32F7 Safety Manual (UM2318)- STM32F7 self-test library documentation The Safety Manual references:- AN5132 (FMEDA results)- AN5137 (FMEA results) However, these documents do not appear to be publicly available. I am looking for guidance on the following: 1. Is there an official FIT value, failure rate, PFHd or MTTFd available for the STM32F767 family?2. Are AN5132 and AN5137 available through ST support or under NDA? Thank you.
I purchased the EVLGANSPIN2-3PH evaluation module. I added a definition for this module in the MCSDK. I connected a BLDC motor from a well-known drill operating at a nominal voltage of 230VAC to it. I measured the resistance and inductance of the windings, as well as the number of poles. The code was generated in MCSDK v. 6.4.2 in FOC mode with the profiling option – it can only be generated in STO-PLL mode, so the HALL sensors are not used. The PWM frequency is 10 kHz, and the overcurrent control option is enabled.I started all tests at 70 VDC with a limit of 800 mA.After starting the profiler, the motor hums quietly for a moment, and profiling freezes at about 30%. I can't get the profiler to work properly.I started the MotorPilot, and the motor only squealed. Current consumption is about 250 mA.Redesigning the project to STO-Cordic mode allowed the motor to start in MotorPilot. It starts slowly but smoothly and gains speed. The current draw also increases until it reaches the power
Hi everyone,I am currently testing the Current Regulator Step Response as described in the ST Motor Control documentation.I do get the sharp edges, but I see short peaks/overshoot in the current waveform. Setup: Custom Board → EVSPIN32G4 has been taken as reference Step‑test configured exactly as in the document 3‑shunt topology PWM frequency: 20 kHz BLDC Motor Motor Control Part3 - Troubleshooting and fine tuning_v2.pdf - Google Drive What could be the reason for the peaks?
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.