Sharp CE-AG06 camera

ce-ag06During SL-5500 era Sharp sold PCMCIA camera CE-AG06. As it contained only 0.35 Mpix CMOS sensor and images quality wasn't really good for pretty much high price ($169.90), it wasn't popular. And there is still no open driver for it.

Now as Amazon sells it for only $15, it makes a nice addition to my gadget collection. And of course now there is an ongoing effort to write a driver for it.

Update: I was able to get some images from the card.

first image from camera

HW info

The camera is interfaced via CF slot. By default the camera contains improper CIS information (it requires 5V voltage instead of 3.3V), so either a driver hack or a a CIS override is necessary. Fortunately Linux kernel provides us a possibility to choose the second way.

From the interface perspective camera is organised as a two 16-bit registers with flags, one 32-bit register for reading image data, one 16-bit control register, one 8-bit register for internal eeprom interface (looks like SPI from my POV) and a set of registers controlling some internal busses.

The tricky part is that CE-AG06 does not provide an interrupt line. There is no way to know that the button was pressed or the image was captured, other than polling regulary one of registers for changes. I'm still not sure what is the best way to cope with this.

Driver status

I've uploaded the preliminary version of the driver for CE-AG06 camera to git at github. Clone url is git://

The driver still suffers some problems.

  1. It is comletely untested on ARM!!! It was developed on my x86 computer
  2. It causes high load even for my (pretty much up-to-date one) computer
  3. Capture is a bit unstable
  4. exit/modunload path is not well tested
  5. not all features of hw (like button, iris changing, etc.) are implemented

Last modified at: Sunday, February 22, 2009 12:44:56 AM.

Previous page: Status in QEMU