Hack your phone: turn your volume buttons into GPIO ports

Internet connected cameras are mighty useful, specially in situations requiring some form of remote monitoring. An always-on camera that is available over an internet connection, is cheap, and uses re-purposed  hardware – that’s what the Gonzo project hopes to achieve. To accommodate these requirements, the Exploratory Engineering program team in Telenor Digital are using off-the-shelf phone hardware running on top of a fork of Firefox OS. You hang the Gonzo where you want to monitor a situation, after which it will function for up to one month before needing a recharge, sending data to a designated public URL over the 2G network.

A big downside with using such hardware is that it is not designed for the task at hand, and offers no expansion ports that may be needed for certain functions. In this particular case, the designers needed a couple of output ports to drive some LED’s. The hardware guys got a bit creative,  and re-mapped the volume buttons of the phone into generic GPIO ports. On the software side, they looked at where the button GPIO’s were referenced, and located how they are mapped to a keymap. They then added a device driver that maps the GPIO ports to be generic ports instead. Modding the hardware needed a little bit more hard work, figuring out which traces connected to the two volume buttons, adding series resistors, and then wiring the LED’s in place. The project itself is still a work in progress, and you can read more about it at the Gonzo website.

If you’re like one of us and have a box full of old phones lying around, take a look at some creative suggestions here for some Arduino controlled robots.

Thanks for the tip [pb] !

Inexpensive Ring Light Makes Macro Photos Easy

[edyb] uses his relatively inexpensive Cannon camera quite a bit. However, in dark areas or extreme closeups, the camera’s image quality leaves something to be desired. [edyb] hopped on the ‘net and found out that a ring light may cure his photo faux pas. Ring lights are nothing new but nothing existed for his lower-end point and shoot camera. With a USB-powered lamp and a spare AA battery pack kicking around, [edyb] decided to make his own.

First, the USB lamp was disassembled, luckily the LEDs were already laid out in a ring shape. The clear protective housing and gooseneck were discarded and the remaining PCB ring was glued directly to the camera. A female USB jack was then glued to the top of the camera and soldered to the two leads connected to the lamp’s PCB. The AA battery holder received a small switch and a male USB plug, also courtesy of a few dabs of glue. The now-assembled battery pack plugs directly into the camera via the USB connector and is its only method of attachment.

DIY Camera Light RingThe utilitarian modification may look crude but the results are anything but. Check out this close-up macro shot of a Canadian penny. Not too bad.

[edyb] has done some similar mods to other cameras, attaching components with magnets and even using an old Blackberry battery to power the LEDs showing that there is no one way to solve a problem. Check out the video after the break…

Continue reading “Inexpensive Ring Light Makes Macro Photos Easy”

How Fast Is Your Flash?

What’s cooler than learning about timers and interrupts on AVRs? Well, if you’re like [Matt], you can use that learning experience to build something useful – in this case, a timer for various camera flashes.

There are two ways to measure the speed of a flash. The first is the lag between when a button is pressed and when the flash goes off. As long as this is consistent, everything’s okay. The second type of speed is the pulse width. When looking at a xenon flash as time vs. brightness, they have a large spike at the beginning followed by a significant amount of decay. LED flashes are pretty much one cycle of a square wave.

To measure both types of flash speed, [Matt] used a $0.50 photodiode an a 3.5mm jack that ties into the flash remote. These bits are wired up to an Arduino, a little bit of fun work with timers and interrupts happens, and [Matt] learns how fast his flash is.

A Single Pixel Digital Camera with Arduino

[Jordan] managed to cobble together his own version of a low resolution digital camera using just a few components. The image generated is pretty low resolution and is only in grey scale, but it’s pretty impressive what can be done with some basic hardware.

The heart of the camera is the image sensor. Most consumer digital cameras have tons of tiny receptors all jammed into the sensor. This allows for a larger resolution image, capturing more detail in a smaller space. Unfortunately this also usually means a higher price tag. [Jordan’s] sensor includes just a single pixel. The sensor is really just an infrared photodiode inside of a tube. The diode is connected to an analog input pin on an Arduino. The sensor can be pointed at an object, and the Arduino can sense the brightness of that one point.

In order to compile an actual image, [Jordan] needs to obtain readings of multiple points. Most cameras do this using the large array of pixels. Since [Jordan’s] camera only has a single pixel, he has to move it around and take each reading one at a time. To accomplish this, the Arduino is hooked up to two servo motors. This allows the sensor to be aimed horizontally and vertically. The Arduino slowly scans the sensor in a grid, taking readings along the way. A Processing application then takes each reading and compiles the final image.

Since this camera compiles an image so slowly, it sometimes has a problem with varying brightness. [Jordan] noticed this issue when clouds would pass over while he was taking an image. To fix this problem, he added an ambient light sensor. The Arduino can detect the amount of overall ambient light and then adjust each reading to compensate. He says it’s not perfect but the results are still an improvement. Maybe next time he can try it in color.

A Remote for CHDK Cameras Made Possible with Arduino

[AlxDroidDev] built himself a nice remote control box for CHDK-enabled cameras. If you haven’t heard of CHDK, it’s a pretty cool software modification for some Canon cameras. CHDK adds many new features to inexpensive cameras. In this case, [AlxDroidDev] is using a feature that allows the camera shutter to be activated via USB. CHDK can be run from the SD card, so no permanent modifications need to be made to the camera.

[AlxDroidDev’s] device runs off of an ATMega328p with Arduino. It operates from a 9V battery. The circuit contains an infrared receiver and also a Bluetooth module. This allows [AlxDroidDev] to control his camera using either method. The device interfaces to the camera using a standard USB connector and cable. It contains three LEDs, red, green, and blue. Each one indicates the status of a different function.

The Arduino uses Ken Shirrif’s IR Remote library to handle the infrared remote control functions. SoftwareSerial is used to connect to the Bluetooth module. The Arduino code has built-in functionality for both Canon and Nikon infrared remote controls. To control the camera via Bluetooth, [AlxDroidDev] built a custom Android application. The app can not only control the camera’s shutter, but it can also control the level of zoom.

DIY Single Pixel Digital Camera

[Artlav] wanted to build a digital camera, but CCDs are expensive and don’t respond well to all wavelengths of light. No problem, then, because with a photodiode, a few stepper motors, the obligatory Arduino, and a cardboard box, it’s pretty easy to make one from scratch.

The camera’s design is based on a camera obscura – a big box with a pinhole in one side. This is all a camera really needs as far as optics go, but then there’s the issue of digitizing the faint image projected onto the rear of the camera. That’s fine, just build a cartesian robot inside the box and throw a photodiode in there.

There are a few considerations when choosing a photodiode for a digital camera. Larger photodieodes have higher noise but lower resolution. [Artlav] has been experimenting with a few diodes, but his options are limited by export control restrictions.

Even with the right photodiode, amplifying the tiny amount of current – picoamps in some cases – is hard. The circuit is extremely sensitive to EMI, and it’s inside a box with stepper motors pulled from the scrap bin. It’s amazing this thing works at all.

Still, [Artlav] was able to get some very high resolution images across a huge range of wavelengths. He’s even getting a few images in mid-wave infrared, turning this homebrew digital camera into the slowest thermal imaging camera we’ve ever seen.

3D Printed Camera Battery Emulator

There are certainly battery hungry devices out there on the market and, unless you do some serious research before the purchase of said device, you really don’t know how it will perform. Needless to say, some of us get stuck with power hog device, and it seriously sucks because changing out batteries often is expensive and just plain annoying.

If you couldn’t tell, I am speaking from experience, my old Sony DSC-H5 camera works great with the exception of needing new batteries every hour. And if you get cheap batteries, the camera won’t even turn on! There’s a USB connector on the camera but it is only for transferring data and there is also no DC input jack. The entire situation is a totally bummer.

I’m happy (or disappointed) that I am not alone in the world. [Phil] wrote into the HaD tip line to tell us about his solution to this very problem. He has a Canon SD1000 camera and although the battery works fine he needs it to work at an altitude of 15km in order to take some sunrise photos. Cold weather testing (in the fridge freezer) showed that the battery isn’t going to cut the mustard for the hour-long flight. The rest of the balloon-lifted unit already has a battery pack and the plan would be to tap into that to power the camera. Unfortunately his camera, like mine, doesn’t have a DC input jack and can not be powered off the USB port.

[Phil] decided to make a 3D printed battery emulator. It sits in place of the stock battery and holds bare wire where the batteries terminals normally are. The other end of the wires are run out of the camera to a voltage regulator that converts the battery pack’s 6 volts down to the 3.9 that the camera needs.

Continue reading “3D Printed Camera Battery Emulator”