Here's the Talk-To-Everything Board. The idea is that I want to be able to plug arbitrary motor controllers into the motor dyno, and control them from the UI on the computer. There's an FTDI chip for USB to serial, with a digital isolator and isolated DC-DC converter, so that the computer is electrically isolated from whatever motor controller gets plugged in. My favourite STM32 is broken out to a CAN tranceiver, a small buck for 0-5V output, I2C, RC PWM, TTL Serial, differential 5V serial (like RS422), and SPI. Even if I don't end up ever using several of these, it wasn't much extra effort to break out more interfaces, so I figured I might as well.
Here's a look at the current user interface. Notice all the extra doodads for controlling some of the test-motor interfaces. I've also added "Profile Mode", which takes in a csv series of speeds, buck voltages, and test-motor commands with time-stamps, and plays them back on the hardware. This way I can easily automate cycles like efficiency maps.
I'm currently in the progress of designing a new buck converter from scratch, to replace the awful pile of Prius power electronics that is the current buck. Progress is slow, because I have very little experience with analog electronics and hardware controls (for regulating the buck voltage and current).