USB Controller for CIS Optical Roll Reader
by Julie Porter (070206 MMDigest)

USBCIScomposite.gif (33 kb)

Ref. 070205 MMDigest, Transcribing Player Rolls to MIDI ...

I have developed a simple USB interface for controlling the contact image sensor [CIS] array that is at the heart of most optical roll scanning machines.  I will be demonstrating this on February 11th at the local meeting of the AMICA Founding Chapter (San Francisco Bay Area).

I am making the design and software for this interface available to anyone who wants to use it.  This interface uses two chips, one to handle the USB interface protocol and the other to scan and compress the file for transmission back to the computer through the USB port.

Those who have older Rollscan-1 circuit boards will be happy to learn that I have also figured out the register settings that will make that system correctly clock the array in grayscale mode.  I am working on fixing a few more bugs in the "Merlin" program.   A modified version of this program can also control the USB-to-CIS adapter I have made.

Julie Porter
06 Feb 2007 00:14:34 -0800

Here are the hardware design files that represent the USB interface that was shown to San Francisco Bay Area AMICA members on Feburary 11th, 2007. Like Richard Stibbons did with the Mark3-BT, I am making this design available to anyone who wants to use it.  Please remember to give me credit should this alpha prototype code be used for other projects.

The chips needed to make this are now, as of this week, all available, in stock at  The board and schematic is in express PCB format. The layout will make four small circuit boards: (1) the USB interface, (2) a transition board which includes a PWM lamp dimmer for CFL illumination, and the remaining two board sections can be used after some grinding to connect a ribbon cable to a Dyna CIS arrray.

The firmware for the microcontroller requires a program AVRStudio, which is available from .  Drivers for the USB chip can be downloaded from  The scanner will appear to Windows (or other operating systems) as a comm port.  There are also *.DLL driver libraries which can be used for faster access to the USB interface on this converter device.

This is a work in progress, and a hobby entertainment project.  I do not have the time to make more of these boards.  I would reccomend that those interested in USB scanning pool together as was done for the Mark3-BT boards and a run of boards made.  The usb interface is a fine pitch surface mount part and would require some advanced assembly, which  basically means you need to use a fixed magnifying glass, good eyesight and a steady hand to solder them.  It is not diffucault and many thousands of electronics hobbyists do this on a regular basis.

This interface does not directly make a MIDI file -- addional conversion software, such as the tools written by Warren Trachman will be needed to convert the CIS file to a playable file.  A program is also needed to convert the raw image data returned from the USB to CIS.

Julie Porter
14 Feb 2007 16:59:59 -0800  (142 kb)

USBCISzip.gif (21 kb)
Contents of file


18 February 2007