ETH Zurich · D-INFK · BSc
University
Bachelor Thesis
Linear-Exponential Algorithm-based Open Source Dive Computer · Spring Semester 2026
Downloads
The thesis report and presentation slide deck are available as PDFs below.
Abstract
Dive Computers are now standard equipment for scuba diving, continuously tracking inert gas loading, the corresponding decompression obligation, and oxygen exposure. They also allow for more detailed dive logging by allowing users to view and export the recorded depth over time. As safety-critical, battery-powered life-support devices, commercial and military dive computers are frequently based on proprietary hardware and algorithms, limiting customization options, transparency, and reproducibility. Previous work has shown that adaptive or variable-rate scheduling can substantially reduce computational effort and energy consumption in low-power embedded systems. Among existing decompression models, the Thalmann-inspired linear-exponential approach has been associated with reduced decompression sickness risk on deeper dives but is rarely implemented, especially in publicly available dive computer software.
This work presents an extendable open-source hardware and software basis for the development of dive computers that is feasible to build and extend for non-professional audiences, while remaining compact enough to be worn during a scuba dive. The diving-related algorithms for tracking inert gas loading, decompression, and oxygen toxicity are implemented in a separate open-source module. Multiple algorithms are implemented and used for the variable rate scheduling of different tasks in dive mode. These algorithms show a reduction in executions from 1.17× to 6× for decompression calculations without significant difference in the resulting simulated dive profiles compared to the fixed-rate baseline, while the oxygen toxicity calculation does not benefit from the current implementation of variable rate scheduling. Flash logging to accurately reconstruct a dive profile has been reduced by a factor of 3.6× to 4.1× compared to the fixed-rate baseline while incurring no measurable accuracy loss on the simulated profiles. The usage of the Thalmann-inspired linear-exponential algorithm performs as expected, recommending slightly deeper stops on deep profiles without incurring significant computational overhead.
Repositories
The thesis is accompanied by the following repositories.
Top-level overview repository linking all submodules of the dive computer project.
LaTeX source files for the thesis report.
PCB design files for the dive computer hardware, created in KiCad.
STM32 firmware for the dive computer, written in Rust.
Open-source module implementing the Thalmann linear-exponential decompression algorithm and related diving calculations.
Seminar Presentations
Seminar on Computer Architecture · Prof. Onur Mutlu