Close

Boards. More Boards. Finally TMC4671!

A project log for Open FFBoard

A modular and open source force feedback interface and motor driver for DIY wheels and controllers

yannick-gigawipfYannick (Gigawipf) 01/29/2020 at 22:250 Comments

After a long time planning the pcb and waiting for parts the first motor driver board is finally assembled.


This is a fully featured motor driver with dedicated power stage for high currents, support for a braking resistor and active backfeed protection for high efficiency.

Braking resistor can be activated either automatically via the TMC at a hard voltage level or forced externally at lower levels as well (if internal voltage higher than external for example)

Encoder and Hall effect inputs are buffered and protect the TMC. All pins of the TMC are broken out to accessible headers.

This board is not just for the FFBoard. It can be used for other projects as well.


Its made to connect to the STM board via a ribbon cable or stack directly under the STM board for a compact setup.

STM Boards for USB interfaces
USB Interfaces

Yes! First open loop rotations! (Connected to a Trinamic Landungsbrücke via SPI)

Motor Driver
TMC4671 powered first rotation

Of course there are still issues as this is the first hardware prototype of this version and changes might be made:

  1. INA232 shunt amplifiers are extremely common mode step sensitive despite very high claimed CMMR. The slopes are too steep while switching. This causes high noise in the measurements.
    1. Change amps to AD8417 which might behave better but with higher gain maximum current is slightly lower
    2. Smooth spikes out with more aggressive low pass filtering
    3. AD8478 and higher value shunts for even better noise but lower efficiency
  2. Embarrasing error: The Oscillator is permanently disabled due to gnd at tristate pin... Fix: Scraped pad off... Easy fix in next pcb revision.
  3. Despite analog inputs on the tmc being 0-5V the single ended VM input only measures half range and a maximum of 1.25V. Very strange decision from tmc...
    1.  I did not catch this before so we will need a new pcb for this. Not a big deal for now because its only relevant for the forced brake resistor failsafe enable by the tmc which should not even be needed as the STM will do this normally

Apart from these issues that can be easily fixed in the next revision the important parts seem to work correctly and the board can be used to start developing the software interface and initialisation routines.

Also those industrial terminals are pretty expensive and might be changed to open screw terminal style which are also better for some permanent installations.

Discussions