NewAE Snapper - Camera Controller


Photo of Snapper
[Background]

The NewAE Snapper is an open-source camera controller. It started in 2007 as a way to do high-speed photography. The hardware is based on the Atmel Butterfly, and can be built for under $50. The idea is to take a picture a certain amount after a sound is heard - for instance you fire a BB gun at a balloon. When the BB gun fires it starts the timer, and then the picture is taken just as the BB is in the middle of the frame.

Current features include: Planned features include:
[How to Use]

Scroll down on the joystick until you see "Sound Sync". Push to the right to enter sound sync mode.

You should see the M flashing, this is the timing units. It is always on M for "mS". You can move the flashing digit left and right, and adjust that digit with up and down. If you move off the left of the screen, you will go back to the main menu. Set say 15 mS as a test. Adjust the threshold to zero, then increase it a tiny bit. Say 1/8th or 1/16th of a rotation. Press down on the joystick - the box says "WAIT" for two seconds, at the end of those two seconds it takes the background measurement. It will now say "ARMED". Clap your hands, and the display changes to "FIRE" for an instant and then back to the sound sync menu.

Note an easy way to force it to fire is to tap the box or microphone. If you set the threshold too high, it will stay in ARMED mode. To get around this remove one battery for a second to reset the thing [TODO: fix that!].

Now you'll need to connect your flash up to the unit. The device uses an NPN transistor to pull the flash line to ground - this is how most flashes trigger. Use a modern one as it's not designed to work with high voltages - just a few volts!

For taking the picture, I use the following method: [Hardware Instructions]

You have to modify the Butterfly slightly to work with this hardware. First check out the schematic, references in ports are to the butterfly and shown in the next picture:
The following shows you what is done:
Photo of modified butterfly
The following are the steps to modify a Butterfly. You'll want the user manual for the AVR Butterfly at http://www.atmel.com/dyn/resources/prod_documents/doc4271.pdf. It describes the location of things referenced here:

[How it Works]

The hardware was designed to be as easy as possible, and "cheats" a bit to accomplish this. The microphone isn't amplified at all beyond the amplifier built into the electret mic. Hence you NEED to use an electret mic here, which almost all are. Be sure to use the right polarity!

The mic gets it's power for the FET inside it through R201, which is 3k3. The 10uF cap you add eliminates the DC offset in the output of the microphone, then a 100k loosely pulls it to ground. If you have an external sensor plugged in, it needs to pull VIN high. The mic will still be connected too. I use this feature as you can tap the case of the device to trigger it for testing, since that will create a very lound sound in the microphone. Avoids needing another button.

The pot sets the threshold. It just connects to the ADC and is read in software, so is used as a way to quickly and easily set a specific level. In retrospect you don't change this a lot - a dedicated control is not needed.

To save power the microphone and pot are only ever powered on when you are in sound sync mode. Otherwise you'd end up wasting a lot of power...

The IR mode is used for some Sony/Minolta flashes. The code just triggers a "preflash" from the flash - which tends to be powerful and long. This is not good for high-speed photography, hence of very limited use. The problem is that to trigger a lower power level, it takes up to 46 mS to transmit the information to the flash. This is too long a delay, as for me I would have already missed the event. The IR command is always sent right now - I might just disable it since it's not really used.

IMPORTANT NOTE: Check the polarity of anything you plug into the sync port. The negative side has to go to GND, otherwise the transitor will always be conducting! So if you measure 2.5V across your flash for instance, the negative lead of your mulitmeter is on the negative side. So connected that to the GND in the plug.

[Download]

Get the source code: snapper-0.1.zip [86k]
Release: 20080101: 0.1 - Initial release, lots to fix still!