All-in-One v0.18 is ready.  Current features are:

Basic Mode – 2 options, press shutter button and hold to take a picture or set a length of time for the shutter press and press the button and let go.  The second option is for point and shoot cameras like my Canon G10 which do not respond to a quick shutter press by taking a picture if the flash is on.

Bulb Mode – 2 options, press the shutter button and the shutter opens, press the shutter again to close it.  The second option is to set a fixed length of time that the shutter should be open, this time can be stopped short by pressing the shutter button again.

Intervalometer Mode – Press the shutter button and the camera takes pictures at intervals specified in the settings menu.  The amount of time the shutter is pressed and the interval are configurable via the settings menu.

I am using 2 custom libraries that I wrote.  One to use the i2c LCD from and another to deal with the different ways that the buttons get used.  The libraries, and code for v0.18 are below.  Please note that the code is not cleaned at all and this is all still in the test phases.  There are known bugs and unknown bugs that I have yet to come across I am sure.   I am also working on a schematic of the hardware I am using, but may in the meantime I may upload a photo of the breadboard and Arduino.

Use these at your own risk.

All-in-One v0.18 code

i2cLCD Library

Buttons library