Hackaday Prize Entry: A Linear CCD Breakout

Linear CCDs are an exceptionally cool component. They can be used for DIY spectrometers, and if you’re feeling very adventurous, a homemade version of those crappy handheld scanners of the early 90s. Linear CCDs don’t see much use around these parts, though, which makes [esben]’s Hackaday Prize entry very cool. He’s building a breakout to make using these linear CCDs easier.

A linear CCD module looks like an overgrown DIP chip with a glass window right on top of a few thousand pixels laid out in a straight line. The data from these pixels isn’t output as a series of ones and zeros, though: its old school, and the data this CCD produces is analog. This means reading light from one of these modules requires a fast microcontroller with a good ADC.

For this project, [esben] is using a Nucleo F401RE, a development board built around an STM32F4 microcontroller. This processor is fast enough to read the data off its 12 bit ADC, and store all three thousand pixels. Now the problem is getting this data off the microcontroller and onto some storage. With a UART limited to 230kB/s, each ‘frame’ of the CCD takes 300ms to transfer to a computer. [esben] really wishes that could be done a little faster, so he’s trying to hack the DMA controller to do his bidding. It looks like [esben] is on track to make a fast interface for a very common linear CCD, which means more cool tools and toys for all of us.

Hacklet 97 – Camera Projects

We last covered camera projects way back in Hacklet #11. A ton of camera projects have been added to Hackaday.io since then. While the rest of the world is taking selfies, hackers, makers, and engineers have been coming up with new ways to hack their image capture devices. This week on the Hacklet, we’re taking a look at some of the best camera projects on Hackaday.io!

pixelzFirst up is [aleksey.grishchenko] with PiXel camera. PiXel is a camera and a live video display all in one, We wouldn’t exactly call it high-definition though! A Raspberry Pi uses its camera module to capture images of the world. [Aleksey] then processes those images and displays them on a 32 x 32 RGB LED matrix. This matrix is the same kind of tile used in large outdoor LED signs. The result is a surreal low resolution view of the world. Since the Pi, batteries, and camera all hide behind the LED matrix, there is an unobstructed view of the world around you. [Aleksey] used  [Henner Zeller’s] matrix library to make this hack happen.

imagerNext up is [Esben Rossel] with Linear CCD module. [Esben] is building a Raman spectrometer, much like 2014 Hackaday Prize finalist [fl@C@] with his own ramanPi. The heart of a spectrometer is the linear image capture device. Both of these projects use the same TCD1304 linear CCD. Linear Charge Coupled Devices (CCDs) are the same type of device used in flatbed document scanners. The output of the CCD is analog, so an ADC must be used to capture the data. [Esben] is using an STM32F401RE on a Nucleo board as the control logic. The ST’s internal ADC converts the analog signal to digital. From there, it’s time to process all the spectra.

wiimote-cam[Chiprobot] brings the classic Wii remote camera to the internet of things with
ESP8266 meets Wii Mote Camera. The Wii remote uses a camera which doesn’t output images, instead it plots the location of up to four IR LEDs. Normally these LEDs are located in the poorly named sensor bar that is sold with the Wii. Hackers have been using these cameras in projects for years now. [Chiprobot] paired his camera with the modern classic ESP8266 WiFi module. The ‘8266 is programmed to read data from the camera’s I2C bus. It then sends the data as an SVG request to the W3C website. W3C returns a formatted image based on those coordinates. The resulting image is a picture of the IR LEDs seen by the camera. Kind of like sending your negatives out to be developed.

photoboothFinally, we have [GuyisIT] with Raspberry Pi Photobooth. Photo booths are all the rage these days. First it was weddings, but now it seems like every kids party has one. [GuyisIT] didn’t rent a booth for his daughter’s birthday, he built one using his Raspberry Pi and Pi camera. The project is written in python, based upon [John Croucher’s] code. When the kids press a button, the Pi Snaps a series of pictures. The tiny Linux computer then joins and rotates the images while adding in some superhero themed graphics. Finally the Pi prints the image on to a photo printer. The biggest problem with this hack is re-triggering. The kids loved it so much, they kept pressing the big red button!

If you want to see more camera projects, check out our updated camera projects list! If I missed your project, don’t be shy! Just drop me a message on Hackaday.io. That’s it for this week’s Hacklet. As always, see you next week. Same hack time, same hack channel, bringing you the best of Hackaday.io!

THP Entry: A Digital Large Format Camera

Click to embiggen. It's seriously worth it.
Click to embiggen. It’s seriously worth it.

After 20 or so years of development, digital cameras may soon be superior to film in almost every way, but there are a few niches where film cameras reign supreme. Large format cameras, for example, are able to produce amazing images, but short of renting one for thousands of dollars a day, you’ll probably never get your hands on one. For his entry to The Hackaday Prize, [Jimmy.c..alzen] decided to build digital large format camera, using an interesting device you don’t see used very often these days – a linear CCD.

[Jimmy]’s camera is built around a TAOS TS1412S, a linear CCD that is able to capture a line of light 1536 pixels across. The analog values are clocked out from this chip in sequence, going straight into an Arduino Due for processing, saving, and displaying on a small screen.

Inside the camera, the sensor is on a pair of rails and driven across the focal plane with the help of a stepper motor. The effect is something like the flatbed scanner to camera conversions we’ve seen in the past, but [Jimmy] is able to adjust the exposure of the camera simply by changing the integration time of the sensor. He can also change the delay between scanning each column of pixels, making for some really cool long-exposure photography techniques; one side of an image could be captured at noon, while the other side could be from a beautiful sunset. That’s something you just can’t do otherwise without significant digital manipulation outside the camera.

SpaceWrencherThe project featured in this post is an entry in The Hackaday Prize. Build something awesome and win a trip to space or hundreds of other prizes.

Taking Pictures with a DRAM Chip


DRAM Image

This picture was taken by using a DRAM chip as an image sensor (translated). A decapped 64k DRAM chip was combined with optics that could focus an image onto the die. By reading data out of the DRAM, the image could be constructed.

DRAM is the type of RAM you find on the RAM cards inserted into your motherboard. It consists of a massive array of capacitors and transistors. Each bit requires one transistor and one capacitor, which is quite efficient. The downside is that the memory needs to be refreshed periodically to prevent the capacitors from discharging.

Exposing the capacitor to light causes it to discharge faster. Once it has discharged past a certain threshold, the bit will flip from one to zero. To take a picture, ones are written to every bit in the DRAM array. By timing how long it takes a bit to flip from one to zero, the amount of light exposure can be determined. Since the DRAM is laid out in an array, each bit can be treated as a pixel to reconstruct the image.

Sure, modern CCDs are better, cheaper, and faster, but this hack is a neat way to totally re-purpose a chip. There’s even Turbo Pascal source if you’d like to recreate the project.

Thanks to [svofski] for the tip.

Swapping the sensor in a DSLR


To take a color image, modern digicams have something called a Bayer pattern – small red green and blue filters, one color for each pixel – that drastically reduce the resolution if all you’re doing is taking black and white pictures. [Lasse] is an astrophotographer, and doesn’t exactly need color pictures, so he decided to swap the color sensor in his camera with a monochrome CCD.

Most DSLRs have CCD sensors on strange surface mount packages or put everything on flex PCBs. [Lasse]’s Olympus E-500, though, features an 8 Megapixel CCD on a ceramic DIP that is actually fairly easy to remove given the right tools and just a little bit of mechanical encouragement.

After putting in a new monochrome CCD, [Lasse] had a much more sensitive sensor in his camera, and processing the RAW files off the camera gives him a great improvement for his astrophotography.

This isn’t [Lasse]’s first adventure in tearing apart DSLRs for astrophotography. Earlier, he uncovered the secrets of the Four Thirds lens format with a logic analyzer, making his Olympus camera a wonderful tool for looking into the heavens.

Canon A70 CCD replacement/repair

Looking for an underwater camera setup, [Imsolidstate] picked up a Canon A70 and a Canon water-tight housing on eBay for around $45. Unfortunately the camera arrived with a non-functioning CCD. Another trip to the online auction site landed him a replacement CCD which he set about installing.

We have this exact model of camera with a cracked LCD display. Being that we like to hack around on things we’ve pulled it apart in order to replace the screen and believe us, there’s no extra room inside that thing. The video after the break shows the teardown, and you can see what a pain it is to get the unit apart. That process in only eclipsed in difficulty by the reassembly itself.

In the end it wasn’t a problem with the CCD itself, but with the connector on the PCB that received the flat cable. It wasn’t holding the contacts tight, but [Imsolidstate] fixed that with a strategically placed piece of foam.

Continue reading “Canon A70 CCD replacement/repair”

Converting a scanner into a touchscreen

[Sprite_TM] was cleaning up his hacking workbench when he came across an all-in-one device that had seen better days. After a bit of consideration he decided to tear down the scanner portion of the device and ended up turning it into a multi-touch display.

The scanner relies on a long PCB with a line CCD sensor. This sensor is read in a similar way that information is passed along a shift register. Tell it to take a reading, and then start a clock signal to pulse out each analog value from the pixels of the sensor. In order to scan color images it uses multicolored LEDs to take different readings under different illumination.

[Sprite_TM] takes advantage of this functionality to turn it into a multitouch sensor. The sensor board itself is mounted below an LCD display along with a shield with a slit in it to help filter out ambient light. Above the screen a series of LEDs shine down on the sensor. When you break the beams with your finger it casts a series of shadows which are picked up by the sensor and processed in software. Watch the clip after the break to see it for yourself. It has no problem detecting and tracking multiple contact points.

Continue reading “Converting a scanner into a touchscreen”