http://library.solarbotics.net/circuits/driver_245.html