Skip to content

MinimalUltrasonicUltrasonic Distance Sensing Made Simple

A minimalist Arduino library for HC-SR04, Ping, and Seeed sensors with multiple unit support

MinimalUltrasonic

Quick Start

Install the library and start measuring distance in minutes:

cpp
#include <MinimalUltrasonic.h>

// For HC-SR04 (4-pin)
MinimalUltrasonic sensor(12, 13);

void setup() {
  Serial.begin(9600);
}

void loop() {
  float distance = sensor.read();  // Distance in cm
  Serial.print("Distance: ");
  Serial.print(distance);
  Serial.println(" cm");
  delay(1000);
}

Multiple Units Support

Measure in any unit you need:

cpp
float cm = sensor.read(MinimalUltrasonic::CM);
float meters = sensor.read(MinimalUltrasonic::METERS);
float inches = sensor.read(MinimalUltrasonic::INCHES);
float yards = sensor.read(MinimalUltrasonic::YARDS);

Compatible Sensors

  • HC-SR04 - Most common 4-pin ultrasonic sensor
  • HC-SR04+ - 3.3V/5V compatible variant
  • Ping))) - 3-pin sensor from Parallax
  • Seeed SEN136B5B - 3-pin Grove sensor
  • And more! - Compatible with most ultrasonic sensors

Key Features at a Glance

FeatureDescription
Units6 units: cm, m, mm, inches, yards, miles
Sensors3-pin and 4-pin configurations
TimeoutConfigurable (default: 20ms ≈ 3.4m range)
Memory8 bytes per sensor instance
Code Size~1.4 KB compiled
Return TypeFloat for precision
Accuracy±3mm (sensor dependent)

Why MinimalUltrasonic?

Minimalist Philosophy

Other libraries include unnecessary features that bloat your code. MinimalUltrasonic focuses on what matters: accurate distance measurement with minimal overhead.

Modern Design

Built with modern C++ practices including type-safe enums, const correctness, and comprehensive documentation. Version 2.0 adds multiple units while maintaining the minimalist approach.

Production Ready

Used in real-world projects. Well-tested across multiple Arduino platforms. Professional-grade code with comprehensive error handling.

What's New in v2.0

  • Multiple Unit Support - 6 measurement units
  • 🎯 Enhanced API - New methods for unit configuration
  • 📊 Better Precision - Float return type
  • 🚀 Improved Performance - Removed unnecessary delays
  • 📚 Complete Documentation - This comprehensive guide!
  • Backward Compatible - Existing code still works

Community & Support

License

MinimalUltrasonic is released under the MIT License.

Based on the excellent work of Erick Simões.


Made with ❤️ by Magni Development

Released under the MIT License.