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 trying to analyze a custom Speech Enhancement ONNX model targeting STM32N6, but the tool fails immediately with an internal error.Command executed (cmd)stedgeai analyze -m onnx\best_trained_model.onnx --target stm32n6 --compression none --verbosityST Edge AI Core v3.0.0-20426Tool versionST Edge AI Core v3.0.0-20426ErrorTOOL ERROR: index 0 is out of bounds for axis 0 with size 0 The model is an ONNX export of a neural network used for speech enhancement. I used the code on stm32-model-zoo-services to train this model. Training and evaluation were fine, indeed i've used the .onnx that this phase generates. Then the quantization phase generate another error:Error (symbolic_shape_infer.py)Exception: Incomplete symbolic shape inferenceWhat should i do?@Julian E.
ST Dev team have successfully created a web browser with Qt WebEngine and deployed that into the MP257 processor.The browser has been made in kiosk mode. There is no official benchmark about that scenario.My question is how well supported is the MP257 from Qt6 WebEngine? By looking at the Qt WebEngine features https://doc.qt.io/qt-6/qtwebengine-features.html It seems that the Qt WebEngine have lots of stuff in the box. Are all features from Qt WebEngine possible to enable inside a web browser for MP257?I'm more interested in WebRTC, HTML5 DRM, Hardware acceleration, WebGL, WebSockets. DOM Extensions, Vulkan support API.This is a question about hardware, rather than software. My goal is to create optimized kiosk mode web browser of specific dynamical web pages.I'm targeting web pages such as Netflix, GeForce Now, Spotify etc. I don't have any high requirements on resolution. Max 1080p, which is supported by MP257.
Hi,I've been trying to set up an experiment that deploys the MobileNet v2 model from the STM32AI Model Zoo (mobilenetv2_a035_128_fft_int8.tflite) to do some classification of images using my own test dataset; so that's a set of discrete images, not real-time camera data. I want to use a Python script on a PC to send each test image, one at a time, to the MCU via serial (USB C), have the model run inference, and then return the classification results to the PC. This will repeat in a loop so all images are processed and the Python script will then calculate final metrics, based on all the individual image classification results.I already have some Python code and can send an image as a tensor to the MCU, but I am struggling to correctly return, or interpret, the classification results. I.e., using the model trained on the Flowers dataset, I expect a classification result consisting of 5 float values (one for each class in the dataset) to be returned. But the values I get back don't seem
Hello,I am trying to find the project used to create the code loaded on my Nucleo-H563ZI when I first received it.I see several references stating it should be in a Demonstration folder, however I don't see that folder in:...\STM32Cube_FW_H5_V1.6.0\Projects\NUCLEO-H563ZIThat folder has the following folders:ApplicationsExamplesExamples_LLExamples_MIXROT_ProvisioningTemplatesTemplates_LL
I bought an ST-link V2 from amazon, this error occured, fearing it may be counterfeit, I then bought another St-link v2 from STM website itself so there is no way it is fake, but the same error still occured. I am on Mac M3 using Cubeprogrammer. There is utterly no documentation on this error. What do i do.
Hi, I have recently upodated STM32CubeIDE and have found that starting a new project doesn't generate a *.ioc file. I found a forum thread dated 7/2025 to a similar issue in versions 1.17-1.19 but the suggested work around menu options don't appear to be in v2.1.0. Any ideas? this is really annoying as I've got a 'journey to complet'e but I'm wasting my time getting the 'car to start'....
Hi!I am experiencing some confusing behaviour on an STM32H743 series chip:I am running an injected ADC channel on ADC2, with trigger from the HRTIM. The HRTIM is triggering at 8000 Hz (200 MHz clock, prescaler div-2 and period = 12500). The ADC generates an interrupt at injected end-of-conversion, with 64.5 cycles per sample in 16-bit mode. The ADC clock is running at 80 MHz, with prescaler div-4, i.e. 20 MHz. When setting an oversampling ratio such that the conversion time becomes longer than the time between the trigger pulses, I always get half the expected frequency for the generated interrupts. For example, with oversampling ratio 64, I can calculate the conversion time as:t_conv = (64.5 + 8.5) * (1 / (20*1e6)) * 64 = 0.2336 mswhere the 8.5 extra cycles come from the fact that we are in 16-bit mode as per documentation. From this, the ratio between the conversion time and the time between two consecutive trigger pulses is about 2, i.e. for each conversion
Good day,After I did an upgrade to the latest version when I compile I get this error.Where can I get documentation on this.Never did an upgrade without issues.make -j48 all arm-none-eabi-gcc -mcpu=cortex-m4 -g3 -DDEBUG -c -x assembler-with-cpp -MMD -MP -MF"Startup/startup_stm32f411ceux.d" -MT"Startup/startup_stm32f411ceux.o" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "Startup/startup_stm32f411ceux.o" "../Startup/startup_stm32f411ceux.s"../Startup/startup_stm32f411ceux.s: Assembler messages:../Startup/startup_stm32f411ceux.s:61: Error: bad instruction `rtc ldr sp,=_estack'make: *** [Startup/subdir.mk:19: Startup/startup_stm32f411ceux.o] Error 1
Hello We are working on a new project with STM32H723ZGT6. I want to control S70KL1283DPBHI020 DRAM with HYPERBUS communication using OSPI1. If you access 0X900000 memory to write and read data during the current operation, the data will not be read accurately. It seems necessary to check if there is a problem in the circuit diagram. I'm using PC2_C pin and PC3_C pin for IO5,6, is it not a problem? Is it not a problem to use the RESET PIN as a GPIO OUT PIN to give a HIGH signal I gave the data a value of 0xff up to 100 bytes, but there is another value in the 4th address. I would like to ask you to check the problem. Thank you.
For context, I am new to both USB programming and the STM products (and tools), so I apologize in advance for my ignorance. I am working with an old, existing system, which utilized a USB connection to a processor/EEPROM to store information (a dongle). As some of the parts have gone end-of-life, we are looking to move to new hardware. The hope is to mimic the software running on the old hardware so that the new part will work with existing systems in the field, as well as new products. Our existing system runs on Linux with a custom driver communicating with the dongle, and from what I can tell has been coded up as a "vendor device" instead of a "class device". Anyhow, the engineering department selected the STM32C071RBT6 as an appropriate part and have provided a prototype which I am using for development along with the following:STM32CubeIDE v2.0.0STM32CubeMX v6.16.1STM32C0 series v1.4.0 To get started w
I have a STM32H732 processor connected to a ethernet switch with port based VLAN support.I use the processor to connect to two different interfaces which are separated in the switch.I wanted to be able to access the same two TCP ports in the processor from both interfaces.So I configured ETH_L3_FILTER_0 and ETH_L3_FILTER_1 with the two different IP-addresses used on the two interfacesAnd the ETH_L4_FILTER_0 and ETH_L4_FILTER_1 with the two different ports.But that did not work as I hoped.It looks like the L3_FILTER_0 and L4_FILTER_0 are used as one filter. and FILTER_1 as another.And maybe that is as intented but it is not super clear in the documentation.I may have to add that I have found and read...Is this correct or is there perhaps a way to use the L3 and L4 as separate filters so that I can get four different filters allowing two IPs and two Ports in any combination of ports and IP?Best regards
Hi Community,We are encountering an issue with the SD-Card on our STM32MP15x board. The problem is, that writing to the SD card works well but the reading does show sporadic errors.In our configuration, we use 1TB MicroSD-Cards in the DDR50 Mode. In DDR25 mode, the SD card is working fine. Unfortunately, we need the DDR50 Mode (or faster) for our product.First, let me describe the test scenario: I wrote ~500GB uint64_t ramp data in little endian byte order to a SD-Card, and verified on an external device, that the ramp data have been written correctly. A dump of the first 64 bytes looks as follows:root@gdl1-31:~# hexdump -C -n 64 /dev/mmcblk0 00000000 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 |................| 00000010 02 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 |................| 00000020 04 00 00 00 00 00 00 00 05 00 00 00 00 00 00 00 |................| 00000030 06 00 00 00 00 00 00 00 07 00 00 00 00 00 00 00 |................| 00000040In the next step, I wrote a little te
Hi ST support team, I'm using STVD version 4.3.12, no matter create an empty project or open the existing project. The MCU selection in Project Setting always empty. But the same STVD installation package works in some other computers. My computer is 64-bit x64-based processor, running Windows 11 Enterprise Version 24H2. I tried re-register dao360.dll in administrator CMD, there was a period when it could be resolved, but I'm not sure if it was due to Windows updates or some other reason. Now it's not working anymore. CMD command:Regsvr32 /u "C:\Program Files (x86)\Common Files\Microsoft Shared\DAO\DAO360.DLL"Regsvr32 "C:\Program Files (x86)\Common Files\Microsoft Shared\DAO\DAO360.DLL"
I am currently evaluating a power line carrier (PLC) communication solution and plan to use the ST8500. The client’s equipment is quite densely packed, with several hundred units, and requires auxiliary communication via the power line to promptly detect equipment failures and crashes. The estimated node capacity needs to reach 1,000. These 1,000 units are distributed within a high-voltage transformer, which cannot be expanded or relocated. According to the description in the ST Smart Grid Products brochure, the ST8500 can support a network of up to 1,200 nodes. This raises the first question: are these nodes connected directly to a concentrator, or do they require repeaters to forward signals to the final concentrator? Do the repeaters need to be isolated from one another by transformers? The client has a large number of devices, some of which have very high time-sensitivity requirements. Can these 1,000 nodes communicate across different frequency bands? Furtherm
I am generating a project from scratch with the help of STm32 cloud AI for STM32N6570 MCU. When I loaded in STM32 IDE , the main.c inside application is getting build but as after that when I am trying to do changes in its .ioc file to add other features its middleware files are getting corrupted, path gets broken as soon as I press generate code in cube MX file. Kindly help me. Thanks & RegardsChanchal
I see only one other answer to this question, here: Solved: TrustZone Enable afterwards - STMicroelectronics CommunityHowever, others are not answered. Can you confirm that there is a solid reason why the TrustZone cannot be enabled after the project has been created? Does it scramble to ioc file? Was this an issue with previous versions of CubeMX and perhaps no longer an issue? Core: M33
I am stuck trying to run STM32MP215DK M33 firmware examples on an (unmodified) ostl distribution I built.I went through the getting started tutorials no problems, now starting to experiment with customisation, but have got myself stuck. Some advice would be appreciated. This STM32MP ecosystem is quite overwhelming to the uninitiated, especially once you add in trusted firmware.As per this page, I loaded the image FlashLayout_sdcard_stm32mp215f-dk-ca35tdcid-ostl-m33-examples-optee.tsv. I have been playing with building and debugging the various example projects for M33.When trying to alter the M33 examples, I came up against the hardware firewall. It became clear that I was going to need M33 access to ports and peripherals that were currently allocated to the A35 core. I still haven't worked out how to solve that yet. But ultimately a custom kernel layer will be required, so I started looking into that.As per this page, I built the default linux
We are currently using the PM8805 in our PD (Powered Device) design.We have recently encountered field failures and suspect that the root cause lies in the customer's testing process.Our customer was using a Passive DC Injector (55V DC Supply) instead of a standard IEEE 802.3at/bt compliant PSE. During their inspection, they perform "Hot-plugging" of the 55V DC source directly into the RJ45 port.I’m assuming the PM8805 has to 'work through' the Active Bridge’s body diodes during the initial handshake (Detection/Class). Since the MOSFETs aren't active yet, all that signaling current must be passing through the parasitic diodes, correct?My concern is that when using a 55V direct injector, a massive amount of inrush current is forced through these body diodes before the voltage even reaches the UVLO threshold. Doesn't this put a lethal amount of stress on the bridge before the PM8805 can even start its control sequence?We performed a failure analysis on the damaged products and found the
Hello,I am testing a custom board based on STM32MP257FAI3 with two DDR4 MT40A512G16And STM32DDRFW-UTIL cann't pass through PHY initialization. I found that CubeMX 6.17.0 still allows DDR A19 pin mapping, despite the pin A19 isn't assignable for both DDR3 and DDR4. (STM32CubeMX 6.12.1 released). So I've assigned BA0 signal to it on PCB. And I think this cause STM32DDRFW-UTIL to be failed.Is there any way to resolve this programmatically?
Good morning!I've been working in a project whose purpose is communicate AEK-MCU-C1MLIT1 board and AEK-COM-ISOSPI1 through SPI/isoSPI protocols. At first, I've tried to apply the hardware configurations and script as mentioned in the user manual(UM3187) to exchange 512 bytes between two devices through isoSPI, however I don’t know how reliable the results in debug step are to assure this communication is working properly. Another detail that I've noticed is about disable pin, which stay always turned on, mainly when I select configuration as “micro” in AEK-COM-ISOSPI1 Component RLA > Application Cofiguration. What should I do to enable AEK-COM-ISOSPI1 board?About the wire connections, I used as reference the board view within AutoDevKit Studio. I’d like to know if there is some connection that is missing, especially about the ISOm e ISOp signals, because the board view doesn’t show if I should to connect the USB port on the computer to debug step, for instance.
Is there a way to turn the DC off on the RF_IN port on the LIV4 GPS module? There must be an enable or disable feature available via firmware. Thanks for reading.Scott
This is to NUCLEO-H723ZG/NUH723ZG$AT2 eval board. When set VDD=3.3V by JP5, the ethernet (lwip + no os) DHCP is working fine and stable. When switch to VDD=1.8V by JP5, the STM32 is working fine but the ethernet DHCP is working randomly, most of time failed. Checking the board schematic of ethernet section, it looks fine for LAN8724 VDDIO=VDD=1.8V and 3.3V to transformer section. Using this eval board for 1.8V environment project, enthusiastic hope to make it works stable. Any helps are welcome. Thanks. JYI
We have followed single conversion mode as outlined in: L9966 lambda sensor interface – rev. 1.0.0 1 L9966 lambda sensor interface Application Note. But the result register is all zeros.Is there anything missing?The register nameing is not consistant datasheet has DWT_VOLT_SRC_LSF_CTRL, but app note DWT_VOLT_SRC_CTRL.The sequencer mode works fine.
Hi I am new to the I2C communications. I am trying to communicate to the IMS330dlc chip. I am using a lab jack U3-HV.. I am programming this via Visual Studio 2022 using c# code. I cant get back the 106 for Who am I. below is the code that I setup on a push button so I could step through the code. or if anyone has example code using Visual Studio C# 2022 please send it . private void Read_AccelBtn_Click(object sender, EventArgs e) { { LJUD.IO ioType = 0; LJUD.CHANNEL channel = 0; double dblValue = 0; double dummyDouble = 0; int dummyInt = 0; double numI2CBytesToWrite; double numI2CBytesToRead; byte[] writeArray = new byte[12]; byte[] readArray = new byte[12]; long i = 0; long serialNumber = 0; double slopeDACA = 0, offsetDACA = 0, slopeDACB = 0, offsetDACB = 0; double writeACKS = 0, expectedACKS = 0; numI2CBytesToWrite = 1; writeArray[0] = 0; //Memory address. User area is 0-63. //Open the LabJack. try { device = new U3(LJUD.CONNECTION.USB, "0", true); // Connectio
Hi,We wish to do a Boost PFC with L4986A and a 30uH inductor.Power is 2200W and Mains is 85-265VAC.When the mains is at 240VAC, the inductor current would be discontinuous for some 80% of the mains half cycle.Is this OK?Will the L4986A be able to control it to give a good power Factor with low THD?
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.