Long time no updates. Mostly for the lack of time. But things are going on and progress is made in the background and in gathering tools and parts. expect progress during September!

For now – here is a side project.This is the second and improved model made for my girlfriend after the previous was made for a friend. First – a photo!

So what does it do? It fires either a flash by a cable or Nikon/Canon cameras by IR while being triggered by either  a light sensor or a microphone. It also supports a timelapse mode, where it just triggered whatever you choose periodically. All of that is topped with a USB charging LiPo battery and a cool 80’s style display.

The backbone is an Arduino Nano, connected to all of the triggers/targets. The circuit is this one:

There are 6 basic parts to the circuit:

  1. Microphone input.  Based on an LM358 op amp. the design is taken from here. This is an inverting amp design, but it doesn’t really matter as it’s a sound signal. While the circuit diagram doesn’t show it the actual box has a 3.5mm jack for any microphone.
  2. Light Sensor – A Simple voltage divider connected to the A0 input. Again, the actual light sensor is connected via a 3.5mm jack.
  3. Test Button – connected to the D3 input. It’s pulled up with the Arduino’s built in resistor.
  4. IR Led – Very simple. A led and a resistor connected to the D4 pin.
  5. Flash firing circuit – While initially I used a simple analog switch, I’ve decided to add a photo isolator, so viola! This is also connected to a 3.5 mm jack.
  6. The display – Not pictured in the circuit plan, the display was found here, for 7$. I couldn’t wait until I’d find something to build with this. While the first idea I guess everyone gets is a bomb, I waited for something else 🙂

Another part not listed is the power supply. I’ve went with a SeeedStudio LiPo Rider. More on that to come.

As to code – I’ve used two libraries I found online – One for the display that can be found here, and another to communicate with cameras over IR that can be found here. As for my own code – I’ve tried to make it as fast and usable as possible. It’s divided into 3 main parts:

  1. The main loop – This loop decides if the trigger should be fired and when. It just runs over and over sampling the current trigger until it should be hit. It also fires a flash or communicates to a camera depending on the fire mode. If nothing is to happen it reads the input and calls the second part
  2. Input handling – The second part is in charge of managing input/output with the user. It tracks changes in the input and can switch between different modes (with the left most button) and change values up/down with the right most button.s the second from left button is used to show the current reading of the active sensor to allow for easy setting of the sensitivity field. there are 6 items that can be configured:  Trigger mode (light, sound or timer), Target (Camera, Flash or both), Camera (Nikon or Canon). For TImer mode you can set the timer interval. for the rest you can configure the sensitivity threshold and a minimum delay between shots.
  3. The display code – Shows the proper thing when needed. mostly by an instruction from the input handler
  4. Persistence code – saves and read the settings from the EEPROM on boot / when changed.

The code can be found HERE.

So, the Actual build. Let’s do that with lots of photos. First – one of the earlier prototypes. Some parts have already been scavenged oכf this one.

Here is the soldered circuit. As there is a circuit diagram no need to elaborate.

Here is the bottom. I went with silver strip board as it’s going to be visible and it doesn’t corrode like copper ones. This is my first strip board build and it was much easier than I expected. Will go to this solution again!

Here is the box at it’s initial state. The iPod has been removed! When I saw this box for the first time when getting an iPod for one of my work project I knew it will be perfect.

Here is the display board. Note that 5 pins has been removed in the left connector. in their place we have wires going out the back with a connector. couldn’t use the proper connector as it added thinkness from the front of the board, where I want it against the box.

Here is the LiPo Rider with two of the modifications. as it had only an onboard on/off switch I had to extend that. It also had only a USB output for power so I hooked up to a couple of points on the board that have ground and +5V (shorted to the usb +5V). Works like charm. YOu can also see a modified board next to an unmodified board. I also added a cable for the battery, as I couldn’t fit the batter connector in while putting the board close enough to the edge so you can use the USB charger.

Everything hooked up together for the first time!

Fitting the main board in

And it fits! here you can see the 3.5 mm jacks and the IR led poking out of the box.

Preparing to cut out the USB charging hole with the Dremel. Same was done for the On/OFF switch.

Power board in place. it is held in with Epoxy as it has no mounting holes, and I wanted something that will sit tight in place.

This is the drill pattern for the front buttons. It was 3D printed to make sure everything fits perfectly into place. the buttons them self are also 3d printed.

Almost done! here is the front panel.

Back panel all hooked up

Where have you been all of my life?

All done! hurray!

Till next time!

Advertisements