I’m usually closer to Siri than the light switch, so I made something that’ll let me talk to my lights. Read more about it here.
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.
I put in some time last night working on my amplifier project again after I had received all of the remaining ICs and parts I need for the electronics late last year.
One of the decisions I made was to have multiple inputs – a default for an Apple TV (or insert media box) and auxiliary (via minijack and Bluetooth) - and therefore a method of switching between the two. I don’t want to have any physical interaction for input switching when the use case is so clear cut. The default input is always the chosen input unless you want to play music from a phone or iPod (through minijack or BT) at which point it will switch automatically by detecting the signal. It should be (and is) smart enough to do this on its own. There is even a delay before switching back to the default input to accommodate song transitions.
I was able to modify Rod Elliot’s Signal Detection Circuit, originally designed to toggle power to a subwoofer, to run on a 5V supply by using a LM358N dual op-amp and 2N3904 transistor and changing some of the resistor and cap values. I especially like this circuit because it allows the logic to be contained within a few chips in the analog section and doesn’t need to involve the Arduino or any of the digital components. It toggles the output high when a signal is detected and this goes to a diode OR gate (to be combined with an “active stream” signal from the BT board) and on to a Maxim MAX4616. The Maxim chip is a 4xSPST analog switch that works perfect for this application (toggling between two inputs) because 2 of the switches are normally open and the others normally closed. Also, it’s available in a DIP package that makes it easy to prototype, something that’s hard to find for this type of IC.
- Solder the BT breakout board, hook it up to the summing op-amp and add it into the mix (so to speak)
- Solder all of the LEDs and the two drivers to some stripboard to prototype
- Troubleshoot until my eyes cave in
Testing resistor and cap values in Rod Elliot’s signal detection circuit. On an iPad.
I got some light diffusion film in the mail from Inventables. It’s a very cool website that serves up materials, components and tools that are hard to purchase on the small scale that DIYers usually operate on. I was impressed when the CEO followed up with me via email to find out what I was working on.
- much less noise making its way into the analog circuits
- low-power sleep mode
- 110 (!!!) LEDs and another driver
- shift register
- Bluetooth audio
- PCB design and testing
- the enclosure
“Hey I saw your paint job on the #bike thread on tumblr. Looks awesome! I was tryin to go for a chrome or silver for my own. How did you do it? (paint type, coat, precautions)? Thanks in advance and great blog!”
Hey man, thanks for the kind words. I’m not an expert by any means but painting comes down to these steps:
(The 4 Ps! Watch as this non-expert pares this down to 4 easy steps.)
Prep: The frame I have was painted by a previous owner (poorly) so there was a total of four coats on it already. I took everything off of the bike except the bottom bracket. I hardly had to mask anything and it was easy to paint the tight spaces, but I needed some special tools. I spent some time stripping it down to bare steel, which took a lot of elbow grease with some stripper and steel wool. If you just have the factory paint job you can get away with scuffing it up with some 400 grit sandpaper. I masked off the brake mounts, the inside of the seat downtube, anything threaded and the bottom bracket and spindles. I hung the frame by a dowel through the headtube with some ropes from the rafters in a garage. The fork fit onto the end of the dowel. If you don’t disassemble the bike, I’ve seen some people turn it upside down and mount the seat tube on a vertical pipe of some sort. Wipe everything down with a clean damp rag or a tack cloth to make sure it’s free of dust and oils.
Prime: Grab a few cans of grey primer and do a bunch of light coats. Do one, wait ten minutes, do another, wait, then one more. Let it cure for a day or two. If you’re painting over a stubborn colour you’ll want to repeat the primer step so it blocks it.
Paint: I sprayed a separate colour and clear coat from spray cans formulated to be used on metal surfaces. I sprayed some light coats of white, waited, and then one heavier coat to get a nice gloss. It’ll take some experimenting to see how slow you need to move the can before it’s coating enough. Too fast and you’ll get rough “orange peel”, too slow and you’ll get nice glossy drips. I followed that process twice for the white colour coat and then did a wet sand with 1000 grit paper. This will help remove any rough spots or “orange peel” texture before you move to the clear. It’s just a light wet sand though, so don’t use too much pressure. Be prepared to do some touch up spraying if you go through the colour coat. (Or ignore it like I did.) Finally I sprayed two coats of glossy clear.
Polish: Today I went and bought some 2000 grit paper and some polishing compound so that I will be able to finish the bike once the clear coat cures. The sandpaper will remove any orange peel in the clear but leave you with many fine scratches. The polishing compound will take out those scratches and leave you with a nice glossy finish.
Ta-da! Send me a photo when it’s done.
That’s a 120V mains plug in a cardboard box and a switching power supply, which I’m happy to report did not cause any fire or death when they were plugged in for the first time.
The preamp section is the next part to be wired up and programmed now that I’ve got -5V.