James Cameron asks: > a) can I use MOSFETs of the same polarity top and bottom of the bridge? Yes, but the gate drive of the high-side n-type MOSFETS needs to be 14V (9V + 5V). The current requirements are so low that you can build or buy a voltage booster pretty easily; with my 12V motor controller, I've taken the easy way out and used a 9V battery in series. > b) are there any simple tricks I can use to reduce damage in case the > prototype code manages to switch MOSFETs so as to short the supply? A trick I used was to construct a two-input, four-output gadget from gates that would never put the four outputs into an illegal state. There really are only four useful states for the MOSFETs anyway: all open (coast); top (or bottom) pair closed (brake); and the two diagonals. This also saves two IO pins, a real consideration with the 12C5XX. > One switch will mean go forward, the other switch go backward, but > I don't really want to use relays to do it; the effect would be > far too abrupt.) An easier trick I've seen used (but I haven't done it myself, so I can't give you a "here's what to watch out for") is to use relays as the H-bridge switches, then add just *one* MOSFET or BJT at the "bottom" of the bridge, interrupting the ground path, to do PWM on. All that this costs you is the ability to do microsecond switches between forward and reverse, which probably isn't useful anyway. If you don't want to do active braking, you can even use just two DPST relays (one relay per diagonal) instead of four SPST relays.