ControlFreak Run user guide: orienteering with virtual controls
How to run an orienteering course with virtual controls: scan the QR code on the map, let the phone punch by GPS and see the result when you finish.
Getting started
What is ControlFreak Run?
With ControlFreak Run you run an orienteering course without any control stands in the forest. The phone's GPS is used to tell when you reach a control, and a sound signal confirms the punch. The course is in the QR code on the map, and neither the course nor the run is sent to any server. All the runner needs is a phone and a QR code. No installation, just the browser. The phone only needs a connection when it reads the QR code – after that everything works without coverage.
- Scan the QR code on the orienteering map with the Camera app. The course opens at https://run.controlfreak.se and the page shows the course name and the number of controls.
- No QR code? The course setter makes it in ControlFreak, https://course.controlfreak.se, or here on the start page from the course file (see the next section), and prints it on the map. It works for normal courses on a map with a coordinate system.
- GPS is unreliable in dense forest and between buildings. ControlFreak Run suits training, not competition.
- You can also scan the QR code here on the page: tap Open the camera on the start page, https://run.controlfreak.se, and hold the code on the map in front of the camera. It works on the phone and with a computer's webcam. The first time, the browser asks whether the page may use the camera; allow it. The camera image stays on the phone or computer and is not sent anywhere. Tap Close the camera to turn it off.
- If the page says the course cannot be opened, the link is incomplete. Scan the code again, or ask the course setter for a new one.
- At the top of the start page is the Menu button with the language, the family's other apps (ControlFreak, ControlFreak Event, ControlFreak Start, ControlFreak Live and ControlFreak Diff) and Send feedback, where you can write to us. Only what you write is sent, never the course or your run.
Create QR codes for your courses
On the start page, https://run.controlfreak.se, the course setter can make QR codes at the computer: drop the course file in the box Create QR codes for your courses to see one QR code per course, which you can download as a PDF to print or as an image to print on the map. The files are read in the browser and never uploaded.
- Export the courses as IOF XML 3.0 from your course-setting program, or save the project in ControlFreak, https://course.controlfreak.se, as .cfpack or .cfproj. From Purple Pen the .ppen file works too, but together with the map file (.ocd or .omap): the map is what knows where the course lies.
- Drop the files in the box, or press Choose files. If you dropped a .ppen without its map, the box says which map file is missing, and you can drop it afterwards.
- Below the box there is one QR code per course, with the course name and a short summary, for example “2.4 km, 9 controls” (the length from the file, otherwise the straight line from the start via the controls to the finish) or for a score course “9 controls, 60 min”. The same line is in the PDFs. Courses that get no code are listed below the codes, with the reason.
- Press PDF – several codes per page for a grid of codes on each A4 page, or PDF – one code per page for one large code per page. Each code has the course name, and no square in a code is smaller than 0.4 mm, so it can be scanned. Press Start over to empty the box.
- The file must be georeferenced: the map needs a coordinate system. If the coordinates are missing or look wrong (for example a course tens of kilometres wide, or in the sea off Africa), the course gets no QR code; check the map's georeference in OCAD or OpenOrienteering Mapper.
- Forked courses get no QR code yet; they are listed with the reason “coming later”. Score courses get a QR code with the controls' points. If the file has score courses, the fields Time limit (min) and Penalty per started minute appear: they apply to every score course whose file has no time limit or penalty of its own (a value in the file wins over the fields), and empty or 0 means no time limit. Changing a field remakes the codes and the PDFs, and under each score course's code it says what is in the code, for example “Maximum time 60 min · 10 points penalty per started minute over”. Drop Hittaut courses as .cfpack or .cfproj from ControlFreak: in IOF XML they often cannot be told apart from normal courses.
- Create event on ControlFreak Live opens ControlFreak Live in a new tab with the courses, the event's name from the file (or the file name) and today's date filled in. Log in there and create the event; the runners' results on the courses are then gathered in it. The QR codes do not change, and nothing is sent until you press Create on ControlFreak Live.
Location and GPS on the phone
The page needs the phone's position to punch. The position is only used on the phone and is not passed on.
- Allow location when the phone asks. The page shows how accurate the position is, for example "GPS ±8 m, good enough to punch". If the uncertainty is more than ±15 m you can still punch, but you may need to stop at the control point.
- Tap Test GPS if you are unsure whether the phone gives a position. The answer shows how long it took and how accurate the position is.
- Wait in the open until the position is good enough before you start. The GPS is already running before the start, so it has had time to get a good position.
- iPhone
- Settings → Privacy & Security → Location Services must be on, and the browser (Safari Websites or Chrome) set to While Using the App. In Safari you can also tap aA in the address bar → Website Settings → Location → Allow.
- Android
- Tap the icon left of the address → Permissions → Location → Allow. Also check that Location is on in the quick settings.
- If the page says the browser gives no position, open it in Safari or Chrome instead.
Running with a Garmin watch
You can also run the course with a Garmin watch, using the ControlFreak Run app for Connect IQ. The watch punches by the same rules as the phone, and the run is saved as a running activity in Garmin Connect.
- Install ControlFreak Run on the watch from the Connect IQ store, in the Connect IQ app on your phone.
- Fetch the course: choose “Fetch course” in the app on the watch. Your phone then opens run.controlfreak.se/garmin/watch.html, where you scan the course's QR code with the camera, and the course is sent to the watch.
- You can also paste the link from the QR code into the app's setting in Garmin Connect: your watch → Activities & Apps → ControlFreak Run → Settings.
- Start with START and “Start in 5 s”. The watch gives five short beeps and a long start beep, beeps and vibrates at every punch, and shows the last punched and the next control.
- Older watches, such as the fēnix 5, cannot fetch the course themselves. Use the setting in Garmin Connect instead.
- The watch needs no coverage during the run. The phone only needs coverage when the course is fetched.
The run
Start, punching and finish
During the run the screen is black and the phone can stay in your pocket. It beeps and reads out what you need to know.
- Choose when you start: a time of day under Start time, or a Relative start counted from when you tap the button: Immediately, in 10 s, in 30 s, in 1 min, in 2 min or in 5 min. Choosing one clears the other, and in 1 min is chosen from the beginning. The button says when the start is, for example "I'm ready to start at 10:30" or I'm ready (start in 1 min). If the time of day has already passed, the run starts one minute after you tap, and the button says so. The phone beeps during the last 5 seconds before the start and gives a long beep at the start; with Immediately you only hear the long beep, at once. When there is one minute left to the start, the phone says "Start in one minute".
- Turn the sound on and the brightness down. The screen is black during the run but kept awake. Do not press the power button or switch apps, or the page goes to sleep and stops punching.
- If the GPS updates stop during the run, for example if the page is switched off or hidden, the phone sounds an alarm after 30 seconds and tells you to wake it and leave the page open. The alarm can be turned off on the start screen, where you can also choose a beep every minute. If the course has a start point, the phone says "Start point" once you have passed it and started running away from it. When you reach a control there are three beeps and the phone says "Control 3, code 47". Hold a finger on the screen for 2 seconds to see the time, the controls and the GPS.
- If you pass the finish with controls left, the phone says "Finish passed, 2 controls left" and the run continues, so lapped courses work. When all controls are taken in order the run ends at the finish with a signal and the time read aloud.
- To stop early there are Finish here and Abort on the status screen. Both need two taps, so they are not pressed by mistake.
- Punching
- The phone punches when you are close to the control, and a beep confirms the punch. Errors in the GPS position and in how the map is drawn can mean that the punch is not registered immediately. Run up to the control point and carry on straight away, as if you had taken an ordinary control. If it has not beeped when the control is 10 m behind you, you may need to stop for a few seconds. If you are sure you were at the right control you can also carry on: a control you were close to is saved as almost taken and shows in the result.
- Start check
- If the course has a start point, the phone checks that you have been within 25 m of it, from the start time until you punch the first control. A single position is enough, you do not need to stop, and positions before the start time do not count. The time is counted from the start signal, the long beep after the five short ones, not from when you pass the start point.
- Nearly taken
- A control you did not get punched but came within 50 m of counts as nearly taken. It is not read out during the run, but it shows in the result with how close you were.
- Finish
- The finish is a line you run across, at right angles to your direction and 25 m to each side of the finish. You do not need to stop, but stopping right at the finish also counts. You can pass the finish during the race, for example when the course has loops. If a pass is registered you can still carry on; your real finish time is when you reach the finish after taking all the controls.
- If the page is reloaded during the run, the run continues where it was. Tap the screen to turn the sound back on.
Score course
A score course (score orienteering or rogaining) is run in any order: each control gives points, and the aim is to collect as many points as possible within the maximum time. The QR code says that the course is a score course, so the phone knows by itself.
- Before the start the page shows that the course is a score course, how many points are possible, the maximum time and the penalty, for example “Maximum time 60 min · 10 points penalty per started minute over”.
- Take the controls in any order you like. Each control counts once. When you punch, the phone reads out the code, the control's points and the total so far, for example “Code 45, 20 points, total 110”.
- With 10, 5 and 1 minute left of the maximum time the phone says “Ten minutes left”, “Five minutes left” and “One minute left”, and when the maximum time is up “Time is up”. The run goes on, but each started minute over the maximum time gives a penalty.
- Passing the finish ends the run, however many controls you have taken, and the phone reads out the time and the points. If the course has no finish, the run ends when all controls are taken, or with Finish here.
- The result shows the points instead of Approved: the controls you took in the order you took them, with points and time, and the penalty if you were over the maximum time. A control you were close to but did not get punched is shown as nearly taken, but gives no points.
- The course setter sets the maximum time and penalty when the QR code is made. If the course has no maximum time there are no warnings and no penalty. On a course without points, such as Hittaut, the number of controls you have taken is counted instead.
The result and GPX
When the run is over the page shows the result. It is only saved on the phone.
- The result shows Approved when the start and all controls are taken in order, Nearly approved when everything is taken or nearly taken, and otherwise Not approved. The start is shown first and counts as a control. Under a nearly taken control it says, for example, "Nearly – closest 14 m, 6 s nearby" in a different colour; the split time is counted from when you were closest. The result also shows split times, missed controls and extra punches, that is controls in the wrong order or the same control again.
- Tap a control in the table to see its punch picture: your GPS track around the control with rings at 5, 10 and 15 m, where it beeped and how close you were. The colour of the dots shows how accurate the GPS was. Browse with Previous and Next or by swiping.
- Share GPX and Download GPX give the track for Livelox and similar. The file also contains your punches and how accurate the GPS was at each position. The track only goes to the app or service you choose yourself.
- Run the course again starts over on the same course. To the start page goes to the start page and forgets the run; download the GPX file first if you want to keep it.
- The course is in the link and the run is only saved on the phone. Neither the course nor the run is sent to any server, except when you compare with others on ControlFreak Live, which is switched on by default and can be switched off before the start (see Results on ControlFreak Live). Otherwise, what can leave the phone is what you write yourself in Send feedback, when you press Send, and the GPX track when you share it yourself. If the app crashes, an error report goes to Lovable, which hosts the app, without the course or the run.
Results on ControlFreak Live
You choose a course, scan the course's QR code and run; you need no link and no entry. Everyone who runs the same course can compare on ControlFreak Live: times and split times. If the organiser has created an event with the course there, your run also shows in the event. It is switched on by default, and you can switch it off before the start.
- The box Compare with others on ControlFreak Live on the course's page before the start is ticked by default, and below it you see who you show as. Press Change and enter your name and, if you like, your club (the phone often suggests them when you tap the fields), or leave the name empty to show as, for example, “Runner 3F2A”. If you do not want to share, untick the box; that lasts until you tick it again. The phone then sends the start, every punch and the finish while you run.
- The words ControlFreak Live in the box's text are a link to the course's page with the results list and the split times; it opens without changing the box, also when you do not share your own run. After the finish, Show results and compare leads there.
- If you unticked the box, you can still press Compare with others on ControlFreak Live on the result page; the fields for name and club then open, and you can enter your name and club or leave the fields empty and press Send and compare. The result is then sent afterwards.
- What is sent is your name, your club, the course and your times, never your GPS track or where you are. Everything is shown openly to anyone who opens the course's page. The name and club are saved on the phone for next time.
- ControlFreak Live decides which event the run belongs to from the course and the day; you need not do anything. Without coverage, the result is sent when it comes back.