TWAIN driver??

Hello

Does a arduino support a TWAIN usb scanner?

Short description...

Arduino box, connected to a USB sheet scanner.

Exposed web services that will scan the document and return the image to the webservice caller.

The twain will prolly store the document on the local file system, and return the file (thinking this would be the best solution)

I have the webservices part completed, the arduino returns a file that is saved on the system - so that only leaves the TWAIN scanner part to complete.

Ideas anyone?

No, Worked on the TWAIN protocol long ago and even a minimal implementation would be too big for Arduino (UNO/MEGA). Furthermore the amount of data a typical scanner delivers (300 dpi 24 bits A4/Letter) is huge for an Arduino (UNO/MEGA).

An Arduino Yun or a Raspberry Pi might be a platform of choice.

But please proof me wrong :wink:

From my understanding, it's not the scanner that's TWAIN compatible. It's the driver sitting on the client machine. For example, if a windows machine wants to access SomeScanner, it will make calls to the driver for SomeScanner. This driver will have all the function calls that Windows expects from a TWAIN compatible driver.

In the meantime, the driver will be device specific. So the driver for SomeScanner will be expecting to find the scanner using it's own unique methods.

In your scenario, the driver will no longer find the scanner using the methods it expects. So you'd have to write your own TWAIN compatible driver that will then communicate with your arduino. Your arduino would also need to be able to access the scanner using whatever low level protocol the scanner implements. Getting the details of exactly how this specific scanner communicates could prove a challenge.

Bearing in mind that the arduino can't even store a whole image in memory at any time, I'd say it's a bit of a non runner. It's not impossible but it would be very hard work and even if you succeed, your solution would be device specific. If you ever want to upgrade to another scanner, you'd have to go through the whole painful exercise again.