Decompression Computer

Home Up

Divers Decompression Computer

A decompression computer is a small, self contained, battery powered, intelligent instrument that a diver wears on a dive. It is a microprocessor or microcontroller based instrument that consists of a: custom single board computer (SBC); liquid crystal display (LCD); transducers to measure depth, air pressure, and temperature; a waterproof pressure resistant housing; and finally the software that controls the hardware and actually does all of the calculations.

Routine data automatically tracked by the computer includes: current depth, maximum depth for the current dive, bottom time, surface interval time between dives, current tank air pressure, number of minutes to get down to 500 psi air pressure at the current rate of respiration, temperature inside the computer, and battery voltage. The computer also uses a twelve tissue mathematical model of the human body to calculate nitrogen absorption and desorption rates as a function of depth and time at depth. These values are compared to maximum allowed values for these tissues and the maximum safe ascent ceiling is displayed on the LCD. The computer also displays a visual and sounds an audible alarm if the following limits are exceeded: ascend or descend too fast (allowable rate varies with depth), too deep for device (> 200 feet), diver above safe decompression ceiling, air low, and battery low. A dive log for the last 100 dives is also maintained as a small database in the computer. The data tracked for each dive includes: dive number, maximum depth, bottom time, and surface interval. Finally the computer displays when it is safe to fly with respect to the divers decompression status.

The first simplistic version that I developed in the Interdisciplinary Ocean Engineering Program at the University of California at Berkeley (UCB) was based on an Intel 8085 microprocessor. The next version that I worked on, after I completed my Masters work and graduated, used a National Semiconductor NSC800 and was still just a laboratory wire wrap prototype. The current working (diving) dive computer is based on an Intel 80C31 which is a ROMless version of the 8051 which is an 8 bit, single chip, CMOS microcontroller. All of the previous versions worked as laboratory prototypes at various levels but were based on the "best" available microprocessor at the time. A microcontroller is much more desirable for an intelligent instrument of this type than a general purpose microprocessor. A microprocessor is generally more powerful computationally; but consumes more battery power, and does not include any integrated peripheral chips. Therefore it consumes more physical space with a larger PCB, and consumes more battery power.

The current dive computer involved designing a custom SBC designed around the 80C31, its external RAM, and EPROM chips, analog to digital converter (ADC), two pressure transducers, a temperature transducer and their amplifiers, a 4x20 LCD, and the required power down circuitry to maximize battery life. The SBC runs on a two second cycle where it does all of its measurements, calculations, and then updates the display. It goes to sleep for the remainder of the cycle and is automatically awakened by a hardware interrupt from the real-time clock. For this application the 8 bit MCU is sleeping approximately 80% of the time which is good for maximizing battery life. The SBC required a custom multilayer PCB for small and efficient implementation. The waterproof, pressure resistant housing was designed with a 2D/3D CAD system. A Finite Element Analysis (FEA) was performed on the pressure resistant housing to compute its stresses and determine its ability to withstand the maximum test depth of 300 feet. The housing was then manufactured with a Computer Numerical Control (CNC) milling machine at a local Baltimore machine shop. All of the current and previous versions of the real-time interrupt driven software were written entirely in C. To the best of my knowledge, this is the first and only dive computer in the world that has been implemented with a high level language. All the rest use assembly language which in some respects is more primitive although it would require less memory. It was also the world's first dive computer to offer integrated air support.

This project was begun as a second research project as a graduate student in Ocean & Mechanical Engineering at the University of California at Berkeley. My primary research project, which consumed most of my time, was an experimental mass transfer analysis of a divers CO2 scrubber system. Because of that I only got a very rudimentary dive computer running there. It was really just a simplified laboratory model, more for my own education than any actual new research. Several years after completing my work at UCB I decided to complete the decompression computer on my own. To date it has been used successfully on fifty test dives. This is a working prototype, to turn it into a finished commercial product would require additional financial investors to develop a better physiological model, and to redesign for mass production.

Copyright 2000 - 2023 by Ted Fryberger & DeepSoft, LLC, All Rights Reserved