Taking apart a Canon Pixma MX340 multi-function inkjet, I wanted to see what I could learn from its scanner's CIS (contact image sensor) bar. Expectations weren't high at the start but after spending some time looking at its behavior under an oscilloscope I think I understand enough to explain every pin on its cable connector.

I'm arbitrarily numbering these pins from left-to-right in this picture. I don't have Canon's electronic schematic or engineering data, so this might be reversed from Canon's actual pin ordering. I feel confident about the accuracy of red labels, I'm more tentative about the pins labeled in blue.

The first five pins support illumination. There are separate pins for red/blue/green LEDs and they all shine onto a common light guide that disperses across the sensor bar.

  1. 5.5V DC power source as common LED anode.
  2. Red LED cathode.
  3. Green LED cathode.
  4. Blue LED cathode.
  5. Chassis ground.

The remaining seven pins support image sensor data.

  1. Data clock (tentative) at 2.37538MHz with amplitude of 3.3V. Clock signals are normally square waves. This one is very nearly a smooth sine wave but I guess it still counts?
  2. Line sync+ (tentative) at 425.543Hz. Raised up to ~3.3V for one data clock cycle to signal new scan line, read on falling edge of clock signal. Low voltage level fluctuates relative to chassis ground, but is in sync with line sync- and should be compared against that.
  3. Line sync-. Reference base for pin 7 line sync+.
  4. 3.3V DC power source for image sensor logic.
  5. Power ground for image sensor logic.
  6. Analog pixel data+ (tentative). Raised up to ~3.3V above chassis ground (or roughly 2V above reference base pin analog pixel data-) to indicate brightly lit pixel. Drops to less than 0.1V above reference base for both dark pixels and overblown pixels. Drops under reference base in the non-data periods at the beginning and end of each scan line.
  7. Analog pixel data- (tentative). Reference base for pin 11 analog pixel data+. Voltage level is roughly 1.0V above chassis ground but fluctuates in sync with analog pixel+ approximately +/- 0.1V.

All of this information were inferred from using either a multimeter or an oscilloscope to observe voltage levels on each pin, while the printer is either going through its startup sequence or sitting idle. This doesn't tell us which component is responsible for which signal. For example, while pin 11 analog pixel data is certain to come from the sensor bar, this data doesn't tell us if the clock signal on pin 6 comes from the sensor bar or from the printer main board. That's just the first of many barriers against repurposing this sensor bar.


This teardown ran far longer than I originally thought it would. Click here for the starting point.