Static Trainer

Static Trainer
Version: 7, August 2015
Copyright 2012 Jesper Schultz





Learn how to hold your breath (much) longer!

If you are new to freediving – or just want to learn how to hold your breath longer – this is your training buddy. Easy setup and lots of info on the ‘hows’ and ‘whys’ (there *is* a bit of technique and knowledge that’ll help you push through).

If you’re a freediver or spearo (underwater hunter), this is the tool for your apnea training. Static Trainer has been adapted and improved through suggestions and ideas from freedivers around the world and can be configured to any need 🙂

Static Trainer speaks, counts up or down in multiple intervals, has 5 different visualizations, it logs your training sessions and much much more.

In your training session everything is adjustable (see examples); but Static Trainer is set up with standard parameters: If you’re in a hurry, you only need to set *one* single parameter to get started!

Whether you simply want your buddys to go ‘wooot?’ when you tell them how long you can hold your breath – or if you are a freediver looking for a flexible and reliable training tool – Static Trainer is for you! 🙂

Lie back, relax, listen…

Happy diving!


Product history

Static Trainer has been updated and improved several times – often from ideas and suggestions from freedivers from around the globe.

I started with a very ‘nerdy’ and raw app – just for my own use; but quickly changed it to be more user friendly. And that’s when the ideas began pouring in 🙂

It has found a stable level of functionality now and unless you come up with something new and exiting to add to Static Trainer, this is about as good as I can make it 🙂

Anyhows – here are the highlights from the development history of the app


  • Just the basics

V1 published November 2012 with a rather nerdy look and feel. All times were in seconds and functionality was rough.


shipped December 2012 and had a bunch of improvements:

  • Logging enabled. Up to 20 runs can be logged and re-used. Archived runs can be deleted
  • Text for statusbar is now dark grey and displays OK also on bright background (iPad)
  • Countdown is changed from % to min:sec
  • Pause/restart of timer added
  • Minimum value for intro period changed from 30 to 10 seconds
  • Setting of breath hold, increments, pauses etc. changed from secs to min:sec
  • iPhone/iPad auto lock-screen disabled

Now Static Trainer was a full app, it could do everything it was supposed to – and with a not alltogether awful user interface.


included several improvements from suggestions and ideas from some of the below mentioned awesome people:

  • AIDA style countdown before breath hold
  • Logging of audio setup so a stored table can be re-run including audio setup
  • Tips and beginner introduction added and moved to seperate info page
  • Start/stop of clock changed to pause/resume function


– now it is down to tweaking and minor stuff:

  • Sound signal (‘ding’) on start and stop of the stopwatch
  • ‘permanent-on’ now works on Android devices also
  • Additional graphical countdown progress bars


updated based on feedback from several users:

  • Dimmer function added to run screen
  • Export function added to logged tables page
  • Max number of logged tables increased to 40 (from 20)
  • Sound buffer bug fixed for stopwatch
  • Sound effect for stopwatch: ‘ding’ changed to ‘ping’ (mega silly, I know; but I found this submarine sonar ping… 🙂 )


  • Timer from start of breath hold added (now you can choose to start either M:SS from the end *or* start of the breath hold)
  • Pause bug in CO2 tables solved. (Tapping pause in a CO2 table would crash the program
  • ‘Mean CO2’ table added
  • Vibration added to start and end of breath holds


and of course there are always more ideas:

  • Big horizontal timer added to display option#1 for group sessions (just tilt the device)
  • Bigger buttons on the bottom bar
  • Breath hold minimal increments set to 5 secs (was 10)


Static Trainer – now for groups and hard core apneists 🙂

  • Added ‘back’ option to the large horizontal timer (for pool side and group training sessions)
  • Maximum rest for tables increased to 2.30
  • Increment for adjusting rest periods in tables set to 5 (was 10)
  • Added total table time on calculated table screens
  • Minor revisions in the info pages


A world champion freediver had a suggestion – I simply had to do it…

  • New option
    The audio count includes only the final 10 seconds. (World Champion freediver J. Stechmann suggested this)
  • More info
    Next round info (breathhold and rest period) added to rest period countdown.
  • More user friendly
    Automatic housekeeping of history enabled: When reaching 40 logged tables, the oldest entry is removed automatically.
  • Extra ‘end-ping’
    Sonar ping added to ‘End of excercise’ signal after table.


  • Max attempt
    New option added to stopwatch to perform a competition-style max breathhold, including breatheup and user controlled intervals for when you want a time count


  • Mixed tables
    Finding O2 and CO2 tables a bit boring? Then do a mixed table where the rest decreases and the breath hold gets longer and longer…
    New option added on front screen to mix O2 and CO2 tables

  • Cleaned up interface


  • Easy setup
    Quick start/easy setup option added to O2 and CO2 tables. Just enter your personal best breath hold, and I’ll compute a doable table for you! (You can still go overboard and adjust a gazillion parameters if you want; but if you are in a hurry and content with the default settings – this is much quicker 🙂 )


Awesome people who have contributed!

Thnx to the following for suggestions, ideas and critique:

  • Appneaddict
  • Donharus
  • Zsolt
  • M. Schvede
  • Tom N.
  • Aleksandar Siskovic
  • Nikodk73
  • Adilden
  • A. Blackwood
  • W. Barmby
  • Flavia Eberhard
  • Emil Lars
  • Lubomir Stefanoff
  • Ady Hamilton
  • chmu
  • E. Kruckow
  • A. Vejnar
  • C.H.Krabbesmark
  • World champion freediver
    J. Stechmann


Privacy Policy

  • Static Trainer uses two services (RECORD_AUDIO and READ_PHONE_STATE) requiring a formal privacy policy.

    Static Trainer solely uses the mentioned services for own functionality, ie. outputting audio which requires the ‘RECORD_AUDIO’ service and orientation detection to display the large group training screen when placed horisontally which requires the ‘READ_PHONE_STATE’ service.

    The services are used for this purpose solely – information used in Static Trainer is not used in any form for marketing and is not propagated to any outside party.


Skriv et svar

Please log in using one of these methods to post your comment: Logo

Du kommenterer med din konto. Log Out / Skift )

Twitter picture

Du kommenterer med din Twitter konto. Log Out / Skift )

Facebook photo

Du kommenterer med din Facebook konto. Log Out / Skift )

Google+ photo

Du kommenterer med din Google+ konto. Log Out / Skift )

Connecting to %s