AJ-SR04M Waterproof Ultrasonic Ranging Module - Reversing Radar Distance Sensor for Outdoor Projects The AJ-SR04M Waterproof Ultrasonic Ranging Module is a separated-probe ultrasonic distance sensor for reversing radar, outdoor ranging, liquid-level monitoring, and robotics projects where the sensing head may be exposed to moisture. Its waterproof transducer style is better suited to harsh mounting positions than open HC-SR04 boards. It can be used with Arduino-compatible boards such as the ELAB Nano V3 and compared with the HC-SR04 Ultrasonic Distance Sensor for indoor bench projects. The separated sensor head makes enclosure design easier for tank, bumper, or outdoor mounting. Waterproof ultrasonic modules still require careful mounting: keep the transducer face clear, avoid foam or angled surfaces, and protect the controller board and connector from water ingress. Technical Specifications Parameter Value SKU TB-AJ-SR04M Product Type Waterproof ultrasonic ranging / reversing radar module Probe Waterproof ultrasonic transducer head Measurement Principle Ultrasonic time-of-flight Interface Trigger/echo-style interface or module-specific serial mode depending on board version Applications Reversing radar, outdoor ranging, tank level, robotics Host Platforms Arduino, ESP32, Raspberry Pi Pico with suitable logic levels Mounting Fixed transducer facing target Environmental Note Protect controller electronics from moisture Calibration Recommended in final mounting geometry Board Layout & Label Guide Waterproof Transducer - Front sensing head for ultrasonic pulse and echo. Controller Board - Interface electronics for the transducer. VCC - Power input according to board label. GND - Common ground. Trig / RX - Trigger or command input depending on version. Echo / TX - Echo or data output depending on version. Cable - Route with strain relief and waterproofing. Mounting Note - Keep face perpendicular to target. Application Scenarios 1. Arduino Serial Distance Measure echo pulse width and print distance in centimeters. const int trigPin = 9; const int echoPin = 10; void setup() { Serial.begin(115200); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); } void loop() { digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); long us = pulseIn(echoPin, HIGH, 40000); Serial.println(us * 0.0343 / 2.0); delay(300); } 2. Tank Level Estimate Convert measured distance into an approximate tank fill height. const float tankDepthCm = 100.0; float distanceCm = 35.0; float levelCm = tankDepthCm - distanceCm; void setup() { Serial.begin(115200); } void loop() { Serial.println(levelCm); delay(1000); } 3. MicroPython Echo Timing Read trigger and echo pins from a MicroPython controller. from machine import Pin, time_pulse_us import time trig = Pin(3, Pin.OUT) echo = Pin(2, Pin.IN) while True: trig.low(); time.sleep_us(2) trig.high(); time.sleep_us(10) trig.low() duration = time_pulse_us(echo, 1, 40000) print(duration * 0.0343 / 2) time.sleep(0.5) Packing List 1 x AJ-SR04M Waterproof Ultrasonic Ranging Module FAQ Q: How is it different from HC-SR04?A: It uses a waterproof separated transducer style. Q: Can it be used outdoors?A: Yes for the probe, but protect the electronics. Q: Can it measure tank level?A: Yes, when mounted above the liquid surface. Q: Does foam affect readings?A: Yes, foam and angled surfaces can weaken echoes. Q: What interface does it use?A: Check the board version for trigger/echo or serial behavior. Q: Can I use it with Arduino?A: Yes with suitable wiring and code. Q: Why are readings unstable?A: Mounting angle, target material, and acoustic noise can affect echoes. Q: Can the controller board get wet?A: No, protect it from moisture.