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 ST team, Please help to select controller for industrial automation. I have to design product for panel just to drive dc fan where the temperature high for cooling purpose.STM8 controller STM8S003F3P6, STM8S103F3T6, one of the controllers is suitable?Kindly provide contact details of your technical support team.
I'm trying to receive some data over CAN (using Kvaser CanKing 500 kbit/s) and display it on a Riverdi 12.1" display. In fdcan.c, I have: void MX_FDCAN1_Init(void) { /* USER CODE BEGIN FDCAN1_Init 0 */ FDCAN_FilterTypeDef sFilterConfig; // the required filter ID can be found in the struct /* USER CODE END FDCAN1_Init 0 */ /* USER CODE BEGIN FDCAN1_Init 1 */ /* USER CODE END FDCAN1_Init 1 */ hfdcan1.Instance = FDCAN1; hfdcan1.Init.FrameFormat = FDCAN_FRAME_CLASSIC; hfdcan1.Init.Mode = FDCAN_MODE_NORMAL; // FDCAN_MODE_INTERNAL_LOOPBACK; // FDCAN_MODE_NORMAL; hfdcan1.Init.AutoRetransmission = DISABLE; hfdcan1.Init.TransmitPause = DISABLE; hfdcan1.Init.ProtocolException = DISABLE; hfdcan1.Init.NominalPrescaler = 1; hfdcan1.Init.NominalSyncJumpWidth = 32; hfdcan1.Init.NominalTimeSeg1 = 127; hfdcan1.Init.NominalTimeSeg2 = 32; hfdcan1.Init.DataPrescaler = 1; hfdcan1.Init.DataSyncJumpWidth = 10; hfdcan1.Init.DataTimeSeg1 = 29; hfdcan1.Init.DataTimeSeg2 = 10;
Helloi'm looking for the link to download X-CUBE-LED1642 driver but can't find itCan someone give me this link ?thanksbest regards
Hello, I am trying to use the STM32CUBE RTOS STATE panel within VSCode as opposed to setting a watch variable for xQueueRegistry, but the state panel does not match what is shown in the queue registry. Only the first queue is shown. Also, I am curious how to get Semaphores to show up in the semaphores portion of the tree in the state panel. The semaphores I am using are binary semaphores which under the hood are just generic queues.
Hi, I'm trying to understand the firmware / software stack update and I'm quite confused with one thing.I'm quite familiar with the PSA firmware update, metadata, TF-A integration and so on, I've got an access to meta-st-ota.From what I understand, once you find the active boot index in TF-A, the TF-A writes a boot index into backup registers so that it can be propagated to the next stages. But how do you use this index in the next stage (u-boot) actually? I see that indeed it is used in fwu_plat_get_bootidx function which is only available only when CONFIG_FWU_MULTI_BANK is enabled, but it's not used in e.g. rauc boot method. So that why I'm confused. I would rather expect sth like this:- assume active index is set to 0 in metadata- BL2 loads metadata- BL2 lodas boot idx = 0- BL2 sets boot_idx just before it loads BL33- BL2 loads firmware from fip-a- u-boot checks fwu_plat_get_bootidx - u-boot based on boot_idx selects boot-a and root-a (if. boot_idx = 1, u-boot selects
Hello,I'm not sure where to begin with this issue. When I enable the RTOS Proxy as shown below in the debug launch configuration. And I flash and debug, I get the following error/crash. And I also have to unplug and replug the stlink v2 from the computer for it to be recognized again. This behavior is consistent except when I change the code structure in some small way like commenting out a few lines of code. Changing the code in some small way appears to make it work consistently again?
Hi,I am using the st25r3916b chip with phase awaken, wake-up timer range of 800 msec and delta 3.Once it wakes up, I go to read the value in the register 0x3A (Phase measurement display register) in order to check which is the difference between of the stored value and the one which awakes the chip.What I can see is that the value change is less than 3. How can this be?Best regards, Sandra
Hello.It's not possible to find a controller with a specific number of CAN buses using MCUFinder. MCUFinder counts each CAN bus twice: If it physically has 3 CAN buses, MCUFinder adds: 3 CAN buses + the same 3 CAN2.0 buses = 6 CAN buses. This is great if it allows the controller's peripherals to be doubled so easily. Excellent. But it is very misleading because it raises false hope and displays completely unsuitable controllers.However, the program is useless when I'm searching for controllers with 4 or more CAN buses and I get a huge list of 70 possible controllers, all of which have at least 6 CAN buses, but none of them possess these qualities. Can this bug be fixed?
Hello, recently, in attempt to create custom software for SPC56EL70 programming, I have encountered a problem to successfully launch RAM located program inside of the MCU. Discovery board is used for the test.Programming operations are commit via JTAG, and communication layer is already built and shows no faults. Full read of flash memory of the processor was successfully done. Since I haven't worked with any of SPC MCUs before, my JTAG set of instructions are based on MPC5xxx line, so you can assume that main issues might be in key differences between these methods.Firstly, in SPC5 Studio IDE, program for test is created, for example "led blink". For program .ld file is corrected for all segments to be located in RAM(No entry adjustments, ORIGIN is adjusted to ram).MCU is started, MMU, SRAM, are initialized. Bin file is then loaded to RAM(it is then checked for presence), and after that CPUSCR instruction is passed with PC having 0x40000000 - 0x04(NOP as IR) address where program
I am experiencing a "Code Generation" failure in ST Motor Control Workbench, even after performing a clean installation. I have read similar posts and did suggests.To eliminate any "Turkish character", "Path length", or "User permission" issues, I created a brand new Administrator account named "stmdev" on my Windows 11 Home Single Language PC and set the system display language to English (US).My Setup & Steps:Created a root directory: C:\STInstalled STM32CubeMX, STM32CubeIDE, and ST MC Workbench directly into this directory (e.g., C:\ST\MX, C:\ST\IDE, C:\ST\MCSDK).Verified that standalone STM32CubeMX and STM32CubeIDE launch successfully first.Created a basic motor control project in MC Workbench.Upon clicking the "Generation" button, the process fails (CubeMX invocation issue).It seems MC Workbench cannot locate or properly trigger the CubeMX/IDE toolchain, even though they are all installed in the same root directory (C:\ST) and the environment is set to English.Could you p
STM32H755ZITxにX-NUCLEO-IHM07M1を2個接続し、FOC制御がしたいです。MC Workbenchを使用し、STM32H7シリーズからカスタムボードを作成し設定しました。しかしソースコードを生成しようとするとエラーが発生します。この問題を解消する方法はありますか。カスタムボード、MC Workbenchのプロジェクト、生成時のエラーのスクリーンショットをアップロードします。
I am trying to do a general HAL_I2C_Master_Transmit. Everything is fine until I come here: /* Write data to TXDR */ hi2c->Instance->TXDR = *hi2c->pBuffPtr;When I pass this line, the ARLO bit is set in I2C->ISR. My pBuffPtr is correct. It's literally a pointer that points to a location containing 0x6. Additionally, the system does set TXDR. Both Instance->TXDR and I2C->TXDR changed to 6 after this line. This is happening for every instance of HAL_I2C_Master_Transmit.Do y'all know why this ARLO error might be happening or have any solutions?Thanks!
Hello,I am working with the STM32U585AI using OCTOSPI2 to interface with the IS66WVO32M8 32 Mbyte ISSI OctalRAM. Currently I am facing an issue of read operations failing for both register and memory access, both in and out of OPI DTR mode. Register reads return a value of 0x8080 or 0x8888. Memory reads (using both HAL_OSPI_Receive() and HAL_OSPI_Receive_DMA() return some sequence of 0x80s and 0x88s in the amount of data requested (32 byte read returns 32 bytes of 0x80, 0x88, or some combination).EDIT: Dummy cycles in code snippets corrected to both be 16 (based on config being applied to IS66WVO32M8 configuration register).Here is my OCTOSPI2 initialization:void MX_OCTOSPI2_Init(void) { /* USER CODE BEGIN OCTOSPI2_Init 0 */ /* USER CODE END OCTOSPI2_Init 0 */ OSPIM_CfgTypeDef sOspiManagerCfg = {0}; HAL_OSPI_DLYB_CfgTypeDef HAL_OSPI_DLYB_Cfg_Struct = {0}; /* USER CODE BEGIN OCTOSPI2_Init 1 */ /* USER CODE END OCTOSPI2_Init 1 */ hospi2.Instance = OCTOSPI2; hospi2.Init.FifoT
Hardware Platform: STM32H750XBH6Software: MDK + CubeMX FW_H7_V1.12.1github: https://github.com/Q-DEBUG/DMAMUX.gitBackground: The timers TIM12/LPTIM1/2/3 used by DMAMUX1/2 to generate synchronization/trigger signals for H7 peripherals are all 16-bit, resulting in low precision. To improve precision and facilitate jitter compensation (testing shows a deviation of approximately 0.3ms–0.5ms per second), I intend to use the internal 32-bit timer peripheral TIM2.The entire chain is divided into two parts:Part 1: DMAMUX1-CH0, using direct mode (without any synchronization signal), maps the TIM2_UP event to HAL_DMAMUX1_SYNC_DMAMUX1_CH0_EVT.Part 2: DMAMUX1-CH1, using synchronization trigger mode , uses HAL_DMAMUX1_SYNC_DMAMUX1_CH0_EVT as the synchronization signal to trigger UART4_TX.My current test involves modifying the original LPTIM2-triggered UART periodic output routine by changing HAL_DMAMUX1_SYNC_LPTIM2_OUT to HAL_DMAMUX1_SYNC_DMAMUX1_CH0_EVT. At present, I can only observe that Ti
Hello Everyone!STM32CubeIDE version: 1.19.0STM32CubeProgrammer version: 2.18.0MCU: NUCLEO-STM32U575ZI-QI tried to use USBX DFU to update the firmware on the STM32U575ZI. The DFU mode was detected by STM32CubeProgrammer. However, when I clicked the connection button and disabled Read Out Protection, STM32CubeProgrammer was frozen as shown in the following picture Moreover, I tried to use DfuSe Demo to update the firmware. It erased the flash (I double‑checked this with STM32CubeProgrammer), but it could not write data to the MCU, as shown in the following picture. Could anyone provide us with some suggestions?We will be grateful for any help you can provide. reference:STM32Cube\Repository\STM32Cube_FW_U5_V1.8.0\Projects\STM32U5G9J-DK2\Applications\USBX\Ux_Device_DFU
Hi everyone,I recently purchased these chips they look original as the seller only sells genuine parts, but when I check them with a DMM, the Tab and pin 15 should have continuity these dont, Pin 15 and 8 should have continuity these dont. Can anyone help identify if my method was correct as I was following the actual datasheet for these and they dont match.
Hello, I am experiencing the following issue with the STM32L433RCT microcontroller I am using: when I pull the NRST pin LOW and then release it to HIGH, the microcontroller does not recover from reset. In this case, power cycling the device does not solve the problem either. However, if I disconnect the battery from the circuit and then reapply power, the device starts up normally. This issue occurs mostly during the first boot. After the initial startup is successful, even if I reconnect the battery and pull NRST LOW again, the system does not lock up. I am concerned about what would happen in the field if the device were to freeze and could not recover using a reset.
I just need to confirm something. I read in the RM Document that STM32MP157 does not support ODT for LPDDR3 SDRAM but it does have a DDR Controller and PHY which supports LPDDR3. I just wanted to know if I can freeze LPDDR3 for my case? I suppose not giving ODT simply means that I need to provide termination on the PCB itself right? Can someone please throw some more light on this? It would be good to have some reference as well.
Hello,Can the IMP23ABSUTR sensor go through a vapor phase oven?"Thx.
We're looking to use the lsm6dsv320x in our product. I'm using this senser on the on the STEVAL-MKI247A adapter board for testing. We're currently in development using the adapter board with the Nordic nRF52840DK board. I'm having issues with getting the correct value from the WHO_AM_I with certain SPI pin configurations on the nRF52840DK. I can only get one SPI configuration to output the correct value of 0x73 which is SPI1. If I try change the pins or use one of the other SPI's available on the 52840, I consistently get a value of 0x64. Does that value mean anything to anyone? I've tried lowering the frequency to 500kHz, tried all four of SPI modes, I've tried performing a reset using the FUNC_CFG_ACCESS and CTRL3 registers before reading the WHO_AM_I register, but I still get the value of 0x64 except with the one configuration mentioned. I'm using the ST fsm_example for this test. We would like to change the SPI pins as the we want to use the smaller package of the nRF52840 which do
Hello all,I'm facing an issue with STM32 CubeMX / CubeIDE firmware using this display with X-CUBE-DISPLAY over FMC.Each time I'm trying to initialize the LCD this function if((ILI9341_LCD_Driver.ReadID(LcdCompObj, &id) == ILI9341_OK) && (id == ILI9341_ID)) is always returns id = 0x0.I've tried to play with timings, using formula from FMC/FSMC, but no luck.This is my FMC initiliaztiation:/* FMC initialization function */ static void MX_FMC_Init(void) { /* USER CODE BEGIN FMC_Init 0 */ /* USER CODE END FMC_Init 0 */ FMC_NORSRAM_TimingTypeDef Timing = {0}; /* USER CODE BEGIN FMC_Init 1 */ // hsram1.Instance = FMC_Bank1_1; /* USER CODE END FMC_Init 1 */ /** Perform the SRAM1 memory initialization sequence */ hsram1.Instance = FMC_NORSRAM_DEVICE; hsram1.Extended = FMC_NORSRAM_EXTENDED_DEVICE; /* hsram1.Init */ hsram1.Init.NSBank = FMC_NORSRAM_BANK1; hsram1.Init.DataAddressMux = FMC_DATA_ADDRESS_MUX_DISABLE; hsram1.Init.MemoryType = FMC_MEMORY_TYPE_SRAM;
Hey. I'm trying to use my H7's usb interface and i've currently set it up as a cdc device.What i'm trying to implement though is the following. The stm is supposed to create a virtual connection with either a python app or a tera term terminal.Is there a function or a variable that detects if this kind of a connection is established ? For example, the pico equivalent is tud_cdc_connected() What i want to build is thiswhile(!exampleCOnnectionVariable) { HAL_DELAY(500) }Meaning that my stm would wait during initialization, until a connection is established and then proceed with the super loop.
Hello everyone,I’m working on a custom board based on the STM32L4R9 with a 2.1" round 480×480 display from Newhaven, which uses the ST7701S controller. My goal is to get it running with MIPI DSI / LTDC and TouchGFX.So far, I’ve managed to display a solid color by manually filling a framebuffer. However, once I integrated TouchGFX and started rendering shapes, the lines appeared shifted. This makes me think the issue is related to timing parameters (HSYNC, VSYNC, VBP, VFP, HBP, HFP).The problem is that the display datasheet doesn’t provide typical timing values. I contacted Newhaven’s support, and they shared example code for the same panel but using the SSD1963 controller. Unfortunately, using those values didn’t work. Looking deeper into their example, I noticed that the comments mention one set of values, but the actual register settings differ. When I reached out again, they simply said the comments might be wrong, but the code should work. Not very helpful.Here is the example that
Dear STMicroelectronics Support Team,I am writing to report a persistent issue with STM32CubeIDE that is affecting multiple users in our company and blocking our development work.Issue Description:When we try to debug any STM32 project, the debugger launch process gets stuck at 51% with the message:Launching: Initializing debugger servicesThe issue occurs with different versions of STM32CubeIDE and with multiple target boards.Steps to Reproduce:Open STM32CubeIDE and build the project (build succeeds).Click Debug.Debugger launch stops at 51% and does not proceed further.Environment Details:STM32CubeIDE Versions Tested: 1.9.0 and 1.13.2 (same result)Operating System: [Windows 10 / Windows 11]Target Boards Tested:STM32F429I-DISC1STM32F407-DISCST-LINK Firmware: [if known, mention version]Actions Taken:Reinstalled STM32CubeIDE (both versions).Reinstalled ST-LINK USB drivers.Verified ST-LINK is detected correctly in Device Manager.Tried on multiple PCs within our company — all systems show
Now that STBC15 is marked as NRND, is there any direct or close substitute that is planned?
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.