Hi all! I am tried to stack two simpleFocShields 2.0.1 on a Nucleo64STM32F072RB After soldering the pads in various configurations I found two different configurations that are working: BLDCDriver3PWM(9, 3, 6, 7) and BLDCDriver3PWM(11, 5, 6, 8). Both shields are working alone with the other shield disconnected, but if I try to stack them, one of the two shields stops to work. Is there any know issue similar to this one?
You can’t use pin 6 for both shields - the two shields have to use entirely different pins…
In terms of stacking on the Nucleo board, it will depend on whether the pins used are linked to timers on the STM32.
One way to check it is to consult the datasheet for the STM32F072 and check which TIM timers are available on all these pins.
Another method can be to enable debug logging for the STM32 pin assignment:
add a build flag -D SIMPLEFOC_STM32_DEBUG
add Serial output to your code, and enable debugging:
void setup(){
Serial.begin(115200);
SimpleFOCDebug::enable(&Serial);
delay(3000); // wait 3s to connect serial console on PC
...
}
Then it will print the timers found for the pins to the serial console...
Thanks a lot @runger.
I was able to make the stacked shields work avoding the usage of pin 10. In order to do so I had to solder a wire from the pad connected to the pin 13 to the pad connected to the PWM A. I also took a look to the datasheet of the nucleo board to understand the reason of the pin 10 not working, but it is still unclear to me. I did not try the debug flag yet, but I probably will. Here I share the table of the arduino connectors that I have on my nucleo board: