[sane-devel] Using SANE to control the scanner head movement for robotics project?

Bertrik Sikken bertrik at zonnet.nl
Tue Mar 14 18:04:04 UTC 2006

Jack Gassett wrote:
> Hello, I am trying to find out if this is possible before I dive into
> programming this. I would like to use an old scanner in a robotics
> project. Instead of tearing it apart and using my own stepper controller
> it would be nice to use SANE to control the stepper controller built
> into the scanner. So is it possible to get to a low enough level with
> SANE to move the scanner head to a specific position and then have it
> stop there. Then move it to another position and stop there?
> I was hoping that I could use the SANE API's to control the scanner head
> movement and then the code would work for several different scanners. If
> SANE's API's are too high level to do this does anyone know if this
> would be possible with TWAIN or any other similiar API?

I think the sane API is indeed too high level for this.
Sane basically allows you to set a bunch of parameters (scan area + DPI
is probably the lowest common denominator), then to start the scan
and read the data.
There is no specific sane function to move a stepper motor, this stuff
is handled by each scanner-specific backend.

I don't know about TWAIN or any other api.

> I think worst case scenario I will have to target a specific scanner and
> then look for any reverse engineering information on the Web or get
> usbsnoop and try to reverse it myself. I would prefer to avoid this and
> be able to go the easy route. I would like to do this in a manner that
> other people can benefit from this as well.

Some scanner chips are used in a lot of different scanner models, even
from different manufacturers. Perhaps you can pick a scanner with a
very common scan chipset. The genesys chips seem to be very popular
in low-cost scanners.

Kinds regards,

More information about the sane-devel mailing list