Well… I tried a serial to servo controller which worked fine, but required nearly a second between commands (0.88 seconds to be precise) and didn’t maintain the pulses for any longer than that time. It was okay as a proof of concept, but no good for controlling servo speed from my Python program. The alternative was to download and install ServoBlaster.
I did damage one Raspberry Pi by connecting the servo straight to the outputs. Not sure what the problem was as I was being careful. It seemed better economy to create a buffer board.
The buffer board is single sided and uses a 74LS245. I’m being a bit lazy as the ‘245 is intended to be a bi-directional tristate buffer and I’m forcing it to work in one direction. The advantage with this is that the inputs and outputs are pretty much in line. I can minimise the number of links required and ensure that only a single-sided board is needed. An alternative might be the 74HC541, but I didn’t have these and I’d have to re-design the board. Maybe another day…
Here are the files for the buffer board. It uses a 26 way connector for GPIO, a bunch of 3-way connectors for the servos, 74LS245 octal buffer, 7805 regulator and a couple capacitors to keep the power supply happy.