This project aims to create a low-cost, high-accuracy GPS Lap Timer for racing purposes.
1 year ago, my 11 years old son started GoKart competition. As an engineer, i am always looking for new challenges, that’s why i decided to create my own GPS LapTimer – I Know, MyChron or Alfano Lap Timer already exists, but, even if i have never used them, they are expensive – And why buy something that i can build and program?
So, to answer to the question “Did i manage to build a reliable and high-accuracy GPS Lap Timer?” YES, i think i did it. And here is the result:
EDIT: I renamed it FoxLAP. LapKiller as you see it on the screenshots is no more used.
See what it looks like in this short video:
The device used to make this video has been used by my son for several months. It’s not a brand new device out of the box, but you see what it looks like after being used for real.
1- Reliability tests
Ok, i know what you are thinking… “he made something cheap but i think it will not be as reliable as MyChron or Alfano or Speedhive”. In fact you are wrong. Let me show you (if you are still here) how reliable this little device is:
Here are the lap times from the same race session recorded by both a Speedhive myLaps transponder fitted to my son’s kart and my homemade Lap Timer.
The highest gap is on lap 5 with a 0.012 second gap. Not bad, i think. Times recorded under heavy rain and wind.
I made a dedicated data analysis tool directlty working with the device:
Already more than 1400 GoKart tracks automatically recognized by the GPS LAP Timer
- 25HZ high-accuracy GNSS: GPS position updated every 40 milliseconds using a ublox GNSS receiver.
- Replay: play saved sessions on the device and see how fast was your lap
- Multi user: User interface to manage users (creation, selection)
- Multi-engine measurement on the running time of your engines.
- Real time speed, bearing, position on track monitoring
- Track auto detection based on your location
- Gopro compatible: paired with your gopro, FoxLAP will start the video recording when you cross the start line and will stop the video record at the end of your session. You will be able to see your laps in video synchronized with the recorded data with the online tool.
- Wifi server: Transfer your sessions data to your computer/mobile over wifi. (GPXRender, the software i made to analyze GPS data is able to directly connect to the LapTimer device).
- Synchronize recorded data with the dedicated online tool i created where you can store your sessions and analyze your data
- RPM and water temperature sensors
- An 8Gb sdcard: 1 session file is 1.5 MB on average. So 8Gb will let you store 5500 sessions before running out of memory (you will be forced to delete your old vintage sessions on the device)
This GPS Lap Timer is based on an ESP32 board – A low-cost, low-power system on a chip microcontrollers with integrated Wi-Fi and dual-mode Bluetooth. The dual-core Tensilica Xtensa LX6 microprocessor is a major advantage for the goal. In fact, one thread is dedicated to monitor the GPS position without any interruption. A 3500 MAH 18650 battery allows to record several hours of data.
Bill of materials
EDIT: outdated – this project is no more using dev modules, dev modules are ok for development but absolutely not OK when you want something reliable across time (VIBRATIONS is the enemy). I made a dedicated board to run this project. The board is still powered by an ESP32 (if it ain’t broke, don’t fix it). Regarding price, it still cost a fraction of the price of the other GPS Lap timer available on the market.
The plastic box enclosure is a 3D printed model i created with blender. It can be printed by yourself. On my side, i decided to make it printed by professionnals as the result is way better.
Here is a video showing how to setup the device on a goKart. This is my son’s gokart, OTK with rotax J125 engine.
This is the end of this small presentation of my attempt to create a low-cost, high-accuracy GPS Lap Timer for racing purposes.
I don’t know who other than me finds these kinds of projects interesting, but it was a lot of fun doing it. Leave a comment if you have any questions about this project…
May 2023: update
– RPM and temperature sensors are ready
– I have made a dedicated Board for this Lap Timer. Important for reliability, there is a lot of vibration and self made soldering may be a problem. i just received the first boards and they are working like a charm
– I am producing 10 units, that will be tested by young (and some less young) drivers in my area. I’m pretty sure i will have some interesting feedbacks in order to improve this little device.
– This device is able to connect to any wifi hotspot (your mobile phone can be a hotspot); so the device will send automatically your sessions and synchronize to your account on an online tool i have made (still working on it but almost done). Settings, tracks, data anaylzer are directly on the website – the device is synchronized with your account – i think it’s nice. here is a demo (Work on progress):
June 2023 Update:
final correction on the RPM sensor…
July 2023 Update
– working on a new board version including gyroscope and accelerometer.
– I have worked on the data analysis tool to configure sectors and see sector times. What do you think about that? what do you think would be interesting to add ?
We will be at Kartmag Trophy that will occur on 18-20 august 2023 at Varennes sur Allier (FRANCE). my son will race in Rotax. Maybe some you will be there too.
September 2023 Update
back from a big race event, it was obvious for me that i had to improve the data analyzis tool. We were discovering the track, only few sessions for practice. So here’s what I added that would have been nice to have during the event:
– real time gap between laps,
– save/load laps from different sessions
– and of course video overlay. i know during the race, video is not allowed but during practice sessions, it is allowed… and it helps a lot
November 2023 Update
1- I tested installing both an Alfano 6 and my device on my son’s goKart and recording the same session. Both with RPM sensors. I wanted to see if the recorded RPMs were the same. Here is the result :
– Brown: Alfano RPM record
– Blue: My Device RPM record
RPM recorded are almost exactly the same. Alfano pick a value every 100ms, i pick a value every 50ms.
2- i’ve made different box enclosure models. One without external sensors for Rental gokarts (only GPS inside); One for those who wants to get the GPS sensor inside the device but with external sensors (temp/rpm); and one with external sensors (temp/rpm) + external GPS sensor.
What i can say for sure is that external GPS sensor is better, the signal is better and when it’s time to upgrade the GNSS module for a newer and better version, you don’t have to buy again a complete device… you just have to plug your new GNSS receiver and that’s all. On my side i use the external GPS sensor (for all the reasons already explained).
3- I’ve made complete tests with water. The device must work under heavy rain and must not be damaged, i’m sure you agree. The first test was not good, after several water exposition (deliberately outrageous tests), some units have suffered small water infiltrations. I had to correct this issue. After modifications, the second test was more conclusive and I didn’t see any faults. The test consists of leaving the device in the shower with a high flow rate 🙂 i have to conduct more tests like impact resistance – i plan to drop a unit from 20 meters high and see what happen 🙂
4- Water resistance update: November 14th. We are coming back from a race week-end under heavy rain. No issue at all with the lap timer 🙂
Another November update
- There is already more than 1500 tracks automatically recognized. If your track is not recognized, the device is able to “learn” a track if you drive on it for 1 lap. But i have not enough feedback on this functionnality – ok – i have tested it on 4 or 5 different tracks but it’s not enough to validate and maybe it can be buggy in some cases not yet encountered.
- That’s why i added a simple tool to create your custom tracks. less than 5 minutes to add a new track on the laptimer.
- You can see it in this video:
I need encouragement I think, I’m tired of this project. any kind message is appreciated
Confirm your interest in getting a device from us: