The camera problem

Up to about 2015 all DIY book scanners used Canon “point’n’shoot” cameras with the alternative firmware CHDK. CHDK enabled several necessary functions, most importantly it allowed to control the cameras via PTP remotely from the computer and to download the images without taking out the SD-Card.

For every new camera model the community behind CHDK had to develop a new version of the software, a so called “port”. After nearly a decade of constant creation of new ports for the newest models from camera, the community behind CHDK shrank and it took longer and longer until a working port was published for a new camera. From 2016 on it was not possible anymore to buy a new camera off-the-shelf for which a CHDK-Version existed. The ports did not come out at all, or were published only after the camera model was deprecated and were not sold anymore.

I like to emphasize here that I am very thankful for the work that the CHDK-Community did. I recognize that all of this work was unpaid and for the greater good of everyone and no one was ever entitled to a CHDK port, although many people relied on them.

This creates a problem for the whole book scanner community, as they rely heavily on CHDK-cameras. The requirements for a working camera are that the camera can be controlled by a (linux?) computer, so that the computer can shoot a picture and control some of the settings of the camera. It is not mandatory that the computer is able to download the pictures, but it certainly makes the process easier and quicker.

To reach 300dpi on a page of the size A4, the camera chip needs a resolution a bit over 12 Megapixel.


Using a DSLR

DSLRs have a higher resolution then point’n’shoot cameras and usually can be controlled by a computer, the downside of them is the prohibitively expensive price of these cameras and also the fact that it has a mechanical moving part for every picture, which tends to wear out over time. Recently Canon stopped to ship full PTP control for the entry level DSLRs from the EOS-Series Dxxx, the EOS Dxx and Dx still have full PTP.

Using a RaspberryPi Camera

RaspberryPi Cameras have 5 or 8MP, which is not enough for a Bookscanner.

Using a Smartphone

Although today’s smartphones have sometimes sufficient resolution and could be used by a book scanner I decided against using them, because of the price. Also I believe it would be quite wasteful to have two unused displays, processors and batteries attached to the camera, without needing them. Also currently there is, as far as I know, no software available that would allow to remotely shoot pictures on a smartphone via wifi or USB. It would be possible to develop something like this though.

My solution

After long research and a long forum thread about this topic, I settled for industrial camera modules. I started with a lot of cameras in the game and in the end narrowed it down to these two:

I planned to offer Libreflip with a choice, as a 300 and a 600dpi version, unfortunately theimagingsource does market in their press release that they have an open source linux driver for it. If asked then they don’t yet know when the development of that open source driver will start (This info is from April 2017, I don’t have any updates so far)

Therefore I settled with the Indian module and might offer an upgrade option later, as soon as theimagingsource have finished their development of the open source linux driver