The film scanner has been a project of love that was been worked on lightly for a few years with the aim of scanning black and white photographic film to a medium resolution with 14bit digitisation. Initially is was the ambitious project of a first year at university but later became of much more interest with the prospect of it becoming something seriously good compared to the competition. The electronics is very close to being finished, the command line based software is working however the mechanical design has only been contemplated. The idea of the project is to have the film scanner scan an entire strip of film in one go. In theory, it can do this in under 2 minutes for 2000dpi (on the film) at 14bit colour depth. This is amazingly quick compared to flat bed scanners, which are the standard for hobbyists, which will take up to or over half an hour depending on the model. Even worse for flatbeds is that they require someone to continuously load and unload film through the 30mins meaning you can't do anything else.
The bottom side of the current film scanner hardware.
The top side of the current film scanner hardware.
The scanner uses a linear CCD (charge coupled device) for the light gathering, this device has one line of pixels apposed to the matrix you see in a digital camera. By applying a specific sequence of pulses to its clock pins you can determine the integration time and clock out the analogue values of the pixels. This analogue signal is read by the 14bit ADC at 2.2MSPS which is also controlled by the FPGA. The FPGA formats this data and sends it over the USB interface. This interface offers two way communication so data that is sent to the scanner is used to configure and control it.
A hand assembled PCB for the film scanner
The scanner's analogue front end is capable of compensating for the black offset point and applying gain to the analogue signal. These two parameters are controlled through two DACs which are updated through setting registers in the FPGA through the USB interface. All of the parameters of the scanner can be set through the USB interface including the motor speed, analogue parameters, sampling rate and pixel binning.