(Project completed: 2010-10)
My first nontrivial digital camera was a Canon PowerShot A620, which I specifically chose because it's a highly hackable camera; it can be loaded with CHDK for portable customization, or controlled by a computer over USB by writing software using the Canon SDK.
It wasn't until a few years later that I finally got around to experimenting with it. I was planning a road trip from Vancouver to Calgary and back, and decided to try making a timelapse movie of the trip. I wasn't aware of CHDK at the time, so I applied for a license for the Canon SDK and wrote my own timelapse recording software based on this example. I extended it to also interface live with my GPS logger, which when connected via USB outputs a serial NMEA-182 text stream.
The idea was that while driving my laptop would be running this program and would automatically snap a frame on the camera every two seconds, and would also monitor the GPS stream in order to output a sidecar file for each image, with the GPS coordinates where that image was taken. I had plans to use the coordinates to overlay an animated map of the trip, but I ended up not doing that. The two seconds per frame was the maximum I could get the system to reliably dump to disk over the USB link, and it was also convenient because if I set the replay rate to 30FPS, the time scale would work out to an elegant 60:1, or one minute of video for one hour of realtime.
Here's what my setup looked like. I bought an old suitcase and added a wire shelf in it to which I strapped the laptop, to give it air circulation beneath. The rest of the suitcase had ample room left over for the power inverter and all the assorted cables. I put the suitcase on the passenger's seat and tied it down with a bungee cord, and used a GorillaPod to mount my camera on my rear view mirror post - the camera was hanging upside down, but that's easily corrected after the fact.
In practice there were a few problems with all this, but I learned a lot.
On the first day of the trip, I ran into some sort of file system limitation with Windows XP - my timelapse software would silently fail after writing about 2,000 files to the same directory. So I had to periodically pull over to stop the program and restart it with a new output directory. I was able to reduce the frequency of these stops by disabling my one-file-per-image GPS logging and instead just letting my logger accumulate a whole day's worth in one file internally. Unfortunately I didn't discover the problem until I had already missed over an hour's footage, and I didn't want to turn back and redo it. So there is a short gap in the first day's video.
Another problem that quickly became apparent was that my method of attaching the camera to my mirror post with a GorillaPod wasn't perfectly stable - sometimes when turning tightly or going over a bump, the camera would shift slightly. This meant that when producing the video I had to come up with a way of correcting for camera rotation by a different angle per frame rather than a constant angle for the whole video. That wasn't too hard, but it was extra work that I didn't anticipate.
After the trip, I spent quite a while producing the video. I had to select which frames to include (I didn't want viewers to be distracted by little side trips like gas station stops etc). I had to decide on the rotation angles for all the frames - I did this by inspection every few hundred frames or when I noticed a change. I had to go through and edit all the frames that showed a recognizable face or license plate, so as to protect peoples' privacy (perhaps not stricly necessary, but it felt like the right thing to do - and was also the most time-consuming).
And after it was done, I found out that 60:1 time scale is a bit too fast for a trip through the mountains; it gets really jerky in some places. Irritation at this is what led me to try CHDK for a later project.
Anyway, here are the videos as recompressed by YouTube. There is no sound; this was more an experiment than an attempt to produce something polished.
Vancouver to Calgary via the Trans-Canada and Coquihalla highways.
Calgary to Vancouver via the Crowsnest highway.
Although this project could have turned out a lot better, at least it did turn out and I learned a bunch from it. I have plans for a much more ambitious timelapse project in future.