Hackster is hosting Hackster Holidays, Ep. 6: Livestream & Giveaway Drawing. Watch previous episodes or stream live on Monday!Stream Hackster Holidays, Ep. 6 on Monday!
Bob Hammell
Published © GPL3+

Underwater Sound Beacons for Visually Impaired Swimmers

This audio device enables swimmers with limited vision to safely navigate through the pool using their sense of hearing.

IntermediateFull instructions provided4 hours797

Things used in this project

Hardware components

Adafruit Feather RP2040
×1
Adafruit I2S 3W Class D Amplifier Breakout - MAX98357A
×1
Adafruit Bone Conductor Transducer with Wires - 8 Ohm 1 Watt
×1
Rubber O-Ring 60mm OD 56mm ID 2mm Width
×1
Adafruit Lithium Ion Polymer Battery - 3.7V 350mAh
×1
M2.5X5 Screws
×6
Adafruit JST 2-pin Extension Cable with On/Off Switch - JST PH2
×1
2lb dive weight
×1

Hand tools and fabrication machines

3D Printer (generic)
3D Printer (generic)
Jumper Wire, Bundle
Jumper Wire, Bundle
Soldering iron (generic)
Soldering iron (generic)

Story

Read more

Custom parts and enclosures

Beacon Body

Cylindrical body which houses beacon electronics

Beacon Cap

Cylindrical cap which attaches to the beacon body

Beacon Mounting Plate

Plate that includes mounting holes for electronics

Schematics

Wiring Schematic

Schematic showing the wiring between the components

Code

code.py

Python
Main Python script uploaded to the Feather RP2040
import time
import board
import audiobusio
import audiocore

# Audio output object
audio = audiobusio.I2SOut(board.D24, board.D25, board.A3)

# Define sound to play
sound = '3_meters'

# Open sound wave file
wave_file = open('sounds/' + sound + '.wav', 'rb')
wave = audiocore.WaveFile(wave_file)

# Main loop
while True:
    # Play selected sound
    print("Playing:", sound)
    audio.play(wave)

    # Delay
    time.sleep(5)

Credits

Bob Hammell

Bob Hammell

8 projects • 25 followers
Developer interested in Python, Arduino, & Matlab. Background in Image Processing and Remote Sensing.

Comments