I would like to build my own high speed Line Scan Camera with Arduino Uno board. the commercially available ones are incredibly expensive. Currently my problem with this project isn’t the optics, but the CCD sensor and signal processing part. Please point me to the right direction and tips on building a line scan camera with the following specs detailed in the latter portion of this post. A huge problem is for the past few weeks I couldn’t find the Linear CCD sensors available online. I am a sophomore software engineering major who just stepped into the hardware developing community, I never been into an electronic parts shop/junk yard in my 19 years life.....You don't happen to know a good one around UCSD or the Clairemont / San Diego, CA by any chance? If you do, please post
What I think I need:
- Linear CCD Sensor
- CCD sensor driver board
- CCD Analog to Digital Image processor/ CCD Microprocessor
- Arduino Uno Board
My budget limit for this project is around $200 goes to the sensor and processor parts excluding the Arduino Uno Board.
I know some of the older (med to high-end?) flatbed scanners uses linear CCD sensors, the scanner that I have and most modern cheapo scanners use CIS. Does anyone have experience using CIS as the sensor in a Line Scan Camera? I took apart the scanning module on my HP Photosmart C4680 and the CIS is way smaller than I thought, not entirely sure how CIS works. From goolging I found plenty of USB Barcode scanners 100+ scan rate that use CCD sensors (or so they claim) from the low $30, and one Line Scan Camera from Parallax that features 128 pixels for under $50, however they don't seem to have the specs that I am looking for. If you have experience tweaking these devices please help, maybe they do have the specs that I'm looking for and all I need to do is to tweak them, which I don't know how.
And then comes the Mount Everest price gap with the industrial types that cost $1300 upward to $3000+ which supersede my needs.

The specification for the Linear CCD sensor/driver that I am looking for: it sounds like I need an older laser fax machine/copier/scanner but instead I want a higher resolution out of it.
- 8 bit grey scale per pixel, no color needed
- Adjustable exposure time down to 1 ms or less => want to achieve a scan rate 1000+ scans/second (Eventually I want to achieve 10k rate)
- Pixel size around 14 micron x 14 micron or less (the physical size is important in my case, I am using laser with this)
- 1024 pixels horizontal * 1 pixel line, the higher the better (Eventually I want to find a 4096)
Here are the Analog to Digital signal processing part and conversion requirement and then some questions, sorry for the amateurish/quite possibly rubbish wording.
- So an 8 bit greyscale image processor means 256 grey levels per pixel right? Instead just output a number between 0 – 255, I have an extra objective:
I want to be able to compare the numbers and then output a number (coefficient) based on which pixel received the highest number (highest light intensity). Let’s say pixel 1 after signal processing received a number of 240 and it is the highest relative to that particular scan, then the processor would output 1. If the highest intensity is at pixel 35, the processor would output 35. In one second, I want the processor to be able to output 1000+ coefficients based on the above logic.
I want Arduino to do the extra step using the digital 0-255 values from the processor? I imagine Arduino would need some memory for these operations? Is it enough?
- Processing capability should probably around the same or exceed the scan rate?
- What is the realistic amount of memory for storing the processed sequential 0-255 values on the processor chip, under my budget?
The last question, is Arduino a best fit for this project? I just want my Arduino to send the digital signal back to my PC, and some light processing
- Arduino to turn On/Off the components
- Arduino to receive data from the CCD Image processor
- Arduino to process the data and assign the corresponding coefficient per scan
- Arduino to send the resulting coefficients to my computer
Note: I have seen some industrial Linear CCD camera that cost a fortune, that's precisely the reason why I want to challenge myself with this engineering project and help others who'll come into this thread in the future to build the device themselves. So, no corporate product advertising + trolling please, please don't just tell me you can't build it, be so kind to give detailed & logical reasons instead of "just because".