This source code implements an hardware intervalometer for Nikon cameras.
It interfaces the camera the same way as an ML-L3 infrared remote control but instead of having the single functionality of triggering the camera upon the press of the button, it also provides timed shooting for timelapse photography.
This source code is accompanied with an application schematic diagram to help in the construction of a complete unit using the PIC12F683 microcontroller and this firmware.