Camera Controller

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.

Macro Photography With CHDK

macro

[Tim] photographs insects for bugguide.net. As you can imagine, macro photography is a must. He was very frustrated with his camera’s stock ability to capture the insects. You can see in the example on his site that the image is blurry and has some color issues. He did some research and hacked together a method of getting fantastic macro images for relatively cheap. He used the reversed lens method to get his macro lens set up. He then modded his camera with CHDK for more control. He found that his focal distance was too small to get the entire bug in focus, so he took 15 images at different distances and combined them to make the final image. We’re curious how the pringles can macro lens would compare to this. Thanks for the submission [sp’ange]. Lets see some more tips.

Porting CHDK To New Cameras


While researching the CHDK How-To, we came across the team’s instructions for porting the firmware to entirely new cameras. In theory, CHDK should work on any Canon running the DIGIC II or III processor since most of them are running the same VxWorks OS. A dump of the camera’s firmware is required before porting work can begin. On some cameras, the firmware was retrieved using software, but others required a hardware route. Pictured above is a Canon A610 that’s slowly flashing out every bit of its firmware using the built in LED. The photodiode is hooked up to a soundcard where the entire bitstream is recorded. It takes 1-7 hours to read the entire firmware. Once the sound file has been captured, it’s reverted to the original bytes and can then be decompiled with something like IDApro.

How-To: Expand Your Camera With CHDK

As anyone who has lusted over the technical specifications for Canon’s new Digital Rebel XSi knows, the capabilities of the average point and shoot camera are severely limited. Using the CHDK firmware hack, the features of Canon point and shoot cameras can be significantly expanded, allowing for ultra-high speed photography, very long exposures, time lapse photography, and RAW capture. This How-To provides a guide to our experiences using the CHDK firmware, and shows just how easy it is to get more out of a point and shoot than ever thought possible.

Continue reading “How-To: Expand Your Camera With CHDK”

Home Made 8mm Digitizer

The 8mm film look is making a comeback, but distributing it is an issue. [Heikki Hietala] wanted an easy way to digitally capture the 8mm movies he made. So, he built an 8mm digitizer from an Arduino, a cheap Canon camera and the guts of an old 8mm film camera. When you throw in a few 3D printed components and some odd electronics, you get an impressive build that captures 8mm film with impressive speed and quality.

This build started with a Canon Ixus 5 camera running CHDK (the Canon Hack Development Kit) to lock the settings down. This points at the film strip through a macro lens so each frame of the strip fills the frame. An Arduino then triggers the camera to take a photo using a USB cable. The same Arduino also controls a motor that winds the film and triggers the film gate from the camera that he salvaged. By reversing the function and triggering it with a servo motor, he can easily blank off the edges of the frame so no stray light shining through the film material causes any problems. Once the camera has captured every frame on the strip, he feeds the captured images into Blender, which processes them and spits out the final movie.

This is a very impressive build overall. [Heikki] has obviously put a lot of thought into it, and the whole thing looks like it runs very efficiently and quickly. The captured video looks great, as you can see from this sample. The decision to use a salvaged film gate was a smart one: there is no point in reinventing the wheel if engineers of previous generations have solved the problem. Kudos to [Heikki] for also documenting the process in a lot of detail: he has produced a 5-part series on his blog that shows how and why he made the decisions he did. This series goes over the overall view of the project, using CHDK to control the camera, 3D printing parts, wiring the Arduino and writing the code that controls the system.

This sits nicely alongside the 8mm to video camera hack that we wrote about recently. This one doesn’t involve taking apart the camera (except for the sacrificial one that supplied the gate), and you still get that wonderfully grainy, jumpy look of 8mm film.

Continue reading “Home Made 8mm Digitizer”

Hacklet 86 – Time-lapse Projects

“If I could save time in a bottle…” it’s not just an old song, it’s a passion for many photography hackers. Time-lapse photography is a way to show the movement of time through still images. These images are animated into what essentially is a video recorded at a super low frame rate. We’re talking one frame per minute or slower in some cases! The camera doesn’t have to be still for all this, but any motion must be carefully controlled. This has led hackers, makers, and engineers to create a myriad of time-lapse rigs. This week’s Hacklet is all about some of the best time lapse projects on Hackaday.io!

rig-1We start with [Swisswilson] and the simply named Timelapse rig. To say this rig is beefy would be an understatement. All the aluminum parts, with the exception of the gears, were machined by [Swisswilson]. Two Nema-23 Nema-17 motors are controlled by Sparkfun Easy Stepper Drive boards, while an Arduino Micro serves as the controller. The electronics are all housed in a sturdy box which also serves as a remote control. A joystick allows pan and tilt to be manually controlled. The bombproof construction is definitely a help here, as [Swisswilson] is using this rig with DSLR cameras. Combined with a lens, these setups can reach a pound or two.

 

pilapseNext up is [minWi], who put their script-foo to work with raspilapse. Raspilapse automates the entire process of taking photos, assembling them into a movie, and uploading to YouTube. The hardware is a Raspberry Pi Model B, with a RasPi Camera. The Pi shoots images then uploads them to a Virtual Private Server (VPS). [minWi] used an external server to save wear and tear on the Pi’s SD storage card. At the end of the day, the VPS uses ffmpeg to assemble the images into a video, then uploads the whole thing to YouTube. We’re betting that with a few script mods, this entire process could be run on a Raspberry Pi 2. If you’re really worried about the SD card, a USB flash drive could be used.

 

SunriseSunsetRig[Andyhull] takes us down to one frame per day with Sunset and Sunrise camera controller. [Andy] wanted to get shots of the sunrise every day. Once converted to a video, these shots are great for documenting the passing of the seasons. He used a Canon point and shoot camera along with the Canon Hack Devleoper’s Kit (CHDK) for his camera. The camera has its own real-time clock, and with CHDK, it can be programmed to shoot images at sunrise. The problem is power. Leaving the camera on all the time would quickly drain the batteries. Arduino to the rescue! [Andy] programmed an Arduino Pro Mini to turn the camera on just before sunrise, then shut it back down. The standby power of a sleeping ATmega328 is much lower than the camera’s, leading to battery life measured in weeks.

 

podFinally, we have [caramellcube] who added data to their time-lapse photos with Portable Observation Device (POD). POD was conceived as a device to aid paranormal investigators. The idea was to have a device that could take images and record data at a set interval from within a locked room. Sounds like a job for a Raspberry Pi! [caramellcube] started with Adafruit’s Raspberry Pi-based touchscreen camera kit. From there they added a second board controlled by an Arduino Nano. The Nano reads just about every sensor [caramellcube] could fit, including humidity, air pressure, magnetic field strength, acceleration, light (4 bands), sound, and static charge. The Nano allows [caramellcube] to connect all those sensors with a single USB port on the Pi. We’re not sure if [caramellcube] has found any ghosts, but we’re sure our readers can think of plenty of uses for a device like this!

If you want to see more time-lapse projects, check out our new time-lapse 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!

Crypto Photography And Custom Firmware

Imagine a camera that took encrypted pictures. If your camera is stolen, the only thing on the memory card would be random data that can only be unlocked with a key. If you hire a photographer, those images cannot be copied without the key. At the very least, it’s an interesting idea made impressive because this actually exists.

[Doug] recently got his hands on a Samsung NX300, a nice camera for the price that conveniently runs Linux and is kinda open-sourced by Samsung. With special firmware, [Doug] created public/private key encryption for this camera, giving only the person with the private key the ability to unlock the pictures taken with this camera.

[Doug] started his build by looking at the firmware for this camera, figuring out how to take everything apart and put it back together. With a few modifications that included encryption for all images taken with this camera, [Doug] repackaged the firmware and upgraded the camera.

The encryption firmware is available on the site, but considering how easily [Doug] was able to make this hack happen, and a great walkthrough of how to actually do it raises some interesting possibilities. The NX300 is a pretty nice camera that’s a little bit above the Canon PowerShot cameras supported by CHDK. It also runs Linux, so if you’re looking for something cool to do with a nice camera, [Doug] has a very good resource.