kbennett2000 / rc-lap-timer

Free, easy to use lap timing system for casual RC racing in your basement, parking lot, or backyard!
0 stars 0 forks source link

šŸ RC Lap Timer šŸŽļø

Looking for a free, easy to use lap timing system for backyard, parking lot, or garage RC racing? I created RC Lap Timer just for you! Transponder-based RC lap timing systems can be expensive and don't always work well with temporary tracks. RC Lap Timer is a lightweight, free alternative that enables casual RC racing without expensive equipment.

RC Lap Timer has two modes of recording laps, UI mode and Motion Detection mode. UI mode works with two people: a driver and a timer. While one person drives, the other records lap times as the car crosses the start/finish line. Motion Detection mode only requires a driver. It uses a camera on your phone, tablet, or laptop to detect when the car passes by, and records a lap time each time the car passes.

Motion Detection mode is great for single drivers and practice sessions. UI mode allows each timer to time a different driver, and is ideal for situations where you want to have more than one car on the track. UI mode also supports "penalties", Motion Detection mode does not.

NOTE: This app is designed for casual racing and fun competition. While it's great for backyard racing and practice sessions, it's not intended to replace professional transponder-based timing systems.

RC Car

Feature Overview

Watch this short video to understand how RC Lap Timer works and some of the features available. If you like what you see, follow the instructions below to get started!

YouTube Application Overview Video

šŸš€ Setup Instructions

This application is designed to run on a Raspbery Pi Zero 2 W.

No other Raspberry Pi models are currently supported!

Running from a Raspberry Pi Zero 2 W allows for the creation of a wi-fi network (rc-lap-timer) that you and all your friends can connect to. Drivers, their cars, timing session results, and configuration settings are all stored in a MySQL database on the Pi. These instructions will guide you through writing the RC Lap Timer image to a microSD card for use with your Raspberry Pi Zero 2 W.

Required Materials

Optional but Helpful Materials

Windows Instructions

macOS Instructions

Linux Instructions

After Writing the Image

certificate warning image 1

certificate warning image 2

šŸ“Š Usage Guide

Adding Drivers, Cars, and Locations

Before running any timing sessions you will need to create at least one driver, create at least one car for that driver, and create at least one timing session location.

Timing a Session

Once you've created a driver, a car for that driver, and a location you can record a timing session. Begin by configuring the new timing session.

Configuring a Timing Session

Announcements

selecting announcement options

When configuring a new timing session can choose to enable lap announcements and lap beeps.

Enabling Remote Control

selecting remote control mode

If you're driving by yourself remote control can be a handy option. This option allows you to setup your camera device (phone, tablet, laptop, etc) to be used with motion detection timing. Then, from another device on the same network you can submit a timing session request. Each request contains a driver, a car, a location, and a number of laps. Once the 'Enable Remote Control' option is selected the camera device will listen for any timing session requests. When a timing session request is received the camera will be enabled and a new motion detection timing session will start. This prevents the driver from having to walk out to the camera device and back each time they want to start a new session.

It is important to ensure your camera device is properly placed and configured before using this option!

NOTE - If you're using a phone or mobile device as a camera recording device you want to make sure the screen does not timeout / lock during a session. Apps such as 'Screen Alive' for Android can be helpful as they prevent your device from timing out, turning off, or locking for extended periods of time.

Driver, Car, Location, Number of Laps

selecting driver car location number of laps

Once you've selected the timing mode you want to use for the current session, select the driver being timed, their car, the location, and the number of laps being timed. Selecting an Unlimited number of laps will require the driver or an observer to manually end the timing session. Selecting a fixed number of laps will cause the session to end automatically once the last lap has been recorded.

Timing Mode

selecting the timing mode

The application supports two different timing modes, UI mode and Motion Detect mode.

ui mode controls

Selecting the Time Using UI option displays four buttons:

Selecting the Time Using Motion Detection option will enable motion detection mode.

NOTE - The first time you use camera mode you may get a confirmation message. Select the option to allow use of your device's camera.

camera permissions warning

Camera Controls:

camera controls

Motion Detection Settings:

NOTE - If you change any of these settings while the device camera is on, you MUST stop and restart it for the new settings to take effect.

Recent Sessions

recent sessions

The three most recent sessions can be viewed at the bottom of the Current Session tab. You'll see flags incating the Fastest Lap, the Slowest Lap, and the Lap with the most penalties. If you wish to delete a recent session, use the Delete icon and confirm the deletion.

Navigation Tabs

bottom navigation

The tabs at the bottom of the screen can be used to navigate to different areas of the application. We've already looked at the Current Session tab, the rest are detailed below.

Session Management

Current Session Stats

current session tab

Session Request Form

requesting a session

Previous Sessions

previous sessions

Best Laps Comparison

best laps comparison tab

Session Comparison

session comparison tab

Session Notes

session notes tab

Application Configuration

application configuration tab

Use this tab to perform the following administrative functions:

šŸ› ļø Development & Contributing

Contributions are welcome! Please follow these steps:

Happy Racing! šŸŽļø