Building a dive computer for a school assessment

Please register or login

Welcome to ScubaBoard, the world's largest scuba diving community. Registration is not required to read the forums, but we encourage you to join. Joining has its benefits and enables you to participate in the discussions.

Benefits of registering include

  • Ability to post and comment on topics and discussions.
  • A Free photo gallery to share your dive photos with the world.
  • You can make this box go away

Joining is quick and easy. Log in or Register now!

Messages
1
Reaction score
1
Location
Sydney
# of dives
25 - 49
Doing an IT subject for year 12 and we have to do a major work of creating a computer system. As an avid diver I was wanting to do something to do with diving such as build a dive computer.

Has anyone on here done it before?
or
Know how to go about building it?
 
  • Like
Reactions: vam
I see you have been waiting with no reply, so I will go. Yes, we have built a dive computer. I'm not the engineer directly responsible for the electronics or firmware design, but familiar enough with the issues to comment.

I don't know your level of experience, but I suspect this might be a far larger (and more expensive) project than would be advisable for any kind of a class project. Even highly experienced embedded systems developers would expect to spend hundreds of hours just gaining enough familiarity with a particular microprocessor in order to be able to interface it with the necessary sensors, each of which might have a significant learning curve. The development tools necessary are challenging, to say the least. It's also necessary to know hardware design- why projects of this complexity are usually handled by teams, as it's rare to have a single person with requisite knowledge in both hardware and firmware development.

This is nothing like developing for a desktop computer or iOS/ Android type system, where you have an operating system and development tools that greatly simplify the task. However, there are some dive computers coming on the market that I suspect- without any direct knowledge- are being built based on a generic smart phone hardware and development platform running some kind of OS, these boards are available from Asia quite inexpensively. A tradeoff would be the overhead of the OS and the use of a platform that was not purpose designed will likely result in a far shorter battery life. But as a student project this approach might be a way to get some experience, starting with most of the heavy lifting done and development tools that would be far easier to use. And of course there are a couple of systems where sensors are interfaced to iPhones or Androids and there is a dive computer app, also a far easier task than building a dedicated system.

That said, projects like developing a desktop dive simulator and implementing a decompression algorithm (if your interest is mainly software), or (on the hardware side) interfacing a pressure sensor or compass chip, essentially to build one aspect of a dive computer, would be more reasonable goals to start, and will definitely help develop your understanding of diving in addition to software/ electronics development. Most manufacturers of sensors have development kits at a reasonable price that can help you get started.

Hope this helps.

Ron
 
There is a surprising amount of stuff already available for Pi, usually with sample code. And BerryIMU is right there in Sydney.

Subversion is open source, you should be able to use their deco code.

So I think getting the basic breadboard setup working should be quite doable. The actual pressure-proof casing with the battery etc. would be another story.
 
There is a surprising amount of stuff already available for Pi, usually with sample code. And BerryIMU is right there in Sydney.

Subversion is open source, you should be able to use their deco code.

So I think getting the basic breadboard setup working should be quite doable. The actual pressure-proof casing with the battery etc. would be another story.

Yes, that would be a very doable approach- starting with a basic system. I’m thinking too much in the commercial realm rather than as a student exercise. It could be a great project.

Yep, keeping water out can be a challenge. You don’t have to make it waterproof to demonstrate the concept. Just seal an air hose to the sensor and you can pressurize it and do virtual “dives”.

Ron
 
Do you need to build an actual, physical dive computer? It's been many years since high school for me, but the IT projects we did back in year 12 were all software-based - write a program kinda thing.

It would definitely be a feather in your cap to do such a project for high school, especially if you're passionate about working in fields like electrical or systems engineering, but the computer code would only be a small portion of the whole thing.

Alternatively, if the project *is* meant to be software oriented, you could look at something along the lines of deco dive planning, electronic log books or dive computer simulation - they aren't ground-breaking new ideas and there are plenty out there already, but to write something along those lines from scratch (particularly if you're incorporating algorithms for deco figures) would still be something to be pretty proud of at the high school level :)
 
@dmaziuk , were you thinking subsurface?

Also, the Henreiks Weikamp (sp?) computers are using open source, I believe.
 
Arduino + barometric pressure sensor + airtight cylinder w/ syringe to increase/decrease pressure.

You can pipe all the output over a serial port or add an LCD.

<$100 and of appropriate difficulty for a senior project.
 
Please do not teach them to take the code from subsurface or ostc. Both are terrible examples in their different ways as is reverse engineering in this way.

Instead get them to understand the problem and implement the code from scratch. Raw ZHL16C is not too hard to understand.

I disagree with RonR about programming for embedded systems. The rise of "Makers" using Arduino etc demonstrates they are not too hard, just like the Apple ][ etc from the era before the PC but with 1000s of times more power.

Breaking the parts of the project up to little sub teams and dealing with the consequences will be like proper delivery! See if you can get better than 20% actual work vs waiting on or arguing with the other teams :wink:

Keeping the water out will be the hardest bit.
 
@dmaziuk , were you thinking subsurface?

Also, the Henreiks Weikamp (sp?) computers are using open source, I believe.

Yes, braino. Of course subsurface. HW code I've seen was the whatever-microprocessor-assembly, that might be a bit too much for a high school project that also includes putting hardware together. By "too much" I am assuming the project, much unlike some real dive computers we know, has a fixed due by date. Subsurface's code quality may be debatable but again, clean reimplementation of zhl16c might be a bit too much. As for arduino: why? Cost-wise there is no appreciable difference at this point, and with the Pi you can just write python right on the device -- not something I'd necessarily use for the real thing, but for a prototype/school project it's just the ticket.
 
Last edited:
DIY DECOMPRESSION covers the model. You might need to google the coefficients. No GF but hey, they are young and fit and will not have been out drinking the night before...

How old is year 12?

Copying code is not a route to learning. Copied code is not understood. How are they supposed to make it work if they do not understand the code?

Python? FFS. Actually there is a python deco library GitHub - gully/decotengu: A fork of The DecoTengu dive decompression library

It is wrapped up half nicely IIRC so maybe could be treated as a black box.

Personally I think the interesting bit about such a project would be the completeness. The students ought to be able to do the whole thing from understanding the concept behind the models through an implementation on a PC and then on into the embedded box. Break them down into teams and make them kick each other when late.

You have a bunch of proper scientists in that neck of the woods. Get one round to pay his dues to society and explain the theory.

A risk with stuff like this is getting bogged down in the bogus computer hell - it really would take longer to make the subversion code behave in your environment than write your own.

My pet illustration is a Venn diagram of Linux, ARM, C vs C++ and gdb. You could have any three of the four at once. Quite frustrating.

Do this right and you will have a class room full of kids that know they can build stuff, rather than cobble something together they don't really understand.
 

Back
Top Bottom