Skip to content

MEGA GUIDE

James P. Duffy edited this page Dec 2, 2019 · 29 revisions

Sonic Kayak Components & Build Manual

Combinations of components

The sonic kayak system can be built in several different ways. Some components are essential, while others are optional. Three combinations of components follow:

  1. A GPS-only system with no environmental sensors attached. This system requires a Raspberry Pi, USB stick, GPS unit, a bluetooth speaker and system housing.

  2. A GPS and temperature sensor system. This system requires a Raspberry Pi, USB stick, GPS unit, two temperature sensors, a bluetooth speaker, system housing and a cable gland.

  3. A GPS, temperature and hydrophone system. This is the most comprehensive system and requires a Raspberry Pi, USB stick, GPS unit, two temperature sensors, a hydrophone, a pre-amp, wired speakers, system housing and two cable glands. [Note: hydrophone not yet configured to work with bluetooth speaker]

Components

Kayak

The Sonic Kayak system is designed to work with 'sit on top' kayaks, due to the availability of space to house extra cargo (such as electronics and speakers) on most models.

Also, a user will require a paddle and any desired safety equipment such as buoyancy aids and helmets.

System Housing

Some of the electrical components used in the Sonic Kayak system require protection from the elements, especially in the marine environment.

The Bopla Bocube general purpose enclosure is a waterproof and dustproof plastic box used to house the electronics of the Sonic Kayak system. The box measures 271 x 170 x 90 mm and has a transparent lid (chosen so that components can be easily seen) that requires a flathead screwdriver to open.

Deck eye plates with hooks need to be attached to the housing to allow for it to be secured to the kayak.

Once the system construction is complete, place the silica gel packet at the bottom of the box, then assemble the electronics frame, and secure electronic components.

Cable Glands [optional]

Some sensors require cables to run from inside to outside the system housing, allowing contact with the natural environment, whilst keeping components inside the box dry. This can be achieved with cable glands.

An Index Marine DR1 gland can be attached to the side of the system housing. Holes of the required diameter can be drilled into the rubber part of the gland, enabling a snug fit of the cable through the gland.

An Index Marine DG30 gland can be attached to the side of the system housing. One hole of the required diameter can be drilled into the rubber, and a vertical slit made with a craft knife (if required when the cable attachment is bigger than the cable). This gland is suitable for cables with connectors larger than the cable diameter.

Electronics Frame

To ensure that electronic components within the system housing are organised and at lower risk of interference with each other, a plywood frame was custom designed. The frame was designed to be easy to construct (no tools required), to make the system more visually appealing, and mainly to keep the battery and GPS separate from other components. The different parts of the frame can be cut from plywood or similar materials with a laser cutter. The main plates require glueing together with wood glue and g-clamps.

Raspberry Pi

The Raspberry Pi is a single board computer that can run software, record data and communicate with a variety of external components. The Sonic Kayak system uses a Raspberry Pi 3B.

The operating system and associated software is stored on a micro SD card. This can be backed up and copied from other Sonic Kayak Systems.

Area specific sound files and logs are stored on a USB stick, which has been formatted to work with Linux systems. [ADD GUIDE]

Power Supply

The Sonic Kayak system is powered by a small USB connected battery. An Anker Astro E1 5200mAh device is used (the electronics frame is designed to fit this model). A short (~15 cm) micro USB to USB cable is used to connect the battery to the Raspberry Pi.

GPS Module

Positional information is crucial to the Sonic Kayak system and therefore a reliable and accurate GPS unit is required. The ublox M8N chip (combined with a compass is used). This chip allows access to Galileo (the European network of positioning satellites) giving the possibility to connect to more satellites at a given time and in turn derive a more accurate position.

To enable communication with the Galileo satellites, and to allow the sensor to communicate with the Raspberry Pi through a serial connection, some modification to the wiring and software configuration.

Speaker

The Ultimate Ears Megaboom 3 is a rugged, waterproof wireless bluetooth stereo speaker. It was chosen as it is designed to be resistant to the elements and should therefore fare well on a kayak on open water. Also, this means that fewer cables need to be used - ultimately reducing the risk of tangling and water ingress. It also has reasonable bass and maximum volume. The Raspberry Pi 3B has an onboard bluetooth sensor, and the speaker connects to it with some configuration.

Temperature sensors [optional]

Two Waterproof DS18B20 sensors can be connected to an Arduino adapter. Both sensors can be wired into one adapter, which is then wired into the Raspberry Pi.

If using these sensors, modifications to make the sensors robust and to aid their positioning once in the water are required.

Hydrophone [optional]

A DolphinEar DE-PRO balanced hydrophone is used with the Sonic Kayak System. The Index DG30 marine gland is required for the hydrophone.

Pre-amp [optional]

Currently a Tascam iXZ mic & guitar interface is used as a pre-amp. It is powered by 2 x AA batteries and requires wired speakers. It does not work with bluetooth.

Configuration & Modification Guides

Box, Fixtures & Straps

Fitting and Modifying the Index D1 Marine Gland

The gland comes with ~4 mm screws for fitting to a surface. However, as the box wall is thin, and the sharp ends of the screws would be protruding into the inside of the box. Therefore it is good to replace these with bolts (e.g. M4 x 16) allen cap bolts, nuts and washers. The flat heads of allen caps keep flush behind the rubber gasket.

  1. Mark hole positions on outside of box (using the foam layer of the gland as a guide).

  2. Drill holes.

  3. Attach foam and plastic layers of the gland using the screws provided (as they will more easily go through the plastic in the side of the box, and in the process make them slightly bigger ready for the bolts).

  4. One by one, remove the screws, and replace with the bolts. Don't fully tighten them until all bolts are in place.

  5. Tighten nuts and washers on the inside of the box (with optional silicon sealant).

  6. Freeze gland rubber before drilling, making it easier to keep the hole in one position. Ensure that holes in gland are > 8 mm from shroud edge, > 6 mm from another hole and no more than 1 mm bigger than the diameter of the cable.

  7. When drilling its easiest to clamp the gland down onto some scrap wood and drill through, or have someone hold the rubber and move it up and down the spinning drill bit. Drilling through rubber takes time and it will take several passes to create a hole of the desired size.

  8. At this stage, it is sensible to attach any modifications to the cables before feeding them through the gland. For example, for temperature sensors, protective tubing, weights and floats should be attached. Details of this can be found here.

  9. Attach the rubber gland to the box with the metal gasket, and use the holes in the rubber as a guide to drill holes in the side of the box. Once all holes are drilled, remove the rubber gland, and ensure that holes in the side of the box are the correct diameter for the incoming cables.

  10. Feed the cables through, using pliers if necessary, ensuring there is enough useable cable on the inside of the box to be attached to relevant components.

  11. Attach rubber gland and metal gasket to the plastic layer of the gland on the box with screws provided.

Fitting and Modifying the Index DG30 Marine Gland

As with the D1 Marine Gland, it is recommended to replace the fixing screws with flathead bolts. Follow steps 1-5 of the D1 guide, then do the following:

  1. Drill a hole in the side of the box big enough so that the hydrophone connector can be passed through it (with a snug fit). This can be achieved by drilling multiple holes with a smaller drill bit and then using a dremel component to file/sand away the edges to make a circular hole.

  2. Freeze the gland and drill a hole in the centre of the rubber. Make sure the hole is no more than 1 mm bigger than the diameter of the cable.

  3. Use a scalpel or similar sharp knife to cut a vertical slit from the top outside edge of the gland to the hole in the middle.

  4. Feed the cable through the slit and hole, ensuring the hydrophone connector is fed through the inside of the box.

  5. Attach the rubber gland and metal gasket to the plastic layer of the gland on the box with the screws provided.

Fitting Deck Eye Plates

  1. Mark holes (optionally using masking tape to draw on) on the two short edges of the box. Ensure that the height does not conflict with the wooden electronics mount.

  2. Drill holes into the side of the box (<= 6 mm).

  3. Optionally shorten the shaft of the bolt (by ~50%), so that it doesn't protrude into the inside of the box. This can be done with a hacksaw or dremel metal disc cutter. It may be easier to do this with the dremel once the next step is complete.

  4. Twist plate to screw into box, adding a bit of silicon sealant on the inside and outside. Secure with nut.

Making Straps

Three identical straps are needed for securing the Sonic Kayak system to a standard sit-on-top kayak. You will need to either use a sewing machine to stitch these, or sew by hand. To stop the ends of the webbing from fraying, run a lit match along the cut edge to melt the fibres together.

Each strap requires:

  • 70 cm of webbing
  • 2 metal D-rings
  • 2 carbine hooks
  • 1 plastic tension lock

Piece 1:

Piece 2:

Piece 1 and 2 together:

Raspberry Pi

Reading and Writing Sonic Kayak System images

The easiest way to set up the software on the Raspberry Pi is to copy an image of the operating system (Raspbian) and its associated software onto an SD card. To make a copy of an SD card onto a laptop/PC:

  1. While running a Linux operating system, insert the micro SD card (with an SD card adapted) into the PC/Laptop.

  2. Unmount any drives associated with the SD card.

  3. cd /dev to see which devices are listed.

  4. Physically remove the SD card from the machine and see which devices disappear.

  5. Re-insert the SD card into the machine (unmount) - confirming the name of the drive that appears.

  6. Run sudo dd if=/dev/mmcblk0 of=name_of_image.img bs=5M. Where if is the input file, of is the output file and bs is the bytesize for transfer.

  7. Optionally run gzip name_of_image.img to store in a compressed format.

The process can be reversed. To copy an image from a laptop/PC onto an SD card:

  1. Run sudo dd if=name_of_image.img of=/dev/mmbclk0 bs=5M.

Bluetooth configuration

To enable sounds to be transmitted over a Bluetooth connection, the speaker needs to be paired with and connected to the Raspberry Pi. A few bits of software configurations are also required:

  1. Ensure that speaker firmware is up to date. For the Wonderboom speaker currently used, this involved connecting the speaker to a phone running the Ultimate Ears App.

  2. Whilst in the terminal on the Raspberry Pi (either directly or remotely with SSH), run bluetoothctl to initialise the Bluetooth control program.

  3. Use scan on to see available devices.

  4. Enter Bluetooth speaker into pairing mode (For the Wonderboom speaker this is done by holding down the small dot button on top of the device).

  5. Remain in scanning mode and once the desired device and it's address appear use pair to pair devices. E.g. pair E0:JF:93:3D:45. Note that tabbed autocomplete can be used to print the full address in the console.

  6. Then use connect E0:JF:93:3D:45.

  7. Leave the bluetoothctl program with exit.

  8. Now navigate to the home directory of the sonic kayaks system and open .asoundrc for editing (e.g. with nano .asoundrc).

  9. Ensure that the address of the bluetooth speaker (as seen in bluetoothctl) is stated on line 5.

  10. Now navigate to app-kayak/src/start_jack.sh and open for editing.

  11. Repeat step 9.

Temperature sensors

Adding protective tubing, weights and floats

In order to make the temperature sensors more robust in the marine environment, and also to help position them in the water column, some tubing has been cable tied to the sensor cables, leaving the metal end exposed. A 4oz lead fishing weight is cable tied to the end, and a spherical cork float cable tied to the cable, near where it enters the gland.

GPS sensor

Modifying GPS sensor wiring

The GPS is connected to the RPi through a Serial UART connection. This means that the connectors need to be changed to 'servo' style pins so that they can be attached to the pins on the RPi.

To do this, the existing connector was snipped off, the wires stripped back and crimped with new connectors. Once all 4 connectors have been crimped, they can be pushed into a plastic 4x1 plug [red/black/yellow green] to plug into pins 4,6,8 & 10. These are 5V power, ground, UART Tx and UART Rx. Alternatively, cables can be soldered to header pins (we found that due to the thin wires, crimping sometimes didn't hold in place, although doubling them back on each other helps - to increase the thickness of the wire). Note that the GPS Rx goes to RPi Tx and vice versa.

Configuring M8N sensor with UBLOX software

Newer models of GNSS receiver such as the UBLOX NEO-M8N have the capability to receive positional information from more than one constellation of satellites. This increases the potential positional accuracy as more satellites can be utilised to resolve the position of the receiver. By default, this model is configured to work with GPS and GLONASS. However, it can also be modified to work with Galileo satellites.

  1. The u-center software only runs on Windows operating systems and is the only possible way of configuring ublox GNSS receivers. Therefore one must find a way to connect the serial cables to the USB port on a laptop or PC running the software.

  2. This can be done with a USB to serial cables such as the FTDI TTL-234X-5V-WE, which has a USB 2.0 connector at one end, and 6 bare cables at the other. Four of these cables match the cables found on the ublox reciever and should be connected as follows: PWR->PWR GND->GND RX->TX TX->RX. Header pins can be crimped onto these cables or soldered as preferred.

  3. Once the receiver is connected to the USB cable, open the u-center software.

  4. Set the connection to the correct COM port (pointing to the USB device) and set the baud rate to 9600. Now click connect.

  5. Ideally be outside whilst doing this or have the receiver near a window so that some satellites can be seen.

  6. Use View -> Text Console to see the incoming NMEA data from the receiver. If messages are incoming then this is confirmation that the wiring PWR/GND/Rx wiring is good.

  7. Next, open the View -> Messages window. This allows the user to send commands to the Receiver. Lots of configuration can be performed within these menus. To test that the Tx wiring is correct, navigate to UBX-MON-VER and click 'Poll' to obtain this information. If the fields populate with the firmware version (i.e. 3.01) then the wiring is correct and you are able to send information to the receiver.

  8. To enable Galileo satellites, remain in the Messages window and navigate to UBX-CFG-GNSS and tick the 'Enable' box for Galielo. Click the 'Send' button to action this change.

  9. Next, navigate to UBX-CFG-NMEA and change the NMEA Mode to '4.1'. Again click the 'Send' button to action this.

  10. Close the Messages window. You may be asked if you wish to save changes, say 'Yes' and on the following screen, ensure that 'Save current configuration' is selected and click 'Send'.

  11. Leaving the receiver by a window or outside for a period of time (30mins-2hours?) should eventually result in the location of Galielo satellites.

  12. Use the skyview plot on the main screen of u-centre to see which satellites are visible, and Galielo platforms will be labelled with a European flag.

Ultimate Shopping List [for system without hydrophone]

Kayak kit
  • 1 x Sit on top kayak
  • 1 x Paddle

Housing
  • 1 x Bopla bocube box
  • 2 x Round deck eye plates with M6 threaded stud and nut
  • 1 x Silica gel packet
  • 1 x Index DR1 marine gland [optional]
  • 4 x M4 x 16 Countersunk Socket/Allen Cap Marine Grade Nuts and Screws [optional]
  • 1 x Electronics frame [laser cut from plywood]

Straps
  • Nylon webbing (25mm wide x 3 m long)
  • 6 x Stainless steel Metal D-rings (25mm)
  • 6 x Stainless steel carbine hooks with no eye (40-60mm)
  • 3 x Plastic tension lock
  • 1 x wide D / U bolt / U shackle (~30 mm wide)
  • 1 x Spool of strong polyester or nylon thread

Computer
  • 1 x Raspberry Pi 3B+
  • 1 x 16GB micro SD card
  • 1 x 16GB USB Stick

Sound
  • 1 x Ultimate Ears MegaBoom 3 Waterpoof Bluetooth Speaker

GPS
  • 1 x Ublox NEO-M8N GPS with compass

Temperature
  • 2 x Waterproof DS18B20 temperature sensors
  • 2 x 4oz lead fishing weights
  • 2 x Spherical cork floats

General
  • Cable ties
  • Cable crimping components
  • Silicon sealant (and dispensing gun)
  • Wood glue

Ultimate Tools List

  • Cable crimper
  • Wire strippers
  • Soldering Iron and Solder
  • G-clamps
  • Tweezers
  • Needle nose pliers
  • Scalpel or sharp knife
  • Various sized spanners
  • Various sized crosshead screwdrivers
  • Flathead screwdriver
  • Dremel and multiple drill bit and sanding/filing attachments
  • Sewing machine
  • Electric drill and various sized drill bits (for drilling into plastic and rubber)

Example component links

Clone this wiki locally