INTRODUCTIONCHKDPTP is a powerful camera remote control tool with a live viewfinder that runs on your PC substituting for Canon's RemoteCapture. It allows full access to all camera features in both PLAY and RECORD modes, and adds sophisticated scriptable programmatic capabilities that leave Canon software biting the dust. It also works with PowerShots that are not supported by Canon RemoteCapture. The S90 is one of these. The optoelectronics in this camera make it perhaps the most suitable of all small-format CCD cameras for low light photography such as astronomy. In addition, CHDK extends the Tv range from the Canon limit of 15 seconds to 64 seconds. The CHDKPTP PC viewfinder can be set for 360x270 mode or to 720x540 for a high resolution live image with this camera.
The S90 CCD has a 10 Mpx 1/1.7" (7.6x5.7mm) sensor surface and uses a correlated double sampler (CDS), variable gain amplifier (VGA) and 12-bit analog-to-digital converter (ADC) in its signal processing pipeline. It is one of the few high-end PowerShots that also captures Canon native RAW images, in addition to DNG images provided by CHDK. The advantage Canon native RAW is the size, typically 2/3 of a DNG. One advantage of a CHDK DNG is that warm and hot pixels can be handled in a manner similar to dead pixels. CHDK allows the use of either format in the S90. JPG images are barrel-corrected in the camera while Canon native RAW images (CR2 in the S90) are barrel-corrected in their PC software. Thus for contortion-free primary focal plane (PFP) configuration RAW imaging, use another tool, such as free RAWTherapee, to decode Canon native raw images.
OBJECTIVEThe best quality imaging that can be achieved from your optical instrument is when the CCD is installed in a PFP configuration. In other words, your instrument projects its own focal plane directly on the CCD without you having to optically compensate for unnecessary intervening camera lenses whose presence attenuates and distorts the imaging path. Thus the goal of this effort is to determine the minimum camera configuration that will allow direct access to the CCD sensor surface, eliminating as many of the lens components as possible thus reducing the camera's volumetric footprint. Because optical feedback will be disabled when the CCD is removed, the PFP configuration is meant to be operated in the M (manual) camera mode.
There are a few important issues to be mindful of:
1) Right after a shot, no matter how fast your shutter speed is, you have to obstruct the CCD for the image readout for at least 1/3 second,
2) Dark subtract ... if enabled, remember to simulate a closed shutter after your image acquisition has timed out. For example, if you set Tv to 8s, keep your shutter open for 8s after the camera has responded to your shoot command, then close it for 8-1/4s for dark acquisition and readout, and then open again for continued live view,
3) Flash setting .. make sure you have flash disabled otherwise the camera will shut down after a minute,
4) In the CHDKPTP command line execute
=set_config_value(67,3) -- ALT_PREVENT_SHUTDOWN_ALWAYS.
The best way to handle (1) and (2) is hijack the camera's shutter signal and operate your own shutter. I will illustrate how that can be done later in this thread.
DISMANTLING the CAMERAThe tools necessary are a #0 Philips screwdriver, wooden round toothpick for ribbon cables, a #7 curved tweezers, and Exacto knife. To access the CCD and lens, back, front and top cover, and LCD have to be removed. There is an LCD replacement YouTube movie for an S90 that can help you get started. If you are going to extract your lens assembly, then the button panel has to be disconnected from the front of the camera and removed, and the flash sub-assembly can be removed for overall easier access. As you see in Figure 1, the camera operates without any of these components, except that on power up, you get a passing benign warning for flash position. There are three types of ribbon cable connectors a) zero-insertion-force flip-release, b) pull-out/push-in force-insertion and c) snap-on, snap-off. The two LCD connectors are the (a) type which require lifting and swiveling up the black retainer with the dull side of the knife blade, from the cable side. The rest of the small ribbon connectors are the (b) type that can be disconnected with the toothpick. The large connectors for the CCD and lens control are the type (c) and can be gently pried off with toothpicks.
Figure 1 shows the stripped-down camera powered and connected to the PC running CHDKPTP. Since you no longer have the LCD, the PC becomes the only way you can interact with the camera. With the top cover off the mode switch contacts are disengaged causing the camera to boot into AUTO mode by default. You can change mode to M with the drop-down in CHDKPTP. By removing the CCD (three screws) and swinging it out, it can be made to face sideways or backwards for a PFP configuration while keeping the lens operating normally so the camera does not go in to error and shut down. In M mode all camera functions work properly, even focus except that it has no effect on the image of course. The viewfinder is set to 360x270. This is the quickest but least flexible method to access the CCD and will work if you have room for the lens to extend and enough room to mount the entire camera in your apparatus.
Figure 2 illustrates a sacrificial lens assembly under powered functional test that will be used to further decompose the camera and lens towards a minimal workable PFP configuration candidate. Because the minimization process will include intentional errors that I will introduce into the lens assembly to document firmware behavior, the original lens is being left intact as a fallback to restore normal operation. Here the camera's original CCD is still connected, but I have diverted main board lens control ribbon cable connector to the sacrificial assembly. This lens was purchased on eBay from an unscrupulous seller who advertises his items as "New." Obviously a used reject, it was filthy-dirty, severely mishandled and a ribbon cable damaged. It extends slowly and retracts with difficulty. However, the poor behavior of this lens is offering more insight on Canon's control and signalling that I hope to explore later as I progress in this endeavor.
Next post ... disassembling the lens ... and ... can this defective lens possibly be restored?