Skip to content

Hardware Notes

tomsrobotics edited this page May 30, 2019 · 2 revisions

It is recommended to use a level-shifter when interfacing with the STM32 series ARM controllers, as they are 3.3V. Many of the pins are 5V tolerant for input, some of them are not. For outputs, a level-shifter transceiver is helpful in driving long cables.


Pinout for the F13 : STM32F103 Blue Pill running 3-axes. Screen shot from CubeMX F13 Pinout


Pinout for the F16 : STM32F103 Blue Pill running 6-axes. Screen shot from CubeMX F16 Pinout


Pinout for the F46 : STM32F407 running 6-axes. Screen shot from CubeMX F46 Pinout

F46 Design Notes

  • Even with all the extra IOs, there were still not enough pins for the intended design. So SPI driven IO-Expanders were used.
  • The limit pins are connected externally on an SPI IO-Expander [MCP23S17], with only the interrupt pin from the IO-Expander connected to the F407.
  • Similarly, the digital input pins are also connected to an SPI IO-Expander.
Clone this wiki locally