Brandon Evans

Building an Intervalometer for the Panasonic GF1

Or, Detonator? I Hardly Knew Her! (Don’t Bring This Through Security)

Monique had the great idea to shoot a time-lapse of our move in together, and I was excited to get to work on a new little project. It was quick that I remembered that my camera (and most others) don’t have the ability to take photos at regular intervals (“Please buy our $50 remote!”). If this wasn’t being done while we were moving I would have just bought an app for my phone but I also figured that it couldn’t be that hard to build a simple timed trigger. After looking at some camera stores and Radio Shack for an intervalometer I ended up buying a 555 timer, 2.5mm plugs and some pushbutton switches at RS to build my own.

Panasonic uses a voltage divider and a 4-conductor 2.5mm plug for remote triggering. I found a basic schematic of Panasonic remotes here. I couldn’t find a 4-conductor plug at RS (Mouser and DigiKey both have them) but you can use a 3-conductor plug and just not insert it all the way. That guide mentions that you can use common resistor values in place of the strange values mentioned (Panasonic, you jerks) but I just put resistors in series to get closer to the spec values.

The basic premise of the circuit is to use the 555 timer to output high at regular intervals (10s, 30s, etc.), activating a transistor which serves as a switch closing the “shutter” portion of the voltage divider and triggering the shutter on the GF1.

The 555 is being used in astable mode, which will generate a square wave with regular intervals. There are independent time spans for the output being high and low, and using a diode across R2 allows the delay between high signals to be longer than the length of the high signal itself (i.e. a duty cycle of less than 50%). I set the interval between shots to be about 15s, and the trigger itself lasts about 1s (to make sure that the camera fires, and I put it in single-shot mode to prevent duplicates). The values that gave me those times are a 22µF capacitor (C1), 10kΩ for R1 and 1MΩ for R2. You can adjust the interval between shots with R2, and it’s linear.

There’s a schematic up on Circuit Lab here:

I can’t see myself using this very often but it’s a useful little device to have around. The pushbutton allows manual triggering of the camera if you need a shot on the fly, and the LED lights up when a shot is triggered by either method. Everything fits nicely in a little tin I had laying around and will probably last forever on the 9V battery. Timing circuits based on charging a capacitor are generally imprecise for long intervals, but for my uses it works just fine. I might move the circuit onto perfboard and add a linear potentiometer (I only have log ones right now) to adjust the timing without swapping resistors if I feel the need.

Amplifier Update: Touch Part II, Being Tidy and Not Breaking Things

I swapped the touch IC in my amplifier project from the QT1106 I got from Rachel’s Electronics to a MPR121 from Sparkfun. There were two reasons for this: You can’t buy a QT1106 after Atmel bought Quantum (the original manufacturer) so it’s hard to find a supply or even one more of them. More importantly, I fried the QT1106 when I shorted out the LED board a few months ago so I had to choose something.

I’m starting with the Wire-based code from Bildr's tutorial, which uses the standard I2C pins on an Arduino. I looked into using the softI2CMaster library from fat16lib so I didn’t have to use the hardware I2C pins but decided it isn’t yet worth the time to port the code.

The MPR121 is a 3.3V chip so you need to use a level shifter to connect it to a 5V Arduino. I found this great circuit to do just that, and I used one of the transistors on each of the SDA/SCL/IRQ lines. SparkFun uses level shifters in their Arduino shield version on only the SDA and SCL lines, which makes sense because the IRQ will still register high on the Arduino and isn’t bidirectional. Bildr’s tutorial doesn’t use any level shifters which will  work but isn’t a best practice for the longevity of the MPR121. Doing it on all three lines might be overkill, YMMV.

Something I’ve learned working on the project, especially after breaking almost everything, is to be tidy when you’re prototyping. Looking back at the first stages of the breadboard, it’s almost comically messy. I didn’t trim component leads and they stuck up like aerials, I left wires to the board longer than they needed to be, it was hard to operate on and laborious to trace connections. Now that components are arranged neater and they sit flush with the board, it’s easier to trace connections and rearrange components. It’s also easier to visualize the space that circuits are occupying and will likely occupy when on a PCB.

The other lesson is to never touch anything that’s powered (duh). You might not hurt yourself, but you could still very easily kill hundreds of dollars worth of equipment. And after you kill hundreds of dollars of equipment you need to build it all again. The easiest way to get the circuit up and running quickly is to have more of the components that you need ready to go. Mouser and Digikey both charge $20 flat rate shipping, and it’s fast too, but it adds up quickly when you need to make five orders instead of two. I’ve now broken two Arduinos, and I’m using #3 while #4 sits by in case I need it. Yes they’re $30 a piece, but that’s not much more than the cost of shipping alone.

I’m looking forward to having more time this summer to finish up this project, especially to see the electronics produced and put into the enclosure.