A programmable system includes an inputoutput pin that is configurable into multiple operational states. A frame of video is represented at least by frame position information. The button member is moveable in a first direction from a first locked position to a second unlocked position. An optical path, being folded by two mirrors so as to provide a compact geometry for the reader, extends between a reading surface on which the document is place and the image sensor. In another embodiment, a printer characterization file may be used for execution on a printing system to determine the set of printer characteristics that may include native resolution, rotation angle, compression data andor other data or information characterizing the printing system.