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 come to you about the key provisioning process for the iROT in the STM32H5.Using TrustedPackageCreator, the keys provided in the file STiROT_Config.xml for the Secure Boot (field <Authentication key>) are both the private and public keys of the .pem file. However, only the public key is needed, and will be embedded in the device. This method of provisioning is limiting for us for two reasons:- on the one hand, it doesn't allow to subcontract the provisioning task, as we don't want to give the private key to the subcontractor- secondly, the private key may be generated by an HSM and cannot leave the vault. So, is there a way to provision only the public key at this stage? Best regards,Christine
I want to support a couple of display panels/LCDs so I tried modifying the uboot so it loads the desired device tree overlay according to the state of the input pins (digital). However, when I'm testing it, it does not get applied.I already spent a couple of days trying to figure this one out but I did not get any luck so I tried testing this concept with RaspberryPi and it works.Do I just need to set CONFIG_OF_LIBFDT_OVERLAY to the defconfig make this one work?
Hello community,I am using STM32G474 for my FOC application and I am a bit confused about the ADC modes.Since the G4 series has a wide range of ADC modes, which ADC mode is best for 2 or 3 phase current sensing in FOC applications?Is the "dual injected simultaneous mode only" suitable for this purpose?I'm using the ADC1_IN2, ADC2_IN1 and ADC3_IN5 channels to sense the current.If I want to sense all 3 phases current, what should I do? "Independent mode+injected conversion" combination enough for it?I can use a FOC library or MCSDK, but I need to learn the logic behind this task.Thanks for any help. Best Regards
Hello,I'm here on H75x. I'm looking for portable way to do a timeout check via timer.Here, I want a timeout IRQ if UART receive DMA hangs up.First I setup a OnePulse timer in Cube. It generates the following code:if (HAL_TIM_Base_Init(&htim6) != HAL_OK) { Error_Handler(); } if (HAL_TIM_OnePulse_Init(&htim6, TIM_OPMODE_SINGLE) != HAL_OK) { Error_Handler(); }The second init function does almost the same as the first but activates the OneShot mode which stops the counter immediately if IRQ is fired.I was looking for a suitable HAL function to setup the timeout value but failed. Instead I use__HAL_TIM_SetCounter(htim, 1); // set start value __HAL_TIM_SetAutoreload(htim, ulDelay); // set end value __HAL_TIM_ENABLE(htim);The last macro is required because after the RX DMA is done in time, the timer has to be stopped to prevent from false timeout IRQs.Is this the way to go? Is there a HAL-compatible solution which I didn't get?Thanks
My MCU is STM32H7R7L8H6H,The FLASH schematic pins are as follows,Please help me, thank you!
Hi Support team, I am working on the FREERTOS based project and i need to disable the code generation for pendsv handler, systick handler, svc handler . As this handlers are written in freeRTOS, I am getting error for multiple definations. I have seen the option to skip the code generation in previous versions of the software but now i am not able to do so. you can see an empty page in code generation option. Please help solve the issue.
Hi,I’m using an STM32L052 with LQFP32 package, VDD = 1,8V.According to the datasheet:“VDD_USB = 1.65 to 3.6V: external power supply for USB transceiver, USB_DM (PA11) and USB_DP (PA12). To guarantee a correct voltage level for USB communication VDD_USB must be above 3.0V. If USB is not used this pin must be tied to VDD or VSS. On packages without VDD_USB pin, VDD_USB voltage is internally connected to VDDvoltage”Since in the LQFP32 package VDD_USB is internally connected to VDD, it is therefore powered at 1,8V in my design.As expected, the USB interface does not operate when I connect the board to a PC and risk of damage because D+ and D- tied to 1,8VCould you please confirm that the internal USB PHY cannot operate correctly at 1,8 V, and that USB operation requires VDD ≥ 3.0 V even when VDD_USB is internally tied to VDD ?If so, what would be the recommended workaround for designs that operate the MCU at 1,8 V ?Thanks in advance for your clarification.
Hello,I am integrating an STPMIC1x component to power my STM32MP153C-based system. This design is closely following the STM32MP157F-DK2 schematic found here. The issue comes from the fact that some of the default output voltages for STPMIC1APQR used in the design do not align with the necessary power inputs for some of the peripherals, namely the DDR3L chip. For example (in the EVK schematic), VDD_DDR on BUCK2 is by default Rank0 and set to 1.1V, which does not meet the DDR3L specification of 1.35V.The STPMIC1x datasheet implies that the A/B/D/E part numbers can provide the correct voltages for VDD and VDD_CORE by default (through Rank1, Rank2, or Rank3 outputs), and then the STPMIC1A/B/D/E can be (re)programmed by the MPU to provide the correct voltages on its other outputs such as its DDR3L peripheral. Q: Is this (re)programming of the STPMIC1x chips handled early in the boot process through OpenSTLinux and carried out on I2C4 from the MPU? If so, where does this occur
Hello everyone,I’m currently facing an issue with PDO data exchange between a CANopen Master and Slave running on STM32 using CanopenSTM32 and CANopenEditor.I can successfully see PDO frames on the CAN bus using a Waveshare USB-CAN-FD analyzer, but my Slave does not seem to receive or update the mapped object as expected.These are the Details of my Setup: Master Node-ID: 0x18Slave Node-ID: 0x02Stack: CANopenNode V4 (ported for STM32)ODs generated with: CANopenEditor v4.2.3Bus monitoring tool: Waveshare USB-CAN-FD Master TPDO1 (0x1800): COB-IDUsedByTPDO = 0x40000180 Mapping = 0x60010020 (x6001_counter) TransmissionType = 0xFFSo, on the CAN bus, the Master sends messages with ID: 0x180 + Node-ID = 0x180 + 0x18 = 0x198. And I can confirm this with my USB-CAN-FD analyzer i see CAN frames with ID 0x198 and correct payload.Slave RPDO1 (0x1400): COB-IDUsedByRPDO = 0x40000180 <-- initially Mapping = 0x60020020 (x6002_counterFromH7) TransmissionType = 0xFF
Dear Team,We are currently working with the STM32MP257F-DK board and would like to confirm whether the LPDDR4(MT53E1G32D1FW) memory mounted on this board supports inline ECC (Error Correction Code).Could you please provide details on the ECC capability and any relevant documentation regarding its configuration or usage? Thanks & Regards Akshitha Pattem
Hardware: STM32L071CZTXSoftware Versions:STM32CubeMX 6.14STM32CubeIDE 1.18Problem Description:I'm experiencing code generation issues with both Cube software tools on an existing STM32L071CZTX project:Issue 1 - STM32CubeMX 6.14:Code generation process gets stuck and becomes unresponsiveOnly way to terminate is through Task Manager (killing OpenJDK Platform binary process)Issue 2 - STM32CubeIDE 1.18:Code generation fails when modifying clock parametersNo code is generated after clock configuration changesSteps Already Taken:Performed complete uninstallation of all STM32 softwareFresh installation using newly downloaded files from ST websiteVerified MyST account login on both applicationsRequest: Has anyone encountered similar issues with these software versions? Any guidance on resolving these code generation problems would be greatly appreciated.Thank you for your assistance.
Hi, We have been testing our H-bridge on 2 EVALSTGAP2HDM with IPP026N10NF2S MOSFETs. The gate resistances are as per the EVAL board. We are seeing huge ringing on the gate signals for the low side FETs on both boards with no load connected. The high side gate signals are clean and no ringing is observed. We have tested the board with both +15/0 V and +15/-3 V configuration and ringing is observed in both cases. I have attached the gate waveforms for the low side FETs for both configuration. This gate ringing is then translated to the output voltage waveform with huge VDS voltage overshoots, sometimes double the DC bus. The DC bus voltage is 24 V, switching frequency of 100 kHz and the dead time inserted is 100 ns. We expect the Miller clamp to be working here but it seems it is unable to do it. We are unable to load the circuit because of this current issue. We would appreciate you quick response to solve this issue so that we could proceed for further testing phase. Thanks
Hello, I am currently trying to write code for the I2C communication with the VL53L1-SATEL board. I was trying to confirm that the I2C was working by reading some registers mentioned in the VL53L1 Datasheet, those being 0xC0, 0xC1, 0xC2, 0x51, and 0x61. I was never able to get actual data from these registers. I have since found some example code that when I run I am able to read distance but when I try to read those registers in the example code I still am unable to get any of the data that is meant to be in those registers and some I get just zero while others I get the wrong values. I am wondering if the info in the datasheet about those registers is wrong or if I am doing something wrong along the way. A important note is that I am also reading from 0x010F using the same command which outputs 234, 0xEA in hex, but I am unable to see anywhere if that info is right or wrong. Thanks, Carson
Hi, I tried to build my project but I faced these errors :--------------------------------------------------------------------------------------------------------------------------------------------------C:/ST/STM32CubeIDE_1.12.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:/ST/STM32CubeIDE_1.12.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\libc_nano.a(libc_a-closer.o): in function `_close_r':(.text._close_r+0xc): warning: _close is not implemented and will always failC:/ST/STM32CubeIDE_1.12.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eab
Hi, I am using a STM32F411CEU6. I am trying to make the One Pulse Mode of TIM1 start every time TIM2 has counted its ARR. However, I don't seem to really understand what the relevancy of the ARR of TIM1 is when having TIM2 controlling the start(except if it is longer than TIM2 ARR i guess). Now I have 90MHz on both APB1 and APB2 and the PSC of both TIM1 and TIM2 is 90. I was following an example online where he sat the ARR of TIM1 to 50000 and ARR of TIM2 to 60000. The Pulse of TIM1 was 10000. From my understanding when I am running in output compare mode PWM1, TIM1 should start every 60ms and have a ON time of 10ms. Instead I see an ON time of 20ms and a period of 60ms. However when I change the ARR of TIM1 this ON time also changes. Is there something I am missing completely here? (I also have to change the OCMODE of TIM1 to PWM1 because it does not seem to be an option in MX)Thanks in advance!
Hi,I would like to know what is the stop band attenuation of LPF1 and LPF2 for the sensors ISM330DLC & IIS2DLPC. Thank you!
AN5296Application noteASM330LHH: automotive inertial module digital 3-axis accelerometer and digital 3-axis gyroscope3 Operating modes”To guarantee proper power-off of the device, it is recommended to maintain the duration of the VDD line to GND for at least 100μs."About the statement:If the power is turned on before reaching the GND level, what will be the effect?
I'm trying to track down a memory corruption bug in my code. I can setup a Watchpoint for a specific variable (Expression to watch: *(uint32_t*)0x20024840), and get the debugger to stop at a breakpoint whenever the variable is written to (good!).However, my problem is that 99% of the time, it's a legitimate/intended write, and I'd like it to NOT break at those locations so I can focus on the problem area.I've tried using the "Conditon:" field in the breakpoint property in 3 different ways:1) Ignore breakpoint if at a specific address: $pc != 0x80201cc2) Ignore the breakpoint if in a specific function: !$_is_in_function("my_func")3) Ignore the breakpoint if the value being written to the variable is within a range: *(uint32_t*)0x20024840<3000||*(uint32_t*)0x20024840>4000In all 3 cases, it seems to have no filtering at all. I hit all the breakpoints any time the variable is written to no matter what I write on the "Conditon:" box. Is my syntax wrong? Do I need to
Hello everyone,I’m working with the B-L072Z-LRWAN1 Discovery board (STM32L072CZ + Murata CMWX1ZZABZ module) using Keil uVision5.I’m trying to achieve very low power consumption for battery operation, but I can’t get the current below 1.16 mA in Low Power mode.I have tested the official LoRaWAN examples provided for the B-L072Z-LRWAN1 (I-CUBE-LRWAN package) using Keil uVision5.I followed all low-power recommendations (Analog GPIOs, LEDs off, ST-Link disconnected, debug disabled).However, the board still draws about 1.16 mA in low-power mode, which seems too high compared to the expected few µA from the datasheet.Setup:Board: B-L072Z-LRWAN1MCU: STM32L072CZIDE: Keil uVision5 (latest STM32 device packs)Power source: 3 x AAA BatteriesLoRaWAN stack: I-CUBE-LRWANQuestions:Has anyone managed to reach sub-100 µA or µA-level consumption with this board and Murata CMWX1ZZABZ module?Is there any hardware component (regulator, module, or interface) that stays powered even when the MCU is in Stop mo
Does anyone know how to connect X-NUCLEO-IHM08M1 with NUCLEO-U575ZI-Q?CN11 and CN12 of NUCLEO-U575ZI-Q will be connected to CN7 and CN10 of X-NUCLEO-IHM08M1 respectively? Pin 1 of CN11 and CN12 are connected to Pin 1 of CN7 and CN10?Thank you
I am finding it difficult to get clear direction on best practices for how to do the layout for CSI and CSO. App note AN4985 says that "parasitic capacitance to ground should be made as small as possible", and then recommends using a coupling capacitor up to 2.7pF (C_COUP, between the 2 electrodes, I think... not sure). But, on the other hand, the reference design (Discovery Kit ST25R3911B-DISCO) has no C_COUP shown in the schematic -- maybe because there is enough capacitance already between the electrodes? -- and it has an RC of 1k and 12pF on both CSI and CSO, without explanation. It is not clear why we want to minimize parasitic capacitance to ground, but then we deliberately add 12pF of capacitance to GND. Some clarity on the design goals for CSI and SCO would really be appreciated. thanks!
Anyone tried to control more than one motor with the EVLSERVO1?The scenery that I mean is like: the ELVSERVO1 is 3kW, so I would control 4 motors of 500W each and give to the EVLSERVO1 the reference (hall sensors) of one of the 4 motors.Did anyone try something similar to that? Do you think that this could work?Thanks.
I am currently working on a new hardware design using the STM32U575VIT6 (LQFP64, 10 × 10 mm) microcontroller.I would like to request:Reference schematics and layout guidelines for STM32U575 in LQFP64 packageRecommended power supply and decoupling capacitor designCrystal oscillator and reset circuit design guidelinesAny available design checklists or application notesMy design overview:,low-power IoT sensor node Peripheral interfaces planned: SPI, I²C, ADC, etc.Kindly share any relevant schematics, PCB layout examples, and design documentation to ensure proper implementation.Thank you very much for your assistance.ThanksHarshith
@Issamos Am planning to Quad SPI, which port we can use, i cannot able to find the data sheet below listed pins can use Controller -STM32U575VIT6 (LQFP64, 10 × 10 mm)QSPI_CLK → PB2QSPI_NCS → PB6QSPI_IO0 → PD11QSPI_IO1 → PD12QSPI_IO2 → PE2QSPI_IO3 → PE3Pls suggest the pins details
Hello,I have an STM32G474RE Nucleo board configured in Dual Regular Simultaneous Mode for ADC 3/4 using CubeMX. I noticed some strange behavior with ADC 4, specifically that its conversions freeze after operating for some length of time. I thought I was experiencing a software problem on my end, but after much testing and ordering another board, I believe the issue is inherent to the STM32G474RE. When I configure a simple test for ADC pair 1/2 with DMA, using Dual Regular Simultaneous Mode and triggered by a timer, and separate the resulting conversions into two 16-bit values in the debugging window, no issues arise. But when I repeat the test and only change the ADC pair to ADC 3 (master) and ADC 4 (slave), the conversions from ADC 4 freeze every time after some length of time. I also noticed that any other code makes the problem worse. For example, if I poll SPI Transmit/Receive in the while loop in main, the readings from ADC 4 freeze almost immediately. I even tested a simple "cnt_
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.