Development introduction to EasyRaceLapTimer
During this summer, I wanted to track lap times on small FPV racing events with our team. So the obvious approach was to buy an existing system but they were too expensive in my opinion. I’m not saying that they are too expensive in general but for me they were. So I decided to develop my own system, which is now called EasyRaceLapTimer.
First field tests
After fiddling around for a few days with an Arduino and it’s IR-Library, I was able to send a stable IR signal to another Arduino Board. I thought, yeah that’s it! I’m done. Boy, was I wrong! The IR signal was to weak to get transmitted over a distance of 1-2 meters because the Arduino’s mA output was too low. You have to know, my knowledge of electronics was little to nothing in this area. So, it took me another few days to amplify the IR signal output.
Second field tests
When the IR distance problem got solved, I went out to try the solution with my quad. The firsts tests with improved IR transmitting distance was successful but there was now a new problem. IR signal speed was too slow for the quads. If you would pass the IR signal receivers too fast, the encoding could go wrong because not all bits got transmitted correctly. Damn it! The protocol I was using (RC6) was transmitting too long.
FIRST SELF SOLDERED IR TRANSPONDER, THAT’S THE VERSION USING THE TRANSISTOR FOR INCREASING THE IR RANGE.
The desktop application
Instead of solving the transmitting speed problem, I started to code the desktop application for handling race events, pilots and decoding the IR signal. This was no problem and I was ready in little to no time. But there was still the transmitting speed. Days and weeks passed without any development. Flying with the team was more fun than developing in your free time.
The second approach
During october, when the weather was not so good any more to fly each day or weekend, I decided to continue developing the race lap timer. My thoughts this time were, that it’s nice to have a desktop application for tracking the lap times, managing the pilots etc. But you would have to carry around your laptop all the time. Then I remembered that I have a raspberry 2 lying around. A few hours of research later I decided to use the Raspberry 2 and it’s GPIO pins to decode the IR signals. Another decision was to get rid of the desktop application and write a RubyOnRails application with a small C++ daemon based on QT for decoding and managing race events, pilots etc. This was the way to go.
MY LOCAL DEVELOPMENT LAB: RASPBERRY PI 2, A SMALL OWN SOLDERED PDB FOR THE IR SENSORS INCLUDING A BUZZER, AN ATTINY85 TRANSPONDER IN THE UPPER LEFT CORNER
With this new approach, you’re able to carry arround a small package to track your lap times, manage everything and view stats with your mobile phone. You only have to put a small WIFI stick to the Raspberry and you’re ready to go.
There a still a lot more tales I will write down for you in the future regarding the development of EasyRaceLapTimer. But for now, let’s go the current facts of the development.
The current version of EasyRaceLapTimer works. Yes, I used it several times in the fields.
Current features are basic management of race events and pilots. Defining your own logo for the monitoring mode (e.g. checking race stats with your mobile phone ). The C++ daemon for decoding the IR signals will be extended in the future to support more IR transmitters than only the EasyRaceLapTimer transmitter.
You can find in the GitHub repository schematic files to build your own IR transmitter. All the GPIO wiring for the raspberry can be also found there. The documentation is not complete yet but what you find in docs folder should be complete enough to build your system from the ground up.
ATTINY85, THE MICROCONTROLLER RESPONSIBLE FOR GENERATING THE IR TRANSPONDER PULSES.
The next steps will be completing the documentation, writing a complete setup guide and getting the current version as stable as possible. I hope lots of people are interested and willing to volunteer in some way. This project is completly open: open hardware and open software!
How many IDs does the current version support?
At present, 15 IDs are supported. Maybe, we will increase the IDs to 31 or more. It’s just a software thing and you will be able to update your transponders to the new software version! Yes, all transponders will be updatable 😉
If you don’t want to solder and program your IR transponders on your own, you can pre-order factory manufactured PCBs from us, so that you’re transponder will looks good 😉
A transponder consists of the following parts which will be in the package:
- the PCB for soldering all the stuff on to
- the IR led
- one transistor
- ATTiny85 microcontroller with an IC socket
The ATTiny85 will be programmed by us for you. One transponder package will cost about 10-15 € including tax. If you are interested in one or more just sent us an email with how many you want (max 15 pieces). You don’t have to sent the money before, you don’t have to pay for the transponders when we receive them if you don’t want them anymore. We only want to know, how many people are interested in transponders for the first badge. And of course, you can solder them completly on your own! Why? This project is completly open!
See ya next time in the development log #2 😉