This project helps record laps when racing FPV, it records lap times and reads them out. The software is opensource and available on GitHib based on the origianl delta5 project by scottchin.
Starting the Services
Changing HTTP port and Password (User Config)
Updating the Timer
Links & References
Pre-configured Ready to flash Image
Flashing the Arduino Nanos (Nodes)
WiFi Antenna Mod – Extended range
In this example, I will be using the RotorHazard fork of this project. It provides a very nice web based GUI and good responsive layout on mobile devices.
Each pilot is given a video frequency to transmit on, Say channel F4 (5800 is the frequency for F4). A single node which consists of one RX5808 video receiver and one arduino nano is then also programmed to listen for activity on F4 5800 and measures the RSSI as pilots pass by the race timer. The timer is calibrated each time the first lap is completed so it knows at which point the RSSI peaks, thus meaning the strongest signal is received from that quad on F4, this is how the timer knows that the quad has passed through the gate where the lap timer is positioned making it accurate and also preventing random lap times being accidentally recorded.
The entire project is python based and runs perfectly on the PI with a web interface for configuring and viewing pilot lap times. I have configured a WiFi AP on the PI with a DHCP server so pilots can connect in field to the timer and view race data. Towards the end of this article is a ready to flash image file wth the server up and running, including the wireless access point and information for the image.
Part 1 – Hardware Setup
Here you can watch a full installation and setup video.
Firstly get all the required hardware ready for assembly. A full parts list can be found below. Some extra hardware for a cleaner installation include female pin headers for easily installing and removing and replacing any faulty hardware further down the line should this be necessary, but are not required.
Hardware required, with links for purchase.
- Delta 5 Race Timer PCB
- 4x RX5808 Receiver modules (SPI Modded) – Usually available on bangood
- 4x Arduino Nano
- RaspberryPI 3 Model B+
- 1x Pololu 5V, 2.5A Step-Down Voltage Regulator D24V25F5
- 1x Pololu 3.3V, 2.5A Step-Down Voltage Regulator D24V25F3
- x15 Arduino Stackable Female Header Pins
- 10x Double Male Header Pins and Jumpers
- 3D Printed Case
- 1x 40x40mm 12v FAN
- 4x Heat Syncs to fit RX58508s
- RaspberryPI Heat Sync Set
Now lets start with installing the hardware. Lets start with the delta 5 PCB. The board is labelled with each components location so its pretty hard to get things wrong. Lets take a look at the delta5 PCB
As you can see, each components location is labelled so the first thing we do is go ahead and start installing the components in the correct location. Start by installing the 1K and 100K resistors.
Next we will install the female pin headers for the arduino nanos and the voltage regulators.
Now, we are ready to install the regulators and the arduino nanos. Make sure you get the plug in the regulators to the correct place, and also the arduino nanos in the correct way round! Using the female header pins allows hardware to easily be switched and replaced should it fail. Also install the 10 2pin header pins and apply jumpers to the pins above the arduino nanos. DO NOT apply jumpers to the 6 header pins on either side of the delta5 board. This will apply power to the arduino nanos. Some people also use female headers for the RX5808s and place a spacer underneath them for support should they fail, making replacement easy. In the example shown, I have soldered the RX5808s directly to the delta5 board.
Now, we have the ardunio nanos, RX5808s, regulators and heat syncs installed. Now we are ready to install the raspberryPI and install the components into the enclosure.
Lets begin by installing the 40x40mm fan! In my case the fan I had was a 12v fan so I was able to wire it straight to the battery supply. If your fan is 5v, just take 5v from the 5v regulator output to supply the fan with power.
Now, we install the RaspberryPI alongside the fan! Using double sided tape to stick down the PI, it fits perfectly in this enclosure. Inserting and removing the SD card is a little tricky, but is possible. I used the same method to stick down the delta5 PCB to the other side of the enclosure.
Thats it for installing the hardware. Now we have both the delta5 board, all the RX modules, the regulators and the PI installed. Lastly wire up a XT60 or alternate power source to the board for power.
With that done, we are now ready to connect the PI header pins to the delta5 board. The delta5 communicates over I2C with the nanos, so we need to wire the nano to the PI I2C bus. This is done by connecting the header pins on the left and the right of the delta5 board. There are 3 sets of double headers on each side of the board, one side is for connection to the PI, the other is for adding an additional delta5 board if you choose to build a 8 node timer. These links are paralleled directly to the other board. If you are only building a 4 node timer as in this example, you will only need to use one side of these header pins! Below is a pinout of the RaspberryPI GPIO headers.
The pins we are interested are pins 4 and 6 and 3 and 5. Working from the delta5 board, we connect the GND to pin 6 and the 5v to pin 4. This supplies the RaspberryPI with 5v to power the PI.
Next we connect the I2C bus. Again, working from the delta5 board, connect the SCL to pin 5 (SCL on PI) and SDA to pin 3 (SDA on PI) and thats it. That is all the required connections between the delta5 board and the PI.
Before powering up I suggest you check the output voltages for the correct voltage to avoid doing any damage! If all goes well you should now have power on the arduino nanos, RX5808s and the RaspberryPI. Continue to page 2 for the software setup and Arduino programming.