Summary of Audible Frequency Chirp Sonar with the Stellaris Launchpad
This article details the development of an underwater sonar system for ROVs and boats, progressing from a Windows-based prototype to a microcontroller implementation. The author selected the Stellaris Launchpad for its high-speed ADC and RAM capacity to record audio echoes. The system generates a chirp waveform sent to a piezo speaker powered by 27V from three nine-volt batteries. This approach allows detection of multiple echoes, offering more environmental data than standard low-cost modules.
Parts used in the Underwater Sonar System:
- Stellaris Launchpad
- Desktop conferencing USB speaker/mic
- Piezo speaker
- Simple transistor circuit
- Three nine-volt batteries
- Teensy 3.1 (potential upgrade)
Over the last year I’ve been working towards an underwater sonar system for ROVs and surface boats. In order to learn the basic signal processing required to detect the echoes, I initially got a simple sonar working in air with a desktop conferencing USB speaker/mic running on Windows. A writeup, including source, is here. That article describes the algorithms used in detail and would be a good read if you want the details of how this works.
The next logical step seemed to be to get it working on a microcontroller. There are plenty of low cost ultrasonic sonar modules available that work really well in air, but the idea was to work towards getting a sonar that worked in water. There are currently no low cost sonar modules for hobby use in water. Additionally, the low cost modules only give one echo – with a signal processing approach like this, you get a series of echoes that may convey more information about the environment. As an example, a boat floating above a school of fish could detect both the fish and the bottom.
I selected a Stellaris Launchpad because of the high speed analog to digital converters (ADC) and the 32 Kof RAM. At the required sample rates, the Launchpad has just enough RAM to send a chirp, and then record a fraction of a second of audio so that the echoes can be determined. Higher frequency sound will require a higher sampling rate, so I may need to switch to a Teensy 3.1, which has 64K of RAM.
A chirp waveform is computed and sent to a small piezo speaker driven by a simple transistor circuit. The piezo supply voltage (VCC in the diagram below) is provided by 3 nine-volt batteries in series to obtain 27V. This diagram shows how it is connected. This is not my diagram – I found it online, but I don’t have a reference. If this is yours, please drop me a line.
For More Details: Audible Frequency Chirp Sonar with the Stellaris Launchpad
- Why did the author choose the Stellaris Launchpad?
The device was selected due to its high speed analog to digital converters and 32K of RAM. - What voltage powers the piezo speaker?
The piezo supply voltage is 27V, obtained by connecting three nine-volt batteries in series. - Can this system detect multiple echoes?
Yes, unlike low cost modules that give only one echo, this signal processing approach yields a series of echoes. - What is a potential alternative microcontroller mentioned?
The Teensy 3.1 is suggested as a switch if higher sampling rates are needed due to its 64K of RAM. - How does the sonar work in water compared to air?
The project aims to move from working in air to working in water where no low cost hobby sonar modules currently exist. - What information can be gained from multiple echoes?
Multiple echoes can convey more information about the environment, such as detecting both fish and the bottom. - What type of waveform is computed for the system?
A chirp waveform is computed and sent to the piezo speaker driven by a transistor circuit.

