-
Here’s my YouTube Maker’s Channel and GitHub Code Repos
06/02/2023 at 09:23 • 0 commentsI have 20 or so more videos covering this project in the queue awaiting (rough) edit and upload in the pipeline including the Gozo sea trials, but for now there’s around 30 videos uploaded for your delectation!
Scuba Hacker’s Sat Nav YouTube Channel
Amongst the many code repos/projects on my github, these are the ones for Mercator Origins: (all named after sharks. There are 4 computers - 7 CPU cores - now independently working to implement this project!)
mercator-origins-mako
mercator-origins-tiger
mercator-origins-lemon
mercator-origins-silky
-
Mercator Origins - Audio Guidance Enabled - Final Assembly
05/30/2023 at 11:58 • 0 commentsThe completed assembly - navigation console and audio module, with surface float.
And from another vantage point
Side view of the spool in close up
The navigation console (powered through the cable from the float)
The audio guidance module (independent power supply)
-
Behold: The Audio Navigation Module
05/30/2023 at 11:18 • 0 commentsThis is the back of the audio module. You can see from top left, clockwise:
1. The surface exciter that vibrates the enclosure to produce sound underwater.
2. The Beetle ESP32-C3 (RISC-V) microcontroller.
3. The BH1750 Lux/Light sensor - TBD.
4. The DFRobot MAX98375 I2S Amplifier module
This is the back of the audio module, from top-right clockwise:
1. The blue solid-state 1 Amp fuse.
2. Adafruit VL53L4CX Time of Flight Sensor - to alert diver if they are too close to the lake/sea-bed.
3. Lithium rechargeable battery (charged through battery charging circuit in the Beetle ESP32-C3)
4. Not visible, buried in the middle! The Adafruit Micro SD Card breakout PCB.
-
Components List as of 30 May 2023
05/30/2023 at 11:05 • 0 commentsI wanted the components list as of today to be listed out in a categorised order. The components project section unfortunately is flat, so hopefully this will present the information in a clearer manner.
Mechanical Components for the Mercator Origins Sat Nav/Telemetry Console
Yellow Float box with transparent lid - Underwater Kinetics IP67 Ultrabox 408 (waterproof to 5m), including lanyard.
1 x yellow cable/hose strain relief rubber tube (beaver with amalgamating tape or unbranded)
1 x Nite-Ize S-Biner size #4 or #5 - black or stainless steel
11 metres x 4-core 4mm sub-sea Blue Robotics Ping Cable SKU: BR-100452
2 x Blue Robotics 4.5mm LC Wet Penetrators SKU: WLP-M06-4.5MM-LC-R1-RP (6mm drill bit required, recommend stepped drill for drilling housing, HSS drill for float box)
2 x 6mm non-shake washers
Navigation Console: 1 x gopro hero 9/10/11 housing - non-OEM or OEM
Audio Module: 1 x gopro hero 9/10/11 housing - non-OEM or OEM
1 x upcycled generic 3D Print spool (diameter: x cm, depth y cm)
2 x button mounts - 3d print and schematics
2mm nano/gecko tape - fix housing to spool
1mm nano/gecko tape - mount internal componentsFloat Electronic Components
1 x USB Power bank - minimum 2500 mAh
1 x Wifi Hotspot - either a mobile phone or a MiFi-type WiFi hotspot (eg by TP-Link)
1 x USB A cable.
1 x USB C plug - breakout with solder pads
1 x 4-way Micro JST male and female connectors/wire
2 x 2-way Micro JST male and female connectors/wireClear plastic enclosure box (M5 Stick C Plus Watch box)
Float computer: M5 Stick C Plus ESP32 microcontroller
1 x M5Stack MiniGPS/BDS unit AT6558 (Serial UART comms)
1 x 1 Amp fuse holder and fuse
1 x RS485 module (5V power, 3.3V signal) (generic board based around MAX485 IC)
1 x Grove connector female to female 4-core cable - GPS unit to M5 Grove connector
Silicone wires (multiple colours)
Future version: 2 x relays and reed switches for contactless rebooting of float and entire system using magnet waved by user over 2 marked locations on the float box.GoPro Navigation Housing Electronic Components
Guidance Computer: 1 x M5 Stick C Plus ESP32 Microcontroller
Dive Timer Computer: 1 x M5 Stick C Plus ESP32 MicrocontrollerMechanical push to make switches: 2 x car remote control switches maximum thickness: 2mm
Non-contact inputs: 2 x potted reed switches
Leak Detector: 3 x 1M Ohm 0.25w Resistors and 30cm solid core bell wire
IR interface: 1 x ? Resistor and 1 x ? PhototransistorGeneric RS485 module (5V power, 3.3V signal) (based on MAX485 IC)
Adafruit LSM303AGR Accelerometer / Magnetometer - Digital Compass
Adafruit BME280 Environmental Sensor: Temperature, Relative Humidity and Air pressure sensor:
Blue Robotics MS5837 Depth Sensor 300 metres max depth
Future version: Adafruit APDS9960 Proximity, Light, RGB and Gesture SensorSilicone wires (multiple colours)
Connectors for navigation housing
2 x 8-way 90 degree PCB header
2 x 8-way Micro JST male/female connectors
4 x 2-way Micro JST male/female connectors
3 x 4-way Micro JST male/female connectors
3 x Stemma QT/Qwiic 4-way female to female cable connector
1 x Grove to Stemma QT/Qwiic female to female cable connectorAudio Module Electronics
DFRobot Beetle ESP32-C3 (RISC-V Core) Microcontroller
3.6V 18650 lithium rechargeable battery and holder
Adafruit micro SD card breakout board
8GB SDHC Micro SD card
DFRobot MAX98357 I2S Amplifier module - mono 3W
Dayton Audio DAE13CT-4 4 ohm/3W coin type 13mm exciter (surface sound transducer)future plan: Adafruit BH1750 Light Sensor
future plan: solid state fuse
future plan: 2 x potted reed switches
future plan: : Adafruit VL53L4CX Time of Flight Sensor 1mm to 6000mmAudio Module Connectors
1 x 4 way Micro JST connector male
2 x 4 way Micro JST connector female
1 x USB C plug - breakout with solder pads
Silicone wires (multiple colours)Consumables
2mm and 1mm thickness nano tape
dual wall heat shrink - sizes: 1mm,2mm,4mm,6mm
The rubber white putty stuff?
Hook and Loop fastenings
Red, Black, White, Yellow, Blue, Green silicone wire 30AWG or 24AWG?
Glue gun stickTools
Glue gun and cordless drill
6mm HSS drill bit for cable connector at float box. ( or step drill)
Stepped drill for 6mm hole for cable connector of gopro housing and 10mm hole for depth sensor.
Temperature controlled soldering iron at 360 degrees C
Tin solder, tinning compound, flux, wound wire tip cleaner
wire cutters and wire strippers for 30AWG wire
6mm ? spanner/wrench - wet penetrators
12mm ? spanner/wrench - depth sensor
multimeter - continuity and voltage checksPressure Pot for pressure testing the Mercator Origins diver's console and audio module
I have modified slightly the design of the pressure pot documented by Michael Macdonald (macado) to suit the purposes of my project: http://wrecklessdiver.com/building-50-o2-cell-checker/Pentek Water Filter Housing 3G100SCCF 3/4" Ports - max 8.75 bar / 125 PSI pressure
Pressure Gauge to 7 bar / 100 PSI with 1/4" NPT bottom mount
1/4" NPT Male ASME Brass Safety Pressure Relief POP off Valve 80 PSI
OTG Scuba Diving 1/4" NPT Male to Standard BC Inflator Schrader valve connector adapter
T-Connector Female/Female/Female 1/4" NPT Brass Fitting
T-Connetor Male/Female/Male 1/4" NPT Brass Fitting
Hex head 1/4" NPT Male thread connector coupling adapter
Brass Inline Mini Ball Valve cut-off switch, 1/4" NPT Female, rated to 600 WOG
Brass hex bushing reducer - 3/4" NPT Male x 1/4" NPT Female
Brass 1/4" NPT male thread connector coupling - end stop
PTFE Tape
-
Assistive Tech Update: Progress on the Audio module (called Silky) for guiding people with impaired vision.
05/22/2023 at 16:08 • 0 commentsHow is Mercator Origins a piece of Assistive Tech?
With the end date for the challenge round for the Assistive Tech category of the Hackaday 2023 prize fast approaching (30 May 3pm BST) I wanted to write a log on how the audio module is going.
With the added Audio Module, Mercator Origins will be able to provide guided assistance through sounds, tones, vibrations and spoken instructions. This is in addition to the usual visual guidance provided today.
I was speaking to a doctor who specialises in dive medicine and who also is involved with a charity who teaches and enables disabled people to scuba dive. He told me a story about the bravest person he knows, who has impaired vision. They found the feeling of being weightless (and neutrally buoyant) in the water was one of the most empowering and moving experiences of their life as they could be independent. I would like to think that scuba diving can provoke a feeling of autonomy and empowerment for those who have difficulties with movement or who are challenged by the clutter and busyness of our everyday lives. Using only the breath to control one's attitude (ie angle) and position in the water column is something that I love as a sighted person, so if this can be experienced similarly for people who wouldn't think that this sort of thing is accessible then that would be awesome.
I am told that a person who has an impaired sense, for example sight or hearing, is quite likely to have a more highly tuned ability (compared to the unimpaired person) to experience their other, unimpaired, senses. It is for this reason why I believe that empowering impaired-sight and blind people to enjoy the underwater world, one of weightlessness and freedom in 3D space/water, is something which might provide a wonderful experience that is outside their usual day-to-day living. To give hope and joy to a person who has challenges that I cannot begin to fully appreciate due to my sightedness and life long exposure to the world through the wonder of vision is something which I have a tremendous drive for and why I have devoted so much time and effort throughout 2023 to this project.
Attuned Senses, Inclusion and the Desire to Expand a Person's World Experience
One or two people have questioned why a sight impaired person would like to visit underwater features in a dive lake or in the sea when they can't see them. I think this is one of the challenges we all have when making the world inclusive for all. It can be hard to imagine or put ourselves in the shoes of those who have a vastly different life experience to ourselves or to the usual day-to-day experience of the majority.
I would love a person with impaired sight to be able to visualise in their mind's eye the feature that they are visiting by reaching out and touching the object, feeling the contours and experiencing the textures and embodiment of the structure. In the dive lake at Wraysbury it is perfectly safe to touch all the objects (with gloves, there are some rough and rusty bits!) and there are no corals or other delicate organisms which can be damaged by a person reaching out and touching their surface. There are plenty of fresh water mussels which are very resilient to us humans and also freshwater American Crayfish which crawl about the lake bed minding their own business. There are fish too, but they are not going to roll over to have their tummy tickled - unlike some Grouper fish I have seen in Turkey,
I would like Mercator Origins to guide the person around the lake using sounds, feature by feature, whilst they are still accompanied by their dive buddy / instructor who is always there to provide a helping hand and for good dive practice safety. The aim is to provide a unique experience in a safe environment to provide an empowering feeling of autonomy to the person using the Mercator Origins guidance system.
So there we have it, an audio-enabled Mercator Origins is a piece of tech that can help people with impaired vision have magical experiences under water, whilst experiencing autonomy and the empowerment of not needing to hold someone's hand.
The challenge of adding audio directions to Mercator Origins
Firstly, the challenge with Silky is that I need a separate enclosure to house the speaker system because there is no physical space remaining in the console enclosure. Silky will need its own power supply (an on-board lithium rechargeable battery) because I want 3 to 4 Watts of power available to drive the audio transducers. At 3.3V this equates to 1 Amp, though Mako/Lemon/Tiger are running on a 5V source in the float. Due to line losses where the resistance of the cable from float to console drops the 5V source to 4.2 to 4.5V at 11m cable length, I can't use this power supply for audio as I will be taking 1 Amp at 3.3V so I don't want it to run on the power system for the Mako/Lemon/Tiger microcontrollers.
Using a cable to link the console module to the audio module will be cumbersome and also risky because there will be two more ways for water to potentially enter the system.
This is how I am overcoming these challenges:
1. ESPNow is a proprietary WiFi protocol provided by the ESP32 family of ICs which is very good for sending short messages without the radio handshaking needed to maintain a continuous wireless connection. I will use ESPNow to communicate, through water, between the Mako microcontroller in the console and the Slinky microcontroller in the audio module.
I made a YouTube video documenting my scientific experiment to find out whether this would be feasible or not - because WiFi frequencies of 2.4GHz are absorbed by water and can only travel short distances... but how short? 15cm in turns out, regardless of fresh or salt water - I need the signals to travers 7 to 8 cm of water from one side of the cable spool to the other so it should work!
Youtube Video: Audio Navigation Science Experiment - can we use WiFi to communicate underwater?
Have a watch of my video to see how I discovered that WiFI can be used to make the navigation console and audio module communicate with eachother. As for all my videos, this hasn't been rehearsed and it was done in one take. I like to show my authentic me, uncut! I'm new to youtube so don't have the editing thing sorted out yet, but I'm happy with the results!
First test was fresh water (0% salinity) and I'm then finding out whether making the water as salty as the English Channel (3.5% salinity), and then as salty as the Red Sea (4.0% salinity) makes any difference.
And this is how we tell that WiFi is go, go, go! Two M5 Stick C Plus microcontrollers using the ESP32 magical superpower of ESPNow WiFi for embedded devices... the video shows individual bytes (for that is all I need to command left, right, ahead) being transferred in real-time through the water. The WiFi signals cannot travel through the plastic bucket downwards due to the lead blocks underneath them. They can only travel horizontally :-).
This is how the Audio Module electronics looked before coding up the software:
Youtube Short Video - Bring on Audio Directions!
And the rocking and rolling result!
And then the lament! The Beetle ESP32-C3 that is Slinky is poorly. She is sick and has stopped communicating using the serial SPI protocol to the SD Card. A total disassembly showed me that it is most likely the Beetle at fault, let's not cry over spilt electrons... I have a new Beetle arriving tomorrow along with a couple of other spares so I will try again! Never give up ;-)
-
30th May, 7pm - Scuba Hacker to present in-person and online at Microsoft Reactor, London - join me!
05/22/2023 at 09:40 • 0 commentsI'm very excited to report that I've just signed up to do a 30 minute presentation on 30th May at Microsoft Reactor, London (and online :-) ), to talk about my Mercator Origins sat nav project. I'll be covering the journey of discovery, my renewed passion for technology and of course go through the build and test of my invention.
Anyone with easy access to Central London... I would be thrilled if you came along - I need all the moral support I can muster, it will be my first ever presentation like this!
Sign-up on meetup or just add to the comments below, including your real name (or contact me directly via WhatsApp, my LinkedIn or email, below) , if you plan to come along and I will advise the organiser, Richard Kirby, of numbers and names.
Alternatively you can attend online. If you setup a meetup account you should be able to get a link - I'll check with Richard.
Meetup Event: Raspberry Pint - Raspberry Pi / Microcontroller Making & Nerding
When: 7PM to 9PM Tuesday 30th May
Where: Microsoft Reactor London
70 Wilson Street
London
EC2A 2DB United Kingdom
My linkedin: www.linkedin.com/in/markjonesatbpa
Or email me: linkedin@bluepad.co.uk
-
Scuba Hacker's Tools and Consumables
05/18/2023 at 07:25 • 0 commentsThese are my soldering tools and consumables. I haven't actually had need to use (1), (2), (6) or (9) but it's nice to have them on hand.
1. Antistatic wrist strap - protect your ICs / sensor modules.
2. Solder Flux
3. Damp Sponge for wetting/wiping solder tip
4. Tin solder (preferred over lead/tin solder)
5. Game-Changer: Tinning compound - good for cleaning/wetting tip. Better than sponge, use when the soldering iron seems to stop melting the solder despite being at 360 degrees C.
6. Solder Sucker
7. Game-Changer: Solder Braid - heat this up and press to solder blobs to suck away the solder from the joint. I prefer this to the solder sucker for tiny joints.
8. Game-Changer: Coiled wire for cleaning the solder tip - another way to clean the tip. Cannot have too many ways to maintain your tools!
9. Anti-static gloves - protect your ICs / sensor modules.
10. Game-Changer: Temperature controlled soldering iron - use 360 degrees C for soldering with 100% tin solder.
These are some of my other tools:
1. Helping Hand - useful for holding wires and components when soldering - literally a third hand.
2. Game-Changer: small vice - I prefer this to the helping hand. Hold components, sensors and wires for soldering.
3. Game-Changer: Magnifying Glass with LED - a little beauty! Head mounted. I used to use jeweller's loupes but these I found too difficult to use.
4. Different lenses for the magnifying glass. From weak to strong.
5. Game-Changer: A stepped drill, starting at 4mm going up to 22mm - titanium coated. This is the game-changer that allows me to quickly drill 6mm holes for the wet penetrator (cable/bulkhead connector) and 10mm holes for the depth sensor in the GoPro enclosure without excruciating 30 minute youtube videos showing how hard it is to do with regular HSS drill bits.
6. Magnifying glass - fits onto helping hand. Only use it for quick inspection of solder joints that are close together to make sure they are not shorting.
7. 16mm spanner/wrench for tightening the pressure sensor nut.
8. 12mm spanner/wrench for tightening the wet penetrator (cable/bulk head connector) nut.
9. Wire cutters - only use for normal copper stranded wire (and heatshrink) cutting to keep them sharp.
10. Game-Changer: DCC Concepts Wire strippers, specifically designed for fine wires. Can also be used for thicker wires.
And the bigger tools:
1. Original Black & Decker Workmate - circa 1980. This is an all-steel original Workmate which was my Grandad's, parts are still available! He taught me woodworking skills using this when I was a young lad. My Grandad also introduced me to electronics and soldering at a young age with one of those 101 electronic projects boards which had coiled springs to connect each of the components. Bless him, he passed away in 1992 and I miss him incredibly to this day. I so wish he could have seen this project.
2. Digital Micrometer - for measuring things accurately.
3. Dremel (non OEM, don't need Dremel brand) bits.
4. Dremel high-speed drill - with an extended power cable. You don't need an official Dremel drill, any will do.
5. Glue gun - hot temperature version.
6. DeWalt wireless drill with variable speed on trigger and three set selectable maximum set speeds. Any old drill will do.
These are the consumables I have found useful:
1. Model Filler - I have used this to help fix USB cable exiting the small plastic box holding the electronics in the float.
2. Game-Changer - 2mm thickness Nano Tape (or Gecko Tape) used for mounting the GoPro/console enclosure to the spool holding the cable. Easily removable without residue, yet extremely strong in operation.
3. Game-Changer - 1mm thickness Nano Tape (or Gecko Tape) used for mounting sensors and other small components in both float electronics box and the gopro console/enclosure. Easily removable without residue, yet extremely strong in operation.
4. Revel Contacta Professional - fine tip allowing precise application of plastic bonding glue. Used on exit points of fine wires from small plastic box in float.
5. Rocket Cyanoacrylate Superglue Gel - used at the beginning, careful of the vapours fogging nearby plastics including the GoPro enclosure.
6. Cotton thread - used to bundle together silicone wires for ease of handling - for example, the depth sensor has four wires so it's nice to keep them tidy by using some cotton thread to tie them together.
-
More ideas for public consumption...
05/16/2023 at 18:59 • 0 commentsIn the interests of public discourse, here are my future plans for the open source Mercator series of Sat Nav consoles: (this prevents patents from being raised by other parties because this blog demonstrates prior art for future patent applications.)
Mercator Origins:
Development status for (1): hardware built for (a) and (b), enclosure ready, software needs writing through integration of a number of existing sets of sample code. haptics may be possible with no-cone speakers used for (a) and (b), the bone conductor transducer is sat in the lab but the questions concerning waterproofing, power and radio are still all on the table.
1. Underwater audio testing for (a) verbal instructions - turn left, turn right, go ahead. (b) tone diections, (c) haptic/vibration directed guidance, (d) bone conductance transducer for personal audio communication requiring wireless comms between the diver's console and the diver. The intention is to prepare the ground for providing water-borne navigation/guidance assistance to individuals who are partially sighted or blind.
Development status for (2) : lasers and sensors are in the lab and waiting for breadboard testing. Laser driver circuits and components are also ready for testing. Should be a case of 'just' mounting the lasers and the photo sensors opposite each other in the two enclosures, on either side of the cable spool.
2. Addition of second GoPro enclosure to the spool (on the opposite to the guidance console) held by the diver which houses the audio/vibration transducers for enabling audio/haptic guidance features. The two gopro enclosures then need to communicate with each other, namely the guidance console needs to direct the audio module to 'speak' left, right or straight ahead using whatever audio comms method is preferred by the diver. The audio console also needs volume up/down buttons enabling, together with stop/start audio directions. Thus a bi-directional comms link is needed between the two enclosures. I do not want to drill holes for a cable between the two enclosures as this will increase risk of leakage and also require an awkward sub 10cm cable joining the two enclosures. My proposal is to use two lasers to communicate across the 10cm or so of water between the two modules, one laser for each 'direction' of communication.
Mercator Elements
* Development Status: Complete (capability was required to function in the pressure pot test for Mercator Origins)
* Standalone console/enclosure using the same code as Mercator Origins, no cable or float required, that can be used for water surface activities such as snorkelling, kayaking, windsurfing, kitesurfing and kayaking. All functionality of Mercator Origins except (1) no depth sensor and (2) only one M5 Stick C Plus in console enclosure because the remaining space needs to be occupied by an onboard battery. Still connects to the internet via wifi and sends telemetry including location - will require user to have their phone in hotspot mode in a waterproof pouch on their person which Mercator Elements will connect to.
Mercator Discoveries
* Development Status: Conceptual plans in motion, hardware sourcing in progress.
* A brand new enclosure/float capable of navigation and live video streaming of the dive to the internet, as well as telemetry upload to the internet.
Other Areas for Research - Long Term Vision
* navigation via underwater triangulation using an array of underwater radio or sonar beacons. Avoids need for float and cable, allows for wreck penetration.
* navigation within underwater caves using short wave radio beacons placed on the surface above the cave system to triangulate location.
-
At last! Following successful sea trials in Gozo, github now has all the code publicly accessible!
05/16/2023 at 16:01 • 0 comments---> Click there for Mercator Origins Code Repos <----
All code has been developed using the Arduino IDE, hence the monstrously sized INO file for each of the three mercator-origins projects. Lots of tidying up to do, the major one will be moving to VS Code environment which may only happen in June.
These are the repos: (top three all named after shark species!)mercator-origins-lemon
the code running on the M5 Stick C Plus is the yellow float at the sea surface that connects to the GPS, connects to the internet via WiFi hotspot and connects the diver console with the sub-sea up/down link.
mercator-origins-mako
The code running on the M5 Stick C Plus in the diver's console gopro enclosure that is running the navigation and guidance software. It also has all sensors (except leak detector) wired into it.
mercator-origins-tiger
The clock/uptimer/downtimer shown on the second M5 Stick C Plus in the console go-pro enclosure. Connects to the leak detector only at present.
stockingcutting-ga
My Master's dissertation and code for stock cutting (using a Genetic Algorithm AI engine) that will be adapted later on to be a travelling salesman-type engine that will provide optimised dive planning for many-waypoint journeys.
-
Live track from Xlendi, Gozo in 10 mins!
05/15/2023 at 10:06 • 0 commentsSee live track dashboard with depth here:
See my facebook live intro here:
https://m.facebook.com/story.php?story_fbid=3464289803832260&id=786240245