Table of Contents
The following document is an overview of the Canon PowerShot serial and USB transfer protocols. It should be a valid reference for models ranging from PowerShot A5 to S20. It has been updated for cameras including the EOS D30, EOS D60, and PowerShot G2. It has not been verified against the EOS 1D or EOS 1Ds, hence there is no section on FireWire communication.
No information present in this document was obtained from Canon. Everything is the result of observations and logical analysis. It is by no means guaranteed to be accurate, nor even right. Nevertheless, a lot of people have managed to communicate with their PowerShot cameras using these commands, so they cannot be completely wrong either!
An implementation of this communication protocol was made for the GPhoto digital camera software, available at www.gphoto.org.