
TUSS4470 shield
Neumi/open_echo
Open Source echo sounder / depth sounder / SONAR for bathymetry and research. Arduino based and compatible.

Open Source echo sounder / depth sounder / SONAR for bathymetry and research. Arduino based and compatible.
Phased is an open-source printed circuit board by Neumi, from the Neumi/open_echo repository on GitHub. It is a 2-layer board of 75 × 100 mm with 77 parts on 73 nets, routed with 445 tracks and 235 vias.
It is built around the MCP6004-E/P, LM339 and MMBT2222A. Its parts include 35 resistors, 13 capacitors, 7 connectors, 4 ICs and 1 transistor. It belongs with the sensors and measurement boards and the RP2040 boards of this library.
An ongoing open-source hardware and software project for building sonar systems for testing, boating, bathymetry, and research.
Discord | Getting Started Guide | Hardware Files
Open Echo makes SONAR technology accessible for developers, researchers, and hobbyists. It supports a wide variety of commercial and DIY ultrasonic transducers in both water and air, covering frequencies from 40 kHz up to 1000 kHz.
Use cases range from reverse-engineering car parking sensors and reading depth data on a yacht, to operating a Lowrance Tripleshot side-scan transducer or streaming data to a Pixhawk on a custom boat.
The primary development platform is the TUSS4470 Arduino Shield. It stacks directly on top of an Arduino Uno to drive the TUSS4470 ultrasonic driver.
Upcoming Board: A new development version is in the works and will hopefully be released in the coming weeks. It features an on-board boost converter and slightly improved signal routing.
openechoes@gmail.com.Note: All profits go directly toward supporting the project. Please understand that I can only provide support if you order the boards directly from me or Elecrow.
The Python Interface Software connects to boards running the RAW Data Firmware. It serves as a simple backend to view live echograms and output TCP depth data streams. (Configuration tweaking directly from the UI will be added later).
Live echogram in water (6x speed):

(Static raw data waterfall chart available here)
Tested using a built-in 150 kHz SEAFARER transducer, powered at 15-20 V via an MT3608 boost converter from USB. Data capture in the plots begins at the bottom.
![]() 38 m range test |
![]() Kiel Channel sand and mud |
![]() Slope near Stollergrund |
![]() Stones and sandy seabed |
![]() Fish detection |
![]() Multiple reflections and seaweed |
Open Echo has been tested with multiple transducers. Here is a curated list of tested hardware:
| Transducer Name | Rating | Description | Freq. | Range Air/Water | Price | Link |
|---|---|---|---|---|---|---|
| NASA / Seafarer 150kHz | ⭐⭐⭐ | NASA in-hull boat transducer for echo sounding / fish-finding | 150kHz | >2m / >50m | 50-100€ | Link |
| Raymarine CPT-S | ⭐⭐⭐ | High-quality in-hull transducer with two frequencies | 50/200kHz | 2m / >50m | 200€ | Link |
| Lowrance Tripleshot | ⭐⭐⭐ | Sidescan transducer (three FANS + temp + down-scan) | 200/455/600kHz | 0m / >20m | 200€ | Link |
| Cheap Bathymetry | ⭐⭐⭐ | Good range and price/performance (can be hard to order) | 200kHz | 2m / >30m | 25€ | Link |
| Car Parking Sensor | ⭐⭐ | Great for air, works in water (not recommended for marine) | 40kHz | >7m / >30m | 5€ | Link |
| Water Flow Sensor | ⭐⭐ | Cheap (Air & Water). Very narrow beam in water (~5°)! | 1000kHz | 0.25m / >10m | 16€ (5pcs) | Link |
| Sinter Glass (Air Only) | ⭐ | Sinter glass matching layer, strictly for air use | 200kHz | 0.8m / (>8m) | 10€ | Link |
| Encapsulated Transducers | ⭐ | Good for short-range testing at higher frequencies | 200-400kHz | ?m / ?m | 9-18€ | Link |
| Small PZT Only | ⭐ | Bare component, only for raw experimentation | 200kHz | 0.2m / ?m | 10€ | Link |
Note: The range values were measured using the TUSS4470 shield on an Arduino Uno with an MT3608 boost converter set to 20V for
vDRV. Consider them approximate.
Tip: Lower frequencies propagate farther, while higher frequencies produce narrower beams and more detailed echoes. For bathymetry, the first four options work best. Most commercial marine-grade transducers are suitable as long as they operate between 40 and 1000 kHz.
https://www.youtube.com/watch?v=R3_NO2F7PsI
https://www.youtube.com/watch?v=msbLVsY8xhQ
https://www.youtube.com/watch?v=eJ8jVEQSx_Y
https://www.youtube.com/watch?v=Bxh3rWd5RZk
https://www.youtube.com/watch?v=UDYWQIizN7A
A big thanks to www.kogger.tech for their continued support!
Thanks to our contributors:
If you use open_echo in your work or research, please cite the project:
BibTeX:
@misc{open_echo,
author = {Jan Neumann},
title = {open\_echo},
year = {2026},
publisher = {GitHub},
journal = {GitHub Repository},
howpublished = {\url{[https://github.com/Neumi/open_echo](https://github.com/Neumi/open_echo)}},
note = {ORCID: [https://orcid.org/0009-0003-9829-8959](https://orcid.org/0009-0003-9829-8959)}
}| Qty | Value | Footprint | References |
|---|---|---|---|
| 10 | 10k | Resistor_SMD:R_0603_1608Metric | R1, R2, R6, R10, R14, R18, R22, R26, R30, R34 |
| 9 | 1k | Resistor_SMD:R_0603_1608Metric | R5, R7, R8, R9, R11, R12, R13, R15, R16 |
| 8 | 100k | Resistor_SMD:R_0603_1608Metric | R17, R21, R25, R29, R33, R35, R36, R37 |
| 8 | 1M | Resistor_SMD:R_0603_1608Metric | R19, R23, R27, R31, R38, R39, R40, R41 |
| 8 | 1uF | Capacitor_SMD:C_0603_1608Metric | C8, C9, C10, C11, C16, C17, C18, C19 |
| 8 | Microphone_Crystal | Connector_JST:JST_EH_S2B-EH_1x02_P2.50mm_Horizontal | MK1, MK2, MK3, MK4, MK5, MK6, MK7, MK8 |
| 4 | 100nF | Capacitor_SMD:C_0603_1608Metric | C12, C13, C14, C15 |
| 4 | MountingHole | MountingHole:MountingHole_3.2mm_M3 | H1, H2, H3, H4 |
| 2 | LM339 | Package_SO:SOIC-14_3.9x8.7mm_P1.27mm | U1, U3 |
| 2 | MCP6004 | Package_SO:SOIC-14_3.9x8.7mm_P1.27mm | U2, U5 |
| 2 | MT3608_GND | Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical | J5, J6 |
| 1 | 10uF | Capacitor_SMD:C_0603_1608Metric | C3 |
| 1 | BOOST_ENABLE | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J7 |
| 1 | Conn_01x12_Pin | Connector_PinHeader_2.54mm:PinHeader_1x12_P2.54mm_Vertical | J1 |
| 1 | GND | TestPoint:TestPoint_Loop_D2.54mm_Drill1.5mm_Beaded | TP2 |
| 1 | MMBT2222A | Package_TO_SOT_SMD:SOT-23 | Q1 |
| 1 | MT3608_IN | Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical | J4 |
| 1 | MT3608_OUT | Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical | J3 |
| 1 | OUT_SELECT | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J2 |
| 1 | R_Pot_10k | Potentiometer_THT:Potentiometer_Bourns_3296W_Vertical | RV1 |
| 1 | RaspberryPi_Pico_W | Module:RaspberryPi_Pico_Common_Unspecified | A1 |
| 1 | Transducer_TX | Connector_JST:JST_EH_S2B-EH_1x02_P2.50mm_Horizontal | MK9 |
| 1 | U_TRIGG | TestPoint:TestPoint_Loop_D2.54mm_Drill1.5mm_Beaded | TP1 |
It measures 75 × 100 mm and has 2 copper layers, 1.6 mm thick.
77 parts, built around the MCP6004-E/P, LM339 and MMBT2222A. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the Neumi/open_echo repository on GitHub, at the commit this page was made from: the board is development/phased_array_001_pico/phased.kicad_pcb and its schematic TUSS4470_shield_002/TUSS4470_shield_hardware/TUSS4470_shield/TUSS4470_shield.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask Neumi before reusing the design.

Neumi/open_echo
Open Source echo sounder / depth sounder / SONAR for bathymetry and research. Arduino based and compatible.

Neumi/open_echo
Open Source echo sounder / depth sounder / SONAR for bathymetry and research. Arduino based and compatible.

Neumi/open_echo
Open Source echo sounder / depth sounder / SONAR for bathymetry and research. Arduino based and compatible.

Neumi/open_echo
Open Source echo sounder / depth sounder / SONAR for bathymetry and research. Arduino based and compatible.

giant-axon/lu.i-neuron-pcb
Lu.i is an electronic neuron circuit mimicking and illustrating the basic dynamics of real, biological neurons. The printed circuit board (PCB) features a configurable, fully analog implementation of the leaky…

ethanhuang0117/Analog-Audio-Processing-Visualization-PCB-
8-band analog audio spectrum analyzer PCB with active filtering and 4-level LED visualization.

YYK2007/lif-neuron-pcb
Analog leaky-integrate-and-fire neuron PCB designed in KiCad.

Formula-Trinity/bspd
A safety device which detects hard braking and acceleration and shuts the engine down.

jdiazpena/particle-counter-spel
This repository collects the hardware designs, Raspberry Pi Pico firmware, and Raspberry Pi acquisition/postprocessing software used to build and operate a prototype particle counter.

mirdej/synkie
The Synkie is a modular open source analog video processor, developed by Michael Egger, Max Egger and Flo Kaufmann

