When Tim Jacobs sought to save money by creating an instant camera using inexpensive thermal paper, he didn’t realise saving time was also a priority.
With this amazing Pi-infused camera, there’s certainly no shaking like a Polaroid picture. Instead, Tim Jacobs has done away with film entirely, so rather than instantly output white-bordered glossy pictures as per the original, it prints the results on the kind of thermal paper typically used for receipts.
This article first appeared in The MagPi 70 and was written by David Crookes
Not only does this make for cheaper photography – “instant film is hugely expensive: more than £1 per shot,” Tim explains – it retains the original premise thought up by scientist Edwin Land, who unveiled the first commercial instant camera back in 1948.
For Tim, however, it was a chance to finally put a long-held idea of his own into practice. “The noise that thermal printers make when they spit out receipts reminds me of instant cameras and I’d always wanted to use one for that purpose,” he says.
To achieve his dream, Tim bought the smallest thermal printer he could find (an LESHP model with built-in Bluetooth and support for USB and RS232). He also made use of an old Polaroid camera, a Raspberry Pi Zero, and a £1.99 webcam (“the printer is only 384 pixels wide so, in terms of image quality, a better camera wouldn’t make much difference”). From that point on, “it was 90 percent experimenting and 10 percent shoving it into a pretty case.”
Before getting close to assembling the camera, Tim wanted to make sure he could actually get the printer to work with Linux. “It couldn’t have been easier, it almost felt like cheating,” he laughs. Getting it to print images directly from the webcam without mangling was more difficult, though. “It consumed more than an entire roll of paper.”
But he persevered and eventually proved successful. He could then turn his attention to the Raspberry Pi Zero, a decision based on the small size of the computer and the large size of the community. “Almost every problem you encounter will have been solved and documented by someone already,” he says. “Besides, when it comes to small Linux boards, Raspberry Pi is king.”
Tim’s main challenge was to reduce the boot time so that the camera would be ready to take a shot within seconds of it being picked up. Ideally, he wanted to be able to put the processor to sleep and have it wake instantaneously; with the Raspberry Pi unable to do this, however, he sought to shave many seconds off the boot time instead. He found that shooting, converting, and printing was also slow, initially taking 40 seconds from boot to result.
To solve this, he used buildroot to create a custom, bare-bones Linux image that contained everything the camera needed and nothing it did not, cross-compiling it into a minimal image. It took a long time to crack, but he managed to get the boot time down to just two seconds. Little tricks also sought to save small amounts of time, such as disabling the HDMI splash screen and preventing kernel messages being dumped to the serial port when the Raspberry Pi was booted.
When the components were placed into a dismantled Polaroid camera bought off eBay, it worked a treat. A USB hub was used to connect the webcam and printer and the process of assembly ensured that, from the outside, it looked like a normal camera. “There was cutting, drilling, and gluing dappled with the occasional bout of soldering,” he explains. It was then ready to take a shot. “The only thing it lacks is the row of metal teeth that would let people tear off the picture after taking it. I’ll have to add that sometime.”