We (a group of Pomona College Physics students) are finishing a RepRap Mendel that was begun in Fall 2010. In testing the electronics, we found that there was something wrong with the extruder board. Some pin-by-pin troubleshooting led us to believe that the problem was a bad connection between the clock and ground. Re-soldering that fixed the problem, but we soon ran into another one: bad serial communication with the motherboard. Rather than troubleshoot something far beyond my level, I thought it would be instructive to try building new electronics to bypass the extruder board entirely.
My original idea was to use the motherboard to drive the extruder motor with a stepper driver board, and use extra pins to get the temperature data and power the extruder block heater directly. Armed with my rudimentary knowledge of Arduino gleaned over a few weeks of Electronics class, I naively imagined that all I would have to do was hunt through the firmware and find wherever it calls some function to tell the heater "turn on" through the serial connection, and substitute this with turning on a digital pin hooked up to a MOSFET; likewise for receiving temperature data. A slightly closer look at the firmware (we are using Teacup at the moment) showed that the problem would not be nearly so easy.
I abandoned the firmware-modifying approach, and decided to try to create a simple version of the extruder board with an Arduino Uno (Atmega 328) that I have handy. I did not have the A3949SLBT H-bridges used in the original extruder board, but I had more standard SN754410 dual H-bridge ICs. Being new at this, I started out just learning how to use H-bridges to power a stepper, using a setup essentially the same as Arduino's Motorknob example:
Because I was doing this as a project for an electronics class, I made a nicer version of the circuit on perfboard before being able to test functionality: