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
Hi,I am developing a telemetry project using the P-L496G-CELL02 Discovery Kit. My goal is to use the X-CUBE-CELLULAR expansion package to handle the cellular modem connectivity and MQTT implementation.However, I am facing difficulties installing this package properly in STM32CubeIDE.The Issue: I went to Help > Manage Embedded Software Packages > STMicroelectronics tab and clicked "Refresh", but the X-CUBE-CELLULAR package does not appear in the list to be installed.What I have done so far:I searched the Package Manager extensively, but it is missing.I have downloaded the .zip file of the package (v6.0.0) directly from the ST website.I tried to use the "Install from Local" option in the Package Manager with this zip file, but it failed (likely because it is not formatted as a pack).Since the automatic installation is not available, what is the correct step-by-step procedure to manually install or integrate the X-CUBE-CELLULAR package into my STM32CubeIDE workspace?I want to ensure
Hello,I've been trying to control a Maxon motor BLDC, the motor has hall sensors and encoder as well. I'm using the STEVAL-SPIN3204 board. I've downloaded the MCSDK6, Cube MX and Cube IDE. I'm new to motor and motor control. I was able to start the motor and achieve full speed control of 9000 RPM, using the sensorless mode. the current monitoring window showed an average current of about 1500( I'm assuming this is in mA); the motor was freely running. I then proceeded to set-up and run the motor using the 6-step with Hall sensor. After properly welding/closing the JP5,JP6, and JP7 and leaving JP8,9,and 10 open as stated in the MC workbench. I was able to start the motor but only up to about 1800 rpm. The current monitor on the motor pilot showed an average current of more than 8500, again I'm assuming these are in mA. The motor is rated for 7.35A, however, once the board was connected to the motor pilot, it always shows a nominal amp rating of 2.64. The over-current alarm i
While testing the X-CUBE-EEPROM library in STM32CubeIDE (v1.18.1), I observed the FLASH->CR register in the SFRs window. I noticed that the display for BKER (bank erase select bit) is missing in the FLASH_CR register. Please try to correct this in the next STM32CubeIDE release.
IntroSTM32CubeMX supports CMake since 6.11.0 as a tool chain option. Sometimes you want to customize your project, but you don't want generated files to be overwritten. I will reply to this post how to do these things and this will be the accepted answer. It's like a knowledge base article. Please expand it with more ideas and I will add it to that answer.Generated filesSTM32CubeMX generates:./CMakeLists.txt:This file can be customizedcmake/stm32cubemx/CMakeLists.txt: file with all cube generated source files and defines. It's an interface library. This file can not be modified as it will be overwritten when regenerating with STM32CubeMXcmake/touchgfx/CMakeLists.txt: if you have touchgfx in your project this will be added too. It's an interface library. This file can not be modified as it will be overwritten when regenerating with TouchGFX Designerpotentially more subfolders with CMakeLists.txt filesgcc-arm-none-eabi.cmake: toolchain file for gcc. Used if you use gc
Hi,I am looking for compatible part numbers for ST part# 7004001 and Delco DM133, which I believe are obsolete.The ST 7004001 is also equivent to Ford # N-7000420F-FB001I also believe ST part# TDA7005 may be equivilent to DM133, not sure.I am mostly interested in finding out what 7004001 is and get a datasheet for it so I can see if it can replace Delco DM133.Appreciate any help on this. ThanksDan
I am trying to debug code for Nucleo-WL55JC1 board using sample code from the STM website. It is the LoRAWAN_End _Node. I complies fine and creates .elf file. However when a try do download with the STM32Cube I get the following error: An internal error occurred during: "Launching LoRaWAN_End_Node".'com.st.stm32cube.ide.mcu.toolchain.IToolChainInfoProvider[] com.st.stm32cube.ide.mcu.toolchain.ToolChainHelper.getToolChainInfoProviders()' Thanks for the help.
I am on an H562 and trying to rd/wr a file on a USB memory stick using the mass storage controller. I am trying to understand what to do about this block when I am running in standalone mode. I started from an example code which is in RTOS mode but I want use the standalone mode.When I tried to implement something meaningful in UX_DEVICE_INSERTION status, it turns out that the expression_mediaPtr = &_storageMediaPtr->ux_host_class_storage_media;fails to compile because 'UX_HOST_CLASS_STORAGE_MEDIA' has no member named 'ux_host_class_storage_media'.I think the problem is in this definiton:but I need to use FILEX. Than I tried the method 2 using the function 'ux_host_class_storage_media_get' but it is not present in the folder Middlewares/ST/usbx/common/usbx_host_classes/srcWhich of the two methods should I use? How can I skip the problems? Do I have to define something different?
We are pleased to announce that STM32CubeIDE 2.0.0 release is available. STM32CubeIDE is now independent from STM32CubeMX. With this release, device configuration, previously handled within STM32CubeIDE via STM32CubeMX, is now exclusively available through the stand-alone STM32CubeMX tool. Users will configure microcontroller peripherals and generate initialization code separately in STM32CubeMX, then import the generated projects into STM32CubeIDE for coding and debugging. STM32CubeIDE, is now a stand-alone tool, offers the possibility to create empty project through its own MCU/Board selectors now present inside. What does this change mean for developers? Separate download and installation: STM32CubeMX is no more integrated in STM32CubeIDE, requiring separate download alongside STM32CubeIDE 2.0.0 for configuration and code generation. Tool update flexibility: Developers can update and freeze&n
We are pleased to announce that STM32CubeMX 6.16.0 release is available. What is new in 6.16.0: Added support for new microcontrollers across the STM32WBA, STM32N6 and STM32H5 series and the STM32WL3x product line. The related new boards include the NUCLEO-WL3RKB1 and NUCLEO-WL3RKB2. Implemented the "Start from Board" feature for NUCLEO-WL3RKB1 and NUCLEO-WL3RKB2: Preconfigured board setup through the Start From Board feature simplifies project creation and significantly reduces development time. Released a new installer that natively supports Apple® Silicon : Native support of ARM64 for mac computers. Implemented the memory management tool for STM32N6: This feature is designed to assist developers in configuring and optimizing the memory layout of their STM32N6 projects efficiently. Enhanced the build process using CMake: Default configuration: ST ARM CLANG with its own linker instead of GCC linker. Picolib is selected as default library for the b
STM32CubeProgrammer 2.18.0 and 2.19.0STLINK-V3SET FW V3J16M7B5S1.STM32H563RIT6 rev X. Bootloader version 0xE4.1. Connect under reset.2. Configure MCU with EDATA1_EN=1 EDATA1_STRT=0x73. Erase sectors 120–127 and fill them with byte 0xEC.4. Create a file file.bin file with 10 bytes of some data.5. STM32_Programmer_CLI.exe --connect port=SWD mode=UR speed=fast ap=1 -d file.bin 0x09001800I expect sector 121 to be erased and the first 10 bytes of it programmed with contents of file.bin.Actually, sectors 121–127 are erased and the first 10 bytes of sector 121 are programmed with contents of file.bin. I.e. it seems erase is done for the reminder of the bank instead of calculating the number of affected sectors from file length.But if you set EDATA1_EN=0 and download file.bin to 0x08002000 it works. The system only misbehaves when the flash is configured as high-cycle count flash.The problem can also be reproduced by using a .hex-file targeting these addresses. Would it pos
Hello Community,I have a problem with the STM Motor Control Workbench 6.3. I have hardware for FOC motor control. For the current measurement, I am using three shunts with differential current measurement, integrated op-amps, and an external resistor network for the gain. I tried to configure this hardware with the STM Board Designer, especially the current sensing: The creation of the board is fine, but when trying to open it in Motor Control Workbench, I get this error message: Motor Control: MC Workbench 6.3Microcontroller: STSPIN32G4 The board file is attached.Has anyone else encountered the same issue?Best regards,Steffen
Hello, I am currently having problems initializing the I2C interfaces on the M33 core of the STM32MP257F-DK Board. The interfaces in question are I2C2 and I2C8, the ones exposed on the 40 pin connector. I have code that toggles LEDs and it works fine when the I2C initialization is commented out but when its not it pauses. I found a community post that seemed like it might have the answer, here is the link for that post: https://community.st.com/t5/escalated-topic/stm32mp257f-persistent-issue-with-i2c8/td-p/854389. But when I click the link I get taken to a page that says the following: Access DeniedYou do not have sufficient privileges for this resource or its parent to perform this action. Click your browser's Back button to continue. Return to my original page
I'm looking for ST's GNSS components that I can build a GNSS receiver which can give offline high accuracy. To do this I need to do extra DSP between front end and baseband processor. What RF front ends are actively being produced that gives down-converted IF analog or digital outputs?
Starting from V2.13 the STM32CubeProgrammer_CLI adds strange empty lines into the .hex file when adding CRCs using the --safelib command.Example:...:20F9C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47:20F9E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF010002010100000032B840D616:00FA000006:00FA000006:00FA000006...:00FA000006:00FA000006:020000044807AB:20FA0000D8E292E5D9D0BDBC4BA59A0800855CA4FBEF5C19E0AC58BC12F208DD16414D16DA:20FA20007C32E22F87D80DB1ACEF0F2AC0E8EA3883BA937EC9278191C221243352C16A6BDA...Each empty line has the address of the first free place into the original .hex (seme address where CRCs will be added) but no data and the number of lines seems to be equal to the number of CRC lines added.This is annoying because later I use srec_cat tool and I get lots of warnings about these empty lines! Any suggestione?Thanks!
I'm trying to flash an an NUCLEO-N657X0-Q board with the STM32N6 using STM32CubeProgrammer v2.20.0. I have two NUCLEO-N657X0-Q boards here: One of them flashes just fine, the other one refuses to work. Both boards are in development mode (BOOT jumpers set accordingly as described here https://github.com/STMicroelectronics/STM32N6-GettingStarted-ImageClassification?tab=readme-ov-file#boot-modes). In STM32CubeProgrammer, I have selected the appropriate External loader to be able to write to the external flash memory.As a simple experiment, I am trying to erase a sector of the external flash memory. I am using the exact same STM32CubeProgrammer settings for both boards. Erasing the flash works just fine on one of the boards, but on the other board, I get the following error:Did I accidentally enable some kind of flash memory protection? How do I disable it? Or is my board broken? The board still boots the old code in the flash memory when in flash boot mode, so I don't thin
Hello ST Community,I am working on an STM32U585AII6Q microcontroller with TrustZone enabled. My goal is to revert the RDP level from 2 (0xCC) back to 0 (0xAA) using STM32CubeProgrammer GUI.#### Steps I Followed:1. Defined OEM2KEY in the "Secure Programming" menu.2. Set RDP to Level 2 successfully.3. Tried to unlock RDP2 using the "Unlock RDP2" option in STM32CubeProgrammer.- Log shows: "Unlock RDP2 password successfully done."4. Gave power cycle and attempted to change RDP value from 0xCC to 0xAA in the "Read Out Protection" menu.#### Issue:- When I try to apply the change, I get the error:**DEVICE NOT HALTED**- The debugger cannot connect to the MCU after this step.#### Hardware Setup:- BOOT0 pin connected to VDD for RSS boot.- Using STM32CubeProgrammer v2.19.0.#### Questions:1. What is the correct sequence to regress from RDP Level 2 to Level 0 when TrustZone is active?2. How to resolve the "DEVICE NOT HALTED" error during regression?3. Do I need to power-cycle or use a specific mode
Update: I found out that HAL_PWR_EnableWakeUpLine() must be enabled to wake up the system.The system now wakes up correctly from Stop3 mode. With the SMPS enabled and all pins configured as analog, the current draw is approximately 5 µA, which matches the values given in the datasheet./**********************************************************************************************************************************/ Hello everyone,I am working with NUCLEO-U385RG-Q board and using the RTC wake-up timer as the wake source for low-power modes. I noticed consistent differences between STOP2 and STOP3:IssueThe RTC wake-up interrupt works reliably in STOP2.The exact same configuration does not wake the system from STOP3.ConfigurationLSE is running (32.768 kHz crystal).RTC is clocked from LSE.RTC wake-up timer is configured via HAL_RTCEx_SetWakeUpTimer_IT().No other wake sources are enabled.QuestionsAre there additional registers or power settings required for STOP3 to allow RTC wake-up e
I am trying to measure DC output of an RF detector (AD8363) using STM32H723's ADC. The Signal that is to be measured has about 80 mV - 90 mV of high frequency noise embedded on it. Due to inaccuracies in the measurement I am probing the measurement circuitry and therefore would like to know:The 5 pF capacitance of ADC is total capacitance of the 12 or 16 capacitors inside ADC or just that of one capacitor?What is the resistance of the ADC's sample and hold switch?Is there any model of ADC Circuitry, that includes parasitic as well?What is the tracking bandwidth of the ADC?
Hi -I am trying to bring up a new design - a 3 phase forward converter, using the HRTIM to fire six gate drives. Under normal design loads it works great, but for normal loading I have the CONT bits set for master and subs. For light loading, I need to keep a minimum on-time, so must drop the frequency. I could reduce the resolution by using a smaller PLL multiplier (presently using x8 with a 150 MHz sysclock for a 1.2 GHz HRTIM), but that is unsatisfactory. I tried setting different PLL multipliers for the master and the three sub timers, but found that different PLL settings precludes cross-channel event messaging, so I could not phase the three sub clocks with the master anymore. I suspect I could use the burst mode, but have not researched that yet.The technique I am trying now is linking to TIM1 to start the master for one cycle in one-shot mode. This gives me a proper fixed on-time burst for all six phases, but reducing TIM1 frequenc
Hi - I have an application running a 1 kW 500VDC to 25V DC supply for a klystron filament heater. I am using a 3 phase forward converter - each phase driven by a FET half bridge to a transformer primary returning to input mid-point. I drive the six gate drives using six HRTIM pins.I have programmed this so that each of the gate drive pulses is turned on at a fixed time in the master cycle, and turned off by one of two things: either a timer counter (thus setting duty cycle %) or an event connected to an internal comparator. The comparators use an internal DAC for the -IN reference, and are pinned out to a rectified current transformer on the primary. This then gives me both duty cycle and peak current control for continually adjusting providing regulation.What I would like is a continual running diagnostic where I can read the status from the HRTIM and determine what caused the most recent commutation off (i.e. cou
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. Please read this post: How to insert source code. Hi, I am using stm32c071 MCU to store data into flash. I have erased page 63 wrote data into 0x0801F800 then locked the flash and then again unlocked it erased page 63 wrote data in 0x0801F820, but the contents of 0x0801F800 is still there even after page erase. Is this expected? My flash write code eFLASH_ErrorType_t WriteDataToFlash(uint64_t *data, uint32_t address, uint8_t page, uint8_t length) { eFLASH_ErrorType_t err_code = e_SUCCESS; uint32_t *addr = (uint32_t*)address; // Check if flash is busy err_code = CheckFlashBusy(); if(err_code != e_SUCCESS) { return err_code; } // Unlock flash err_code = flashUnlock(); if(err_code != e_FLASH_UNLOCKED) { return err_code; } // Erase page before writing err_code = flashErasePage(page); if(err_code != e_SUCCESS) { return err_
Browsing the STM32CubeMx Docs&Resources page for information.The section "Application Notes for related Tools and Software" includes couple of links to documents targeting a specific MCU different from the currently viewed one.I.e. browsing for STM32H5, or STM32G4 there are also shown "Getting started with STM32N6 MCUs in STM32CubeIDE". And it's the same with WL, L5, MP1, ... CubeIDE ANs.
Hello.I have developed a firmware for Riverdi_121STM32H7.The firmware has Italian and English texts,but we planned to develop a version for Chinese customers, Myanmar, and other non european customers. My doubt is: Unicode::atoi and Unicode::sprintf("%d" produce number in other language, don't ? Thakyou for the answers ...
Hello,I am experiencing an interesting problem on the STM32F303VET:UART1 is used to receive and transmit messages (460800 Baud), DMA1 Channel 4 is used for memory to UART TX buffer transfer, DMA1 Channel 5 for UART RX buffer to memory transfer.Under situations of high load (both reception and transmission) UART1 will stop outputting messages after two bytes. The majority of transmissions work out fine, however the error happens in every test case, though the time to failure differes between approximately 5s and 120s. The problem seems to be caused by an unintended reset of the DMA enable transmitter (DMAT) Bit in UART 1 control register 3 (USART_CR3).Above image shows the error:Trace 1 (orange) shows the TX line of UART1, where only two bytes are transmitted.Trace 2 (red) shows data on RX line. One can see that no RX takes place at the same time as TX.Trace 3 shows a debug pin, it is triggered once when DMA transfer is started.Trace 4 shows another debug pin. It is set HIGH when DMA tr
Heyho,after some *** CAN beginner mistakes on my side, I got the FDCAN BRS 8 Mbit working.Or so I thought. It's only working between my custom boards, as I found out after connecting a Kvaser Leaf v3.With the Kvaser (directly connected to the board's D-sub, termination on, signals on the scope look good (enough)) and BRS on, it only works with max 2 Mbit, and only if the Kvaser's bit timing is set below 70% sampling point.So far I played with changes to TDC, sampling point, SJW, and all bit timings (checked the Kvaser timing website).Any ideas welcome!
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.