Looks reasonable, whats the application? I guess its to repeat a picture seen by the camera on the braille pads to allow a blind person to 'see' something, although I question the end to end speed you'll achieve...
On the circuit.. I assume you plan to use the 'weak pullup' feature of the PIC B port for the keypad. If not you should add pullups or pull downs on the input pins. I personally prefer pulldowns so that an unpressed key returns '0' not '1', I just don't like negative logic, but if you want to keep the component count for production then use the internal pullups. I'd put some resistors (5 - 10k ish) in series with the output pins drving the keyboard to avoid shorting pins together if someone presses two keys at the same time.
The steppers always turn in the same direction? Are they (guess) driving some cam arrangement to puch pins up and down?
You'd probably want some more decoupling on the 5v rail, a 10uF in parallel with the 100nF. You're not powering this from the USB, is there a reason for that?