Background information

Someday in February 2016 I was asked to watch a tutorial video of an automatic camera trigger by a friend of mine. He is actually a photographer and wanted me to reproduce the circuitry shown in this specific tutorial for him. Thus, I started to familiarize myself with all the components that were used.

The whole build shown in the video was actually very sophisticated — at least that is what I initially thought. The author used a 5 mW laser module that fires onto a light-dependend resistor (LDR), which in turn is read by an Arduino Uno that triggers the camera. Everything was packed into a custom Lego housing. Nothing extraordinary at first sight.

However, at a later point — when reviewing the details of the circuit — I recognized some major flaws within the schematic. Thus I will not even link the abovementioned video here; not because I don’t want to share credit, but due to those errors (I will mention them later) and because the video itself is not freely available anyway. It should be said that using a microcontroller is very easy with Arduino these days, but that does not make everyone an electrical engineer.

Step 1: The assignment

Deriving from the tutorial video I figured the major components of the project to be:

  • the sensor that recognizes an object
  • a microcontroller unit that reads the sensor and triggers the camera
  • a method to control the delay between recognition and shot.
  • an easy to use power supply
  • a housing

Step 2: Analysing the existing solution

Let’s dive a bit deeper into each of these points. First of all the most important part, which is the sensor circuitry. The original build features a laser-module with 5 mW of power. The beam of this laser is directed to a light-dependend resistor. If an object blocks the beam between the source (laser) and the sink (LDR), the output of the LDR — which is actually part of a voltage divider — changes. This analog voltage can be captured by the Arduino Uno and is used to request the trigger impulse.

Although money wasn’t a limiting factor I found this solution to be kind of overpowered. The laser-module can actually cost about 20€ and the Arduino board is somewhere between 20€ and 30€. That is nearly 50€ for just these two components. It was only logical to search for a cheaper solution.

I had to get rid of the laser based solution, so instead I thought of using a bright LED. One notable thing though is, that LDRs are quite “slow” components. Their resistance changes according to light-input, but it can easily take a second to go from the so called “dark resistance” to the full light resistance value. Further, LDRs often recognize a broad spectrum of light, so the environment adds some noise to the measured voltage. With the laser-module these problems are more or less off the table because the powerful beam makes up for environmental light noise. Thus, I had to get rid of the LDR, too.

The ATMega328P microcontroller featured on the Arduino Uno board does a great job. However, the main issue is the size of the board itself. The chip manufacturer Atmel offers smaller, nearly compatible microcontrollers with their ATtiny series, so I chose one of them and created my own, specific board. Another option would be to buy a different Arduino-based board, but I had those chips lying around.

Next on the list was the camera trigger. The original solution used one of the controllers digital pins — which can output 0V or 5V — to trigger the camera with a 5V pulse(!). This solution works just fine for the video creator, but one has to ask himself how the mechanism within the camera works in the first place. A remote trigger switch consists of two wires coming from the camera and a switch that connects those two. One line/wire is fed with a voltage of about 1V to 3V by the camera (Note: I noticed a voltage fluctuation...

Read more »