Well....it's been a while but I finally had a look at implementing this idea....it looks very feasible.
I took apart an old Canon N670U flatbed scanner with 'Lide' technology, which basically means it uses a Contact Image Sensor (CIS) type scanhead. This sort of scanner has a bunch of smaller sensor chips inside all lined up in a row. Instead of complex optics, there is a simple linear waveguide, which transmits light from the sensor top, to individual photodiodes.
The advantage of this is that the sensor by it's very nature has to be very close to the thing being scanned (thus the 'Contact' part of the CIS name), and an RGB LED with a suitable spreader can supply the light source. Scanners made from CIS modules can therefore be USB powered....which the N670U is.
Because the thing is so simple, I found at one end a USB connector and on the moving (scanning part) was a stepper motor assembly which climbs up and down a cable, the CIS sensor and the electronics.
The electronics has in it a LM9833, googling that datasheet I found it was a special purpose USB appliance, which can connect to a variety of CIS/CCD linear sensors via a simple interface. To summerise, you send a reset on one pin, clock another and on each clock the analog value of the light falling on that sensor in the array appears at another pin. Additional pins control the LED light source. All very encouraging, as this is the sort of thing a micro can do....it doesn't need to scan a whole page to work out a spectrum, and we don't need to worry too much about throughput either.
The CIS sensor has 12 pins, unfortunately I couldn't beep back into the LM9833 to find out which pin goes to which signal, because of some buffer circuitry which is a bit tedious to sort out.
The CIS sensor has a Canon part sticker on it with these markings:
Under the Canon logo, the numbers 82408
Under the barcode, the numbers 58587C75F
an additional number by itself FH7-7576
If there is anyone who knows (or can find out) what the manufacturer/MFPartNumber of the sensor in the scanner is, or better still a datasheet, it will not be difficult to get started on this. (you could also help save me the effort of beeping out the buffer circuits).
Phil