I want to measure the distance between two moving objects which are face-to-face most of the time. The distance between them is around 5-10 meters. I couldn't find reliable sensors for this distance.

My approach is to put equal sensors in each of the objects and trigger synchronized measurements in opposite directions. I'd expect that both sensors measure half of the distance this way. I'm using the MB1000 from MaxBotix: http://www.maxbotix.com/Ultrasonic_Sensors/MB1000.htm I'm connecting the trigger pin from both ends, and my initial experiments seem to be working.

  1. Is this method/technique standard?
  2. Are there special electrical requirements that both ends must meet?
  3. Would it work if the ends cannot share wires (Vcc, GND) and the triggers are synchronized via a wireless method?
  4. Are there other alternatives to measure moving face-to-face objects (techniques, sensors, etc.).
  • 2
    \$\begingroup\$ Everything here depends on the timing accuracy - not just between the two triggers but the timing from triggle to pulse. Ofcourse, sound is slow in terms of electronics so it should be doable. The more accurate you can get them synced, the more accurate your measurement will be. I'd be surprised if there are no sonar sensors capable of longer range measurements, I've heard people using them for significantly larger ranges. \$\endgroup\$
    – Joren Vaes
    Commented May 1, 2017 at 10:14

1 Answer 1


Yes, it is possible to measure distance by timing propagation of sound. The accuracy depends on how well you know the speed of sound, and how well you can measure the delay.

I'd expect that both sensors measure half of the distance this way.

This makes no sense at all. First, the sensors are measuring sound level. The overall system might use that to measure distance, but the sensors don't. Second, I can't even guess how you think that the data from one sensor somehow tells you half the distance.

Let's take a look at timing. Sound in typical air takes about 3 ms to propagate 1 m. Your distance is 5-10 meters, so the delay from transmitter to receiver will be in the 15-30 ms range. That's a "long" time for a microcontroller, which can easily measure that to high precision and accuracy. A counter running at 1 MHz, for example, would get to 30,000 counts in your maximum time of 30 ms.

However, the real problem with accuracy is detecting when exactly a sound pulse is received. Common ultrasonic emitters and sensors work at around 40 kHz. That means the wavelength is about 8.3 mm. It will be difficult to get much more accurate than that.

  • \$\begingroup\$ I think I should elaborate the description of my approach. \$\endgroup\$
    – Contaso
    Commented May 1, 2017 at 14:41
  • \$\begingroup\$ I think I should elaborate the description of my approach. I want to double the range of the sensor by placing two in opposite directions. If they are triggered at the same time, the sound waves propagate in opposite directions. The first sensor will detect the wave from the other sensor and will "think" it is his wave coming back, but his wave is hitting the other side now... So, it would sense twice as fast. \$\endgroup\$
    – Contaso
    Commented May 1, 2017 at 14:47
  • \$\begingroup\$ Sonar, unlike LIDAR, has a rangerangerangerange energy problem. You method, face to face, converts that detection to rangerange and produces much cleaner measurements. MIT uses RF to synchronize their distance/positioning system, using multiple sonar sources that are allocated individual time slots to avoid interference. \$\endgroup\$ Commented May 1, 2017 at 16:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.