2025-11-03 6:06 PM
Hi everyone,
I'm new to STM32 and I'm using Debian Linux with the STM32CubeIDE.
I'm trying to use a NUCLEO-G431RB with the X-NUCLEO-IHM07M1 expansion board, using the legacy X-CUBE-SPN7 (apparently the X-Cube-MCSDK is Windows-only...)
I've run into a pin conflict: the expansion board expects the PWM signals on the Arduino standard pins, but on the G431RB those pins are physically connected to separate timers (TIM2, TIM3, TIM8, etc.).
My understanding is that the 6-step libraries (and motor control in general) seem to prefer using a single advanced timer (like TIM1) for synchronization.
Does this timer conflict make sense?
As a last-case scenario, I thought of just connecting both boards using jumper wires (mapping TIM1 outputs to the IHM07M1 inputs) instead of mounting them on top of each other. Is there a known workaround for this?
Thanks!
Solved! Go to Solution.
2025-11-04 12:48 AM
Hello @pedro_gudin,
The NUCLEO-G431RB and X-NUCLEO-IHM07M1 boards, connected through the ST morpho connector, use the TIM1 PA8, PA9, and PA10 pins.
2025-11-04 12:48 AM
Hello @pedro_gudin,
The NUCLEO-G431RB and X-NUCLEO-IHM07M1 boards, connected through the ST morpho connector, use the TIM1 PA8, PA9, and PA10 pins.
2025-11-04 9:39 AM
Thank you for the clarification, this simplifies the setup immensely.
I also checked the L6230PD datasheet (the driver on the X-NUCLEO-IHM07M1) to see that the L6230 should handle the dead-time generation internally. I just need to make sure that the individual enable pins (EN1, EN2, EN3) and the main chip enable (DIAG-EN) are all held HIGH.
I can now proceed with the pin configuration.
Best regards,
Pedro