A.01Mission dossier

Mission entry / 03

Sonar Detection Module

Built using ultrasonic distance sensing, servo-based scanning, and embedded control systems to simulate low-cost environmental mapping and target detection. The project explores signal acquisition, scan timing, realtime rendering, and interactive telemetry-inspired visualization techniques.

SonarESP32EmbeddedRealtimeSignal processingTelemetry
Playback moduleHero media reserved
Rotational sonar scanning and detection telemetry
ScopeLive frame
image

B.01

Overview

The ultrasonic scanner project started as a simple experiment in object detection using a rotating distance sensor and a servo motor. By sweeping an ultrasonic sensor across an environment and mapping the returned distances, the system reconstructs a live radar-style view of nearby objects in realtime.

What began as a quick weekend build unexpectedly turned into one of the most visually satisfying projects I had worked on. It forced me to think beyond just “making the sensor work” and into topics like spatial mapping, signal timing, serial communication, and realtime visualisation. The result felt somewhere between a submarine sonar display and a retro sci-fi targeting system, which naturally made it irresistible to turn into a video.

C.01

System architecture

Sensing signal chainAcoustic scan -> spatial display
01

Environment scan

The sensor module samples distance readings across a swept field of view.

InputRange
02

Servo positioning

A controlled rotational sweep pairs each distance sample with an angular position.

ServoAngle
03

Signal acquisition

Ultrasonic readings are captured and filtered into usable distance measurements.

UltrasonicSampling
04

Detection logic

Thresholds and timing behavior convert raw range data into target-like detection events.

ThresholdDetection
05

Realtime visualization

The scan state is rendered as a telemetry-inspired spatial display for inspecting the environment.

TelemetryDisplay

D.01

Engineering challenges

LOG 01

Timeout functions

This was essentially my first introducting into realtime program, and the importance of optimised function calls, and why functions take different amounts of time. What I originally thought was a hardware issue to do with a crappy microcontroller was actually entirely down to my inability to write efficient code. In essence: I was waiting for echoes to return from objects that didn't exist.

LOG 02

China & Cheap Servos

The SG-90s. Arguably one of the most iconic entry level motors. Cheap, accessible, and utter rubbish. Blew through about 3 of them trying to move 50 grams worth of sensor and 3D printed mounts before sensibly deciding to upgrade to the superior MG-90s featuring metal gears.

E.01

External Mission Assets