CHDK for Computational Photography

H. G. Dietz

Department of Electrical and Computer Engineering
Center for Visualization & Virtual Environments
University of Kentucky, Lexington, KY 40506-0046

Initial release: October 22, 2013

This document should be cited using something like the bibtex entry:

author={Henry Gordon Dietz},
title={{CHDK For Computational Photography}},
institution={University of Kentucky},
howpublished={Aggregate.Org online technical report},

For quite some years now, I, Professor Hank Dietz, and my students have been using CHDK (Canon Hack Development Kit) to do evil things inside Canon PowerShot cameras. CHDK has always been uniquely useful in allowing commodity cameras to run arbitrary native-compiled C code, and it's slowly been getting better. The thing that hasn't gotten much better is the documentation and generally rough structure of the CHDK wiki... so I've created this page to provide a hopefully more orderly tour through CHDK and our work using it.

The CHDK Lua Reference Card

I like reference cards. However, CHDK is pretty huge to describe on two sides of a single-page reference card. After three days of work, here's my current best attempt: and chdkluaref.pdf. This reference card doesn't tell you much about using CHDK, but it's a good reference for programming CHDK cameras using Lua scripting. This card is also now available from the CHDK Lua Reference Card page at the CHDK Wiki.

It's worth noting that I had to leave-out quite a bit of useful info to fit things on one card. I expect to further edit-down the card to the most useful and portable subset, thus making space for an example script, etc. The only obvious indication I've done an update with often be the date marked on the card; the above link will always get you the latest version.

CHDK Lua Scripts

I'll be posting some scripts here shortly....

The Aggregate. The only thing set in stone is our name.