Checkpoints

Platform: 🖥️📱 Desktop & Mobile

See also: Classes, Courses & Maps, Event Monitor, Announcer's Window, Online Control Mode

When you need this

You're organizing an event where you want live split times at intermediate points along the course — a radio control in the forest, an arena passage, or a spectator-friendly crossing. Checkpoints let you track where participants are during the race and feed live data to the Announcer's Window and Event Monitor. You also use checkpoints when you need a separate timing point for start or finish that isn't handled by the main timing station.

How checkpoints fit into the workflow

A checkpoint is linked to a control code on the course. When a participant punches that control, the system records a passing — a timestamped record of the participant at that checkpoint. Passings are collected from the timing devices you link to the checkpoint. The devices you link here are the phones running Online Control mode in the field, or Raspberry Pi units placed at the control.

The system uses passings to calculate split times and intermediate positions. These appear in:

  • Event Monitor → Split Times tab — a real-time feed of checkpoint passings, filterable by checkpoint, showing time, checkpoint name, chip, class, participant, and club
  • Announcer's Window → Checkpoint selector — filter the announcer view to show only participants who have passed a specific checkpoint, with their split time and position
  • Announcer's Window → Show all checkpoints — when a class is selected, expand the view to show all checkpoint columns with split times side by side

The checkpoints you configure on desktop are what the mobile app connects to when a phone enters Online Control mode. The phone reads punches in the field and sends them back to the server, where they appear as passings under the linked checkpoint.

Adding a checkpoint

You've set up your event and defined courses with controls. Now you want to designate one of those controls as a live timing point.

Click Add checkpoint to create a new checkpoint. Each checkpoint has:

  • Checkpoint name — A descriptive name (e.g. "Radio control 1", "Arena passage"). This name appears in the Event Monitor and Announcer's Window, so pick something your announcer and timing team will recognize.
  • Checkpoint type — Choose from:
    • Start — When a participant punches this checkpoint, the system records a start time for the participant.
    • Finish — When a participant punches this checkpoint, the system records a finish time for the participant.
    • Checkpoint — Records an intermediate split time. This is the most common type.
  • Checkpoint control code — The control code on the course that triggers this checkpoint. You can select from the controls already defined on your courses. When a participant punches this control, the system records a passing for this checkpoint. If you don't select a control code, you can instead manually select which classes use the checkpoint.
  • Linked classes — Which classes use this checkpoint. If you selected a control code, the system automatically links classes whose courses contain that control. If you didn't select a control code, you can manually pick the classes.
  • Linked devices — Which timing devices are connected to this checkpoint. Link the devices that are physically placed at this checkpoint location. When a device reads a punch, the system matches it to this checkpoint. See Using devices at checkpoints below for details on supported device types.

Tip: Name your checkpoints by location rather than control number — "Arena passage" or "Lake crossing" is easier for your announcer to work with than "Control 47".

Using devices at checkpoints

You've created a checkpoint and now need to connect a timing device in the field so that punches are sent back to the system in real time.

You can use different types of devices at checkpoints to collect passings:

  • Navisport mobile app (Android) — Open the Navisport mobile app on an Android phone. Tap the event you want to time, then select Online Control from the mode menu. The app connects to the event and starts sending passings from the phone's connected reader. The app screen shows event details and connection status. The app keeps the screen on automatically and dims brightness to the lowest level after 20 seconds of inactivity to save battery. Do not manually close or lock the phone.
  • Raspberry Pi (Jouni Aaltonen) — A Raspberry Pi with Jouni Aaltonen's custom Pi image can be used at checkpoints. To set it up, find your computer's IP address and configure the Raspberry Pi to open a UDP connection to your computer's IP on port 50000. Verify on the Event Monitor's Devices tab that the device is connected to the correct event. If it is not linked, you can double-click the warning icon to link it, or open the device details to change the active event.

Both device types appear in the Linked devices list when creating or editing a checkpoint. They also appear in the Event Monitor's Devices tab where you can see their connection status and battery level.

Tip: Test your device connection before the race starts. Create a test punch and verify it appears in the Event Monitor's Split Times tab. You can delete the test passing afterwards.

Linking checkpoints to classes

You have multiple classes on different courses, and you need to control which classes show split times at which checkpoints.

Each class can have one or more checkpoints assigned to it. You can assign checkpoints in two ways:

  1. By control code — When creating a checkpoint, select a control code. The system automatically links the checkpoint to all classes whose courses include that control.
  2. By manual class selection — When creating a checkpoint without a control code, manually select which classes should use it and specify the distance from start.

For relay events, you can also select which legs the checkpoint applies to.

Tip: If several courses share the same control code at different distances, linking by control code still works — the system calculates the correct distance for each course individually.

Checkpoint distance

When a checkpoint is linked by control code, the system automatically calculates the distance from the start to that control based on the course's control-to-control distances. This distance is used for display purposes in the Announcer's Window — it helps the announcer understand how far into the race each split time represents.

Viewing checkpoint data during the event

The race is underway and participants are passing through your checkpoints. Here's where you see the data:

  • Open the Event Monitor and go to the Split Times tab to see a live feed of all checkpoint passings. You can filter by checkpoint and search for specific participants.
  • Open the Announcer's Window and use the Checkpoint selector in the settings panel to filter by one or more checkpoints. When a class is selected and has checkpoints, enable Show all checkpoints to see a full split-time table with all checkpoint columns.

Public results website

Spectators and coaches following the event online can also see checkpoint data. When an event has checkpoints, the Results page for each class shows checkpoint columns with the participant's time and position at each checkpoint. If a participant is still on course, the system uses checkpoint passings to estimate their progress.

Deleting checkpoint passings

A test punch was recorded before the race, or a device error created a false passing. You need to clean up incorrect data.

Individual checkpoint passings can be deleted from the Event Monitor's Split Times tab. This is useful if a passing was recorded incorrectly (e.g. a test punch or a device error).

Putting it together: timing a radio control at a forest event

You're organizing a forest orienteering event with 200 participants across 8 classes. You want live split times at a radio control halfway through the course, so the announcer can give commentary and spectators can follow progress online.

  1. Set up courses first — In Classes, Courses & Maps, define your courses with all controls. The radio control is control code 47, which appears on 5 of your 8 courses.

  2. Create the checkpoint — Go to the Checkpoints page and click Add checkpoint. Name it "Radio control (lake crossing)", set the type to Checkpoint, and select control code 47. The system automatically links the 5 classes whose courses include that control.

  3. Connect a device in the field — Give a volunteer an Android phone with the Navisport app. They tap your event and select Online Control from the mode menu. The phone connects and appears in your checkpoint's Linked devices list.

  4. Verify the connection — Before the first start, have someone punch a test chip at the radio control. Check the Event Monitor's Split Times tab — the test passing should appear within seconds. Delete it once confirmed.

  5. Go live — As participants pass through the radio control, their split times appear in real time in the Event Monitor, the Announcer's Window, and on the public results website. The announcer selects the checkpoint in their window and can see who's leading at the halfway point.

  6. After the event — If any false passings were recorded (test punches, device errors), delete them from the Split Times tab to keep the results clean.