After a week of modifying the original gear train I decided to start over with a fresh set of arm struts with thicker oak trim.

This added some needed stiffness and let me embed the shaft bearings deeper into the wood.  The system is still a bit wobbly,

but it's working.  Here's a short video of the mechanism running.

Since I'm using the PMSM_Demo software as a base for my code, there is a lot of overhead that makes even little changes time consuming.

I tried to use the FreeMaster interface to get some idea of what the motor controller software was doing and the faults, but I haven't been able to get around some of the compiler errors

when I attempt to enable the FreeMaster code.  I'm thinking that the FreeMaster interface doesn't get along with the mbed interface.

The first error was a FreeMaster polling error when using the USB interface, then when I changed it to interrupt driven, I get a Kinetis SDK USB error.

The FreeMaster interface uses serial communication to send commands to the motor controller and to get status and fault information back from the controller.

The FreeMaster code has libraries for several different serial interface types including SCI, USB, CAN, and is available for many different MCU boards.

I can imagine some other uses for FreeMaster including Arduino and Raspberry Pi interfacing and controlling.