Building an electronic starting device

This is the ”nerdiest” entry in the blog so far 🙂 But if you are prepared to do some basic electronics wiring and maybe some very simple programming, you will be rewarded by being able to start SprintTimer with high accuracy by any mean imaginable (light, IR, pressure, switches, etc). It also allows you to add other start signals like strong sound, light flashes etc. If you do not feel up to it yourself, you might have a friend, student or athlete who thinks it is fun to tinker with a project like this.

Some examples of what it can be used for:

  • The clock starts by a switch in the start gate of alpine skiing, dog racing, etc.
  • An electronic start gun that plays a strong sound and starts SprintTimer at the push of a button.
  • Lights in front of hearing impaired runners.
  • Pressure sensors or accelerometers that detect a false start.
  • Long range radio to send the start signal more than 1 km.

The idea is to send a signal to the microphone port that SprintTimer will interpret as a sound and start the clock. Below two separate solutions are presented, one that uses a simple tone generator and one that uses an Arduino microcontroller. The tone generator is very cheap (components under $1) but can only be connected to a switch. The Arduino cost a little more ($20) and require a few lines of code, but is even simpler to wire and gives much more flexibility.

But before we go into each solution, there is an iPhone/iPad specific part that is common to both. You need a 3.5 mm audio plug, male, with 4 connectors (TRRS) to plug into the headset port in the iPhone/iPad (more about those plugs in the ”long sound cable” post below). The plug should be connected to the Arduino/tone generator output like this:

arduino1

The two resistors R1 and R2 are very important! They are there to protect the iPhone by lowering the input voltage, and to simulate the presence of a microphone. The iPhone expects a microphone impedance of around 2 kOhm (2000 Ohm) to turn off the internal microphone and start using the external. This means that R2 above should be about 2 kOhm (I have successfully tested both 2.2k and 1.5k). Secondly, the microphone port expects something below 20 mV and the iPhone will not take kindly to 5V or more from the Arduino or tone generator. This means that the R1 resistor must be 300-1000 times larger than R2.

Arduino
I choose Arduino because it is cheap, easy to program and available everywhere. There are also thousands of web pages with useful tips and tricks to draw from. But you could, of course, use other microcontrollers or microcomputers like Raspberry Pi. If you are not familiar with Arduino I recommend you to try out some basic tutorials first.

arduino3

I chose port 8 to be the output and connected it to + the sketch in fig. 1 and GND to GND on the Arduino. I used 600 kOhm for R1 and 1.5 kOhm for R2. To test the device I wrote a very simple program and uploaded it to the Arduino:

void setup() {
}

void loop() {
  tone(8,500,100);
  delay(2000);
}

The tone(8, 500, 100) command plays a 500 Hz tone during 100 ms at port 8. The delay(2000) means that it waits 2000 ms, i.e. 2 s, before playing the tone again. You can now start SprintTimer and go to Photo Finish. Choose microphone in the start setup and go back to the start page. Plug in the audio plug in the headset port. The soundbar should now jump almost to the top every two seconds but show nothing in between. It should also be completely insensitive to other sounds.

The next step is to add an input to the Arduino to trigger the start. For example, you can add a simple switch that works as a push button. The Arduino should be protected by 10 kOhm resistor.

The Arduino code to check the switch and send a start:

int switchState = 0;

void setup() {
  pinMode(2,INPUT);
}

void loop() {
  switchState = digitalRead(2);

  if(switchState==1){
    tone(8,500,100);
    delay(2000);
  }
}

The whole setup is shown in the first image above. If you add sound output, you will have an electronic starting gun. There also loads of other sensors available that you can attach without much more work.

The possibilities are endless, and I would love to hear about your projects.

Tone generator
If you only need to start with a switch you can do without the Arduino and the programming by building a simple tone generator. This is a circuit that sends out a steady tone when it is switched on. It can be built around a simple and very cheap (<$1) chip called NE555 and a few capacitors and resistors. The circuit could look like this:

arduino5

Port 3 is the output and is connected to the audio plug via R1 and R2 (as in fig 1 and the Arduino case). I used the following components:
R1 = 1 MΩ
R2 = 1.5 kΩ
R3 = 10 kΩ
R4 = 100 kΩ
C1 = 10 nF (0.01μF)
C2 = 10 nF (0.01μF)

The switch turns on the power, and the circuit sends a continuous sound to the audio plug until it is turned off again. In the picture below the switch is the simple black push button at the top. But you can use any type of switch that fits your need.

arduino4