Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
Hi everyone!Does anyone have the link to the schematic of stm32h750b-dk. I'm new to this world but I found the schematic for other boards. By schematic I mean the correspondence between the name of the pins as marked on the board and the "internal" name that is used to access that pin in the CubeMX. For example, for stm32f7 I can see that D0 correspondes to PC7, D7 to PI3, etc.Thanks in advance for your help.Best,TJota
Hi everyone,I'm experiencing an issue with multicast group communication in my LoRaWAN setup. I have created a multicast group and am attempting to send downlinks to my end devices (STM32 B-L072Z-LRWAN1). The downlinks are getting queued and sent to the gateway, but they never seem to reach the end devices.Here is the part of my code responsible for sending the multicast downlinks:def send_downlink(): now = datetime.now().strftime('%Y-%m-%d %H:%M:%S') print(f"[{now}] Sending downlink to multicast group (Port: {FPORT}, Payload: {PAYLOAD_HEX})...") try: channel = grpc.insecure_channel(GRPC_SERVER) client = api.MulticastGroupServiceStub(channel) auth_token = [("authorization", f"Bearer {API_TOKEN}")] payload_bytes = bytes.fromhex(PAYLOAD_HEX) req = api.EnqueueMulticastGroupQueueItemRequest() req.queue_item.f_port = FPORT req.queue_item.data = payload_bytes req.queue_item.multicast_group_id = MULTICAST_GROUP_ID # Send request start_time = time.time() resp = client.Enqueue(req, metadata=
Hi everyone,I’m new to LoRa and STM32 development, and I’m trying to set up communication between two devices using the P-NUCLEO-LRWAN3 kit. Here's my setup:Transmitter Node:- NUCLEO-L073RZ- LRWAN_NS1 sensor expansion board (433/470 MHz)Receiver Gateway:- NUCLEO-F746ZG- LRWAN_GS_LF1 gateway expansion board (433/470 MHz)I’ve successfully read sensor values like temperature from the transmitter node. Now, I want to send a simple value like "10" from the transmitter to the receiver using LoRa.I’m using Zephyr RTOS and following the LoRa sample examples, but I’m not sure how to:1. Transmit a custom value (like a string or integer)2. Receive and print/display that value on the receiver sideAdditionally, I’ve received two pairs of antennas with the kit – one pair for 434 MHz and one for 480 MHz. I'm not sure which one I should use for proper transmission. Any guidance on that would also be helpful.Could anyone guide me or share a minimal working example for this?Thanks in advance!
Hello,I am using the FOC with hall sensor (having at 15 degree mechanical accuracy) on a BLDC motor controlled by STEVAL-PTOOL4A. I am using the MCSDK v6.3.2. I activated the Overmodulation in order to drive my motor at 18500RPM. However at this speed and without load I have a weird current signal. It is like a noise. However, when I run the motor at 8000RPM the signal is much better and it starts to be sinusoidal when I apply a load on my motor. Here are the current:At high speed no loadAt low speed no load:At low speed with load: Without OverModulation, at 17000 RPM with load: Can anyone help me with this.Thank you.
Although I have expanded an external flash storage for pictures and fonts.Due to the fact that touchgfx generates a large amount of code, the stm32h523cct6 flash is insufficient. So can I use the address for 0xc000000 flash and address for 0x8000000 flash?I attempted to burn the program separately into these two flash areas. The burning was successful, but the program was not running normally. Do I need to modify or add other configurations? Or is this operation of mine illegal?
I want to control a servo motor with the PWM and I want to have a slider on the GUI to control the position of the servo motor, So I created a TouchGFX project added the slider and the intraction to a virtual function and I generated the code I opened the project in the STM32CubeIDE folder and I configured the pin and I created a header and a source file to develop all the necessary functions to control the servo moto (ie: Init, update of frequency...) When I go back to the TouchGFX Designer to upload the code, I this error that the file is not found TouchGFX/gui/src/screen1_screen/Screen1View.cpp:4:10: fatal error: PWMSer.h: No such file or directory#include "PWMSer.h"^~~~~~~~~~compilation terminated.my question : how to properly add folders and source files to such project ? and if I am doing is the wrong way please show me the correct way to do it.
Hi, I've been trying to configure a STM32H573I-DK board as a TFTP client on NetXDuo TCP/IP stack. Just as a test, I've configured a TFTP server that hosts a simple text file. I wish for the client to be able to open the file and save the contents of the text file (a simple string) to the memory. As of now, the functions nx_tftp_client_create and nx_tftp_client_file_open return NX_SUCCESS(0x00) but that seems to be misleading given that Wireshark decodes no such RRQ. Additionally, nx_tftp_client_file_read returns (0x01) meaning that no packets are received from the server but I am quite sure that the issue is in the client creation. I've attached the TFTP bit of the code below.P.S. I've verified the server is up and running well. I was able to open the file and read its contents using a different client. Has anybody been able to get the TFTP client running with NetXDuo on this board/MCU and could provide some insight on how to set it up properly
I am using STM32 MCSDK for one of my projects. After entering the motor control parameter and clicked on generate project button. The attached warning and error is popping. Kindly help to resolve this issue.
Hello,I am working on a project using the STM32H750B-DK board with an eMMC storage device, interfaced via the SDMMC1 peripheral and the FatFs library for file operations. However, I am unable to read or write files to the eMMC.I have implemented the drivers and example code from `~\STM32Cube_FW_H7_V1.12.1\Projects\STM32H745I-DISCO\Applications\FatFs\FatFs_Shared_Device` and `~\STM32Cube_FW_H7_V1.12.1\Drivers\BSP\STM32H750B-DK`, but we are still unable to create files or perform read/write operations on the eMMC (4GB).I am sharing my project zip file. Any guidance on adjustments or in configuration can be a big help.Thank You.
I have been using STM32N6 to conduct model training and deployment for the model zoo. Now, I want to transfer the generated code to my TouchGFX project for embedded use in the CubeIDE environment. However, when I am transferring several files, before the transfer, the original files did not have this error, but after the transfer, there is this error and it is particularly common, mostly for the official-generated code. As follows: When these files are transferred:After the transplantation was completed, an error occurred:./../../Drivers/STM32N6xx_HAL_Driver/Inc/stm32n6xx_hal.h:893:1: error: unknown type name 'HAL_StatusTypeDef'; did you mean 'HAL_TIM_StateTypeDef'?893 | HAL_StatusTypeDef HAL_SYSCFG_GetWriteQosNP1(uint32_t *pQosValue);| ^~~~~~~~~~~~~~~~~| HAL_TIM_StateTypeDef../../../Drivers/STM32N6xx_HAL_Driver/Inc/stm32n6xx_hal.h:895:1: error: unknown type name 'HAL_StatusTypeDef'; did you mean 'HAL_TIM_StateTypeDef'?895 | HAL_StatusTypeDef HAL_SYSCFG_GetReadQosNP1(uint32_
Hi, I bought the Nucleo-411RE board a few days ago, and try to test i2c protocol.In this MCU's reference manual(RM0383) page 492,493, about I2C register CR1, Bit 10 ACK, It explains me that acknowledge returned after a byte is received(matched address or data). Is it automatic? If my mcu received correct address, the mcu automatically returned ack by hardware?I saw that HAL_I2C_Receive function but there is only bit setting about ack. No ack output instruction.How return the mcu ack ? by hardware or software?Thank you.If you have any questions, please ask me.
I use the STM32CubeIDE platform and I need to insert into my project a routine that was able to update my firmware.What I need to understand is:I write the routine then I place it into the ITCMRAM and I run it; does it work ?Have I only to load into the flash (starting from the sector 0) the ELF file of the new firmware ? Thank you, Carlo
Hi, I was looking at the following paragraph, because I`m trying to select a good crystal for my application, the situation is that I know that one importat point to be aware is that "gain margin ratio" needs to be bigger than 5, so to obtain this "gain marging ratio" the following formula need to be applied (gainmargin = gm/gmcrit), here "gm" is the "oscillator transconductance" (value shown in the image), my question is that if this value is a property of the MCU itself (of course the part of the embedded oscillator), or this "oscillator transconductace" has to be with the crystal used in the test, because of the "characterization results" that paragraph states.As you can see in the paragraph the data was obtained in this way as the text states "All the information given in this paragraph is based on characterization results obtained with typical external components specified in Table 22 (inluding oscillator transconductance) " So I`m confused because I know I have to obta
Dear ST I am encountering an issue with our current setup involving an Analog-to-Digital Converter (ADC) and a Microcontroller Unit (MCU).The ADC is successfully receiving the input voltage when measured directly at its pins. However, the MCU connected to the ADC does not appear to be reading this voltage data. Consequently, I am unable to visualize the voltage output in our software interface.Here are some details that might be helpful:ADC Model: [ADS8688IDBTR]MCU Model: [STM32G0B1VET6]Connection Method: [SPI]Software/Firmware Used: [STM CUBEIDEA 1.12.1}Observed Behavior: The ADC shows the correct voltage, but the MCU's readings (when debugging or trying to output) are consistently zero or incorrect, and no data is reflected in the visualization software.Troubleshooting Steps Taken So Far:Confirmed voltage at ADC input pins using a multimeter.Checked physical connections between ADC and MCU for continuity.Verified power supply to both ADC and MCU.Could you please prov
Hi, I have set two ADCs on CubeIDE, for STM32G474CEU6 microcontroller, with DMA transfer. I am using ADC1 with timer 6 trigger out event and ADC3 with timer 7 trigger out event. The thing is, when I use timer 6 for both ADCs, just for ADC1 or just for ADC3, they work just fine, but it seems that it is not capable of converting data using timer 7, as it never enters the dma conversion complete neither half conversion interrupt. I have also tried using different timers, but as long as they are not the same one the ADC is not working. Both the reference manual and CubeIDE state that this timers are usable for these ADCs. Is this behaviour common? Should it be like that? As far as I understand, I should be able to use different sample frequency in different ADCs. In any case, why might this be happening? Thanks in advance.
I'm working with an STM32F412ZETx microcontroller and encountering an issue with the CAN2 peripheral. The transmit (Tx) functionality is working correctly, but the receive (Rx) interrupt via FIFO1 is not triggering at all. CAN2 transmit works fine. I can see messages on the bus. same setup with CAN1 (Rx FIFO0) works fine. Is there anything specific I need to configure for CAN2 RX interrupts on STM32F412? Could the filter bank or SlaveStartFilterBank setting be causing this? Are there known limitations with CAN2 and FIFO1 on this device?
Hello,I've been unable to get the ACI_GATT_SRV_READ_VSEVT_CODE case to trigger on the STM32WB05. Since this chip doesn't seem to support line for line debugging with an STLink to the Serial Wire interface due to Sequencer, I haven't been able to find a solution. The ACI_GATT_SRV_WRITE_VSEVT_CODE triggers fine and I've enabled GATT_NOTIFY_READ_REQ_AND_WAIT_FOR_APPL_RESP in CUBEMX. Does anyone know what the issue could be? Kind Regards
Hi,I had to install STM32 tools on a MacBook Pro 2023 M2. I have a STM32H7474I-Disco board which works fine under Windows 11. When I connect the evaluation board to MacBook it pops-up a window to enable ST-Link driver. I enabled the driver but the usual new STL-Link USB drive with demo links does not appear in Finder... STM32CubeIDE (Programmer) reports no ST-Link is connected to MacBook. I am using the same USB cable as in Windows with an USB Type-A to Type-C adapter which works with all the external USB sticks, HDs.I installed, STM32IDE, MX and Programmer and they seem to work right but the ST-Link V3 is not found.When I connect the STM32H7474I-Disco board to MacBook Pro M2 then the LCD of the discovery board blinks 3-4 times (not enough power?) then stay on and runs my demo app just fine. Interesting...Do you have any idea wha I did wrong?Thanks,Louis
Hi I need a guidance to use I2C communication protocol with stm32f103c8t6 using CMSIS RTOS v1. Can any one suggest any tutorial or article which can help me out to understand and implement it for my project.
Hi, I am using stm32u585 controller in my project I have downloaded https client code from the site https://github.com/eclipse-threadx/netxduo and integrated the code with my project Our requirement is to use https POST with payload and i have implemented the following steps(pseudo code), but we are failing at https request send api, any how, the security handshake is passed (step 3 given below) Integration steps 1)Include nx_web_https_client.c 2)required header file for build error free it is building error free Steps for https client POST command with pay load of 4KB(as of now and later on it shall be extended to 8KB) 1)create client 2)attach response header call back 3)tls connect for initial authentication(this step is passed, monitored on wireshark) 4)https client request initialize 5)packet allocate 6)add content type 7)append data of 4KB 8)https request send am i missing any steps? please support us to resolve the issues as soon as possible Thanks in advance G.V
Hello, I was wondering how can I change the values of each child within a container? For example, I have a container with 4 slider widgets. I want to be able to set the values of each slider using a for loop. Below shows a very simplified example of what I'm trying to achieve within Screen1View.cpp. I want to use array iteration instead of setting each slider value manually because I'll eventually have more than 10 sliders in the container. Screen1View::Screen1View() { } void Screen1View::setupScreen() { int presets[4] = { 5, 10, 15, 20 }; for (int i; i < 4; i++) { // in the container, each of the 4 slider widgets is being set to a preset value from an array containerSliders[i].setValue(presets[i]); } } While looking into this more, I saw that containers have a forEachChild public function, but I am unsure how to use GenericCallback for this use case. If this is the way to go, can a simplified example be provided? Thanks for the help in advance!
Hi,I am trying to establish I2C communication between STM32C011 (Master) and STM32C031 Nucleo Board (Slave).I transmit a message from the master, however, the slave side sees that the master wants to write to the slave (using HAL_I2C_AddrCallback) however, the HAL_I2C_SlaveRxCpltCallback is never called.In another post, I see that the buffer length may be an issue, so I tried to transmit just one character but to no avail.ChatGPT suggested I shouldn't re-arm the HAL_I2C_Slave_Receive_IT function as it can cause it to get stuck. I tried it with and without but same result.I see "Master wants to write to slave" only once upon power up/reset of the slave MCU.Master Side:#include "main.h" #define SLAVE_ADDR 0x42 << 1 I2C_HandleTypeDef hi2c1; SPI_HandleTypeDef hspi1; void SystemClock_Config(void); static void MX_GPIO_Init(void); static void MX_SPI1_Init(void); static void MX_I2C1_Init(void); uint8_t TX_Buffer [] = "A"; //uint8_t TX_Buffer [] = "MasterToSlave"; // DATA to send ui
Why to use TIM16 to modulate TIM17 instead of start TIM17 and stop TIM17 ?
In the example ADF_AudioRecorder, the OutputClock.Divider is set to 4 (STM32Cube_FW_U5_V1.7.0\Projects\STM32U575I-EV\Examples\MDF\ADF_AudioRecorder\Src\main.c).But the datasheet RM0456 at page 1610 say: Fadf_proc_ck > 4 x FADF_CCKyWith Fadf_proc_ck = 4 x FADF_CCKy, this example doesn't respect the clock constraint.Who is correct ? the example or the RM ?
Hello,I am working with a Nucleo-F103RB board and trying to send printf output over UART using USART2. I have configured UART2 with the following parameters:Baud rate: 9600Word length: 8 bitsStop bits: 1Parity: NoneMode: TX/RXI also redirected printf to HAL_UART_Transmit() via __io_putchar() as shown below:PUTCHAR_PROTOTYPE { HAL_UART_Transmit(&huart2, (uint8_t *)&ch, 1, 0xFFFF); return ch; }In my main() loop, I am calling printf() every second like this:uint8_t count = 0; float f = 1.234; while (1) { printf("hello : %d, %f\r\n", count++, f++); HAL_Delay(1000); }However, nothing is being printed in Tera Term (v5.0).I selected the correct COM port and set it to 9600 baud rate. Other serial settings are default and matched.I have verified that:MX_USART2_UART_Init() is called in main.cGPIOs are configured by CubeMX for USART2 (PA2: TX, PA3: RX)No errors are reported during initialization.But still, I see no output on Tera Term.How can I troubleshoot or resolve this issue?Is t
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.