The USMART project recently completed after running from summer 2017 to the beginning of 2021 (with a slight extension thanks to the pandemic). One of the threads that ran through this project was the research, development, and use in field trials of a miniature acoustic modem. This page covers the story of this development, some of the projects that use the modems, links to publications, and to other resources such as Python drivers for getting started with the modems.

This is a live document. More information, links, and resources may be added to this page in due course.

Last update: 2022-08-12

Development of the NMv3 Experimental Prototype Modem

The NMv2 modem had proved to be an enabler already - some projects became more feasible. Those that needed compact, low-power, and (most importantly) low-cost, modems in significant quantities to attach to multitudes of robots for positioning and control communications.

The NMv2 performed well, however it had limitations in data rate and payload size. To improve on this needed more advanced modulation schemes and error correction to increase the data rate and reliability. This in turn needed more advanced hardware, all whilst keeping the headline energy consumption to the same low levels of the NMv2. The NMv2 used an 8-bit microcontroller, with the NMv3 we moved to a low-power ARM Cortex M0+. Details about the modulation and its performance in simulations and field trials can be found in the article: Ultra-Low-Cost and Ultra-Low-Power, Miniature Acoustic Modems Using Multipath Tolerant Spread-Spectrum Techniques

Benchtop Development

development01 development02
Taking rudimentary power measurements of the NMv2 for comparison Indicative power measurements of dev board before optimisations
development03
Programming the completed PCBs

Potted prototypes for field trials

The protoype potted modems were handmade in the lab back in 2018/2019 and used by SEA Lab and our partner research organisations on the USMART project. These protoype units are still working great after years of use and are now being used on new research projects.

prototype-assembly-potting-collage
Potting modems
prototype-assembly-multiple01 prototype-assembly-multiple02
Assembled and ready for potting Part way through the mass potting process
prototype-assembly-wetmate-connector
A different mould tool and with a wet mate connector

Field Trials

field-trials01 field-trials02
Loch Earn, March 2019. Listening to the acoustic messages with a hydrophone. Viewing the signals live on a spectrogram. Viewing the messages using a software receiver (SDM) connected to the audio stream. Croatia, September 2019. Hydrophone and software receiver on the laptop to monitor acoustic messages between ecoSUB vehicles.

Projects using the modem technology

hudson-equipment
HUDSON sensor nodes and vehicle ready for deployment
usmart-equipment01 usmart-equipment02
USMART Sensor Nodes and Gateway Ready for deployment
ecosub-equipment
ecoSUB vehicles at Breaking The Surface
nanopam-equipment
NanoPAM Sensor Node with Modem and additional Soundtrap ready for deployment

Publications

Sherlock, B.; Morozs, N.; Neasham, J.; Mitchell, P. Ultra-Low-Cost and Ultra-Low-Power, Miniature Acoustic Modems Using Multipath Tolerant Spread-Spectrum Techniques. Electronics 2022, 11, 1446. https://doi.org/10.3390/electronics11091446

Commercialisation of the Modem Technology

Our partner technology company is now manufacturing commercially available acoustic modems based on the NMv3. More information can be found at Succorfish DELPHIS.

Resources to get started

The modems themselves were designed to be lightweight in terms of their user interface. You can get going straight away with a simple text-based terminal program, and send and receive messages with ease. I have also developed some Python-based resources, such as a driver for easier integration into research software, and some basic simulators to exercise your hardware nodes, or test out network protocols. These are all available on GitHub along with more documentation on how to use them at https://github.com/bensherlock/nm3-python-driver.

Firmware updates and new features

The modems have a built-in bootloader which enables the main firmware to be changed with a simple Python script on the PC. It’s possible to upgrade to a later version or even install an older version of the firmware. Some projects even use bespoke firmware to operate the modems in a very different way, such as our Underwater GPS nodes.

There are firmware updates available with additional features. The original messages and commands are still present, however there are now additional built-in diagnostic functions available. Measuring ambient noise and taking spectral measurements can help identify problem noise sources if communications reliability is degraded. Additional information on received packets about doppler and quality can also help identify problem channels when making routing decisions in networks. Channel impulse responses give a view of the reverberations characteristics of a channel between two nodes.

There are also additional options for accurate timestamping of received messages, and options for short term scheduled outgoing transmissions. Ideal for accurate timing applications (positioning etc.) where the modem is connected to a device with a non-realtime operating system.

If you are interested in adding this functionality to your Succorfish DELPHIS modems then please get in touch.

Further development

Driving down the power consumption of the modem when it is in listening mode is a major focus. A modem on a sensor node in a long term deployment (without duty cycling) could typically spend 90%+ of its time in this state waiting for incoming acoustic messages. So any reduction in the power consumption in this state will help extend the lifetime of a battery-operated node.