Android application


The app is a distant derivative of f3fChrono already available on the Google playstore. It will itself be made available on the playstore once it has reached a mature and stable state.


Host mode


In this mode, the Android device operates as the USB host and the Arduino board is the accessory. The minimum requirement for usb host mode is:

  1. Android OS greater than 3.1
  2. Android Hardware should support USB "On the go" (USB-OTG)

Even so, tablet and phone manufacturers may choose to enable or disable the host mode of their devices. For instance, the Google tablet Nexus 7 supports USB-OTG, but the more recent Nexus 4 phone does not ?!?

Check the specifications of the device, or install "USB host diagnostics" from the play store to determine the capability of the device.

You will need a USB-OTG cable adapter.



Accessory mode

Important note: Only Android OS greater than 3.1 will support accessory mode

In this mode, the Arduino operates as the host, and the Android is the accessory. The main differences with the host mode are:

  1. A more expensive Arduino Mega ADK or equivalent board is required. The standard Arduino Uno board does not support host mode.
  2. The program to install on the board is

A USB OTB cable is not required, however your Android Device should have a USB port of some sort.




Only the wired option is supported in this first version for Android.


When the app is run for the first time, it will create an "f3ftime" directory on the sd-card of the Android device. This directory contains two subdirectories: "pilots" and "sessions". If the sd-card is non-removable, there is the option to use AirDroid, FileManager, or FileExpert to access the directories.

Copy the files with the list of pilot names in racing order in the "pilots" directory .

USB connection

Launch the app and connect the Arduino board in any order.
The Android system will request permission for the app to access the device. Grant it.

Note: on rare occasions, the Android device may stop recognizing the board when the app is launched. As far as I have been able to tell, this is Android-OS related. Close everything and restart. If this does not help, go to the Android's Settings/Apps/f3fTime menu, and disable the "Launch by default" option for the board. If this still does not help, power off the Android, and reboot.

Go to the USB page, and check that the signals are received by pressing the buttons.

Session definition

Press "New session", and enter a new name. Be sure not to enter an existing session name, since this will overwrite former results. Afterwards, performing this action again will erase all loaded results.
Select the file with the list of pilot names from the drop-down list. Edit the list if necessary, and press "End pilot input".
Note that this list may be edited at any time, without loss of results. Pilot names may be added, removed, or their order may be changed without loss.

Time recordings

The contest director selects the pilot and round for recording, then clicks "Start" to signal the start of the 3' launch period.
The contest director presses the same button again when the glider is launched. This will start the 30" countdown.
Once the run is over, the DC has the option to enter a penalty.
The "Next" button selects the next pilot & round to run.
The results are written to a "session.txt" file in the session directory. This file is in the Comma Separated Values format, which makes it importable in a spreadsheet.
In addition, all results are chain-written in an "output.txt" file in the main directory. This is provided for back-up in case of loss of the session files. It is never overwritten by the program and can only be deleted manually by the user.

Scores and results

Provides an overall display of recorded time, and a simple evaluation of contest points for all pilots.

Development status

The program is functionnal and is provided for beta-testing.
The first non-beta version will be released in 2013.


Feedback, bug reports, comments, feature requests, and suggestions are welcome. The preferred method is to post the comments on the sourceforge discussion forum.

Updated April 2013