In the spirit of keeping things simple and modular, I've created a standalone heater controller based on my Arduino-compatible Fabio controller. It consists of the base microcontroller board plus a resistor and a FET. A modified version of the RepRap extruder control firmware runs the show. Although I used a Fabio, it should also be possible to use a standard Arduino with the same external components and code.
The firmware sends the current temperature over serial at 19200bps and uses a PID algorithm to maintain the heater at a fixed temperature specified in configuration.h. The thermistor pin and heater pin can also be changed in the same file. The PID constants are in extruder.h.
The external components are as follows:
100K thermistor between A0 and ground.
4.7K resistor between 3.3V and A0.
Heater between 12V and FET drain.
FET gate connected to D10.
FET source connected to ground.