So, I got a breakout module (a Cobbler, it was quicker/cheaper than putting my own together). I've been teaching myself Linux Kernel and module programming and playing with an GPIO library WiringPi . A quick bit of bit bashing and inspection with the scope has proven, as I suspected, the need for an external interrupt. The Pi can generate 100nS pulses (from C) but the jitter is horrible. I'm currently writing a module that'll take an interrupt from the GPIO and toggle a GPIO line every 'n' pulses, where 'n' is a value in user space. That'll allow me to see what the latency and jitter is from an interrupt.