I am looking for a way to determine vehicle height measured from the side. The application is for a drive-through ATM, the sensors being mounted inside the ATM enclosure.

Some ATMs have a roof as well, in those cases the solution would be straightforward - ultrasonic sensor (emitter and detector) mounted in the roof, measuring distance to vehicle roof, and with a known distance to ground, the height could be calculated. But I need a solution that works in all cases.

I want to preferably avoid any detectors or emitters outside the ATM enclosure, such as an ultrasonic sensor on a pole sticking out the top of the ATM, or a detector on the far side.

One solution is to have an array of ultrasonic sensors arranged vertically inside the ATM enclosure. This will require experimenting with the spacing between sensors, and knowing the overlap in each sensor's 'field of view'.

The application is outdoors, with large temperature variations, which is why I looked at ultrasonic sensors first. I'd like to know if something else may work better in a cost-effective manner.

If someone one wants to see what a typical drive through ATM looks like:

Drive through ATM

  • \$\begingroup\$ I don't have any answer for you besides going full-on with computer vision, but I am very curious, why do you want to do this? \$\endgroup\$
    – Hearth
    Jan 29, 2019 at 17:04
  • \$\begingroup\$ Cash use is very common in the Middle East, so ATMs are used much more frequently there. Differing car heights, for eg. a large SUV vs. a low-lying sports car, means there is no single height that is comfortable for all users. This is an idea to increase ease of use. \$\endgroup\$
    – Muaz
    Jan 29, 2019 at 17:10
  • \$\begingroup\$ I understand why ATMs may be useful, I just don't see why you want to know the height of the vehicle. \$\endgroup\$
    – Hearth
    Jan 29, 2019 at 17:11
  • 2
    \$\begingroup\$ In that case, you want to know the height of the window, not the roof! \$\endgroup\$
    – Dave Tweed
    Jan 29, 2019 at 19:20
  • 1
    \$\begingroup\$ Imagine somebody with a low seat car drives through with a tall load on the roof... :) \$\endgroup\$
    – Fredled
    Jan 29, 2019 at 21:13

3 Answers 3


I would use only one or two ultrasonic sensors at different angles placed on the top of the ATM, two to get around with an open window on the driver side.

enter image description here

Use the fixed lower sensor to detect a vehicle presence , wait a bit to allow the vehicle to stop then move up the ATM if a proximity is detected by the top ultrasonic sensors or move down if not, until something changes then adjust the height according to your knowledge on vehicle height vs top roof height and stop.

A must is a manual control available at any level (parallel UP and DOWN switches at many levels) to allow the driver to adjust the height at a comfortable level.

You can make the machine learn from user input where to place the ATM for different top roof heights improving the automatic height adjustment in time combining the readings from the fixed sensor and top sensors and user input for similar previous values.

Don't do that without a driver available manual control, in case of a failure placing the ATM at an accessible level he will be in an funny impossible situation, he cannot open the door since is obstructed by the ATM.

Take care also about the side mirrors, the ATM might be at a lower height when the vehicle stops, maybe an obstacle before the ATM to prevent the vehicle to stop to close or some flexible roof extension on the top.

Of course , the ultrasonic sensors must be used one at the time, the lifting is slow so you can live with that.


Try this


simulate this circuit – Schematic created using CircuitLab

Offset the two sensors by 6". This allows the Range^2 and (Range+6")^2 to give you some useful distance information.

The two diodes after the photodiodes will generate the LOG (beware, temperature sensitive) and greatly extend the dynamic range.

Have one of these every foot of vertical distance.

  • \$\begingroup\$ Could you explain this a bit more please. Which photodiodes to use, and when you say "extend the dynamic range", what do you mean by that? Wouldn't the light bounce back in many different ways from vehicle surface? \$\endgroup\$
    – Muaz
    Feb 1, 2019 at 17:37
  • \$\begingroup\$ The answer lacks clear detailed information but the drawing explains it well. Using sensors at several height intervals and one emitter. The sensors which gets the most intensive signal defines the height of the vehicule. The lower the sensor activated, the taller the vehicle Thanks to angular reflection. \$\endgroup\$
    – Fredled
    Feb 1, 2019 at 20:39
  • \$\begingroup\$ There are tubes around the photodiodes, so only a small region of the car reflection provides light to the 2 photodiodes. The 6" offset is key to distance detection. \$\endgroup\$ Feb 2, 2019 at 6:04

Your best bet will probably be some sort of “visual” sensor, namely sensors that react to transmitted or reflected light. These could be:

  • A camera (or two) with or without IR illumination, that feed into custom software to measure a well-defined area of the image.
  • An electro-optical assembly (e.g., LIDAR) that scans the area in front of the ATM.
  • A few linear optical arrays (basically 1-D tall cameras) that provide transmitted or reflected light information.
  • At least two strategically placed optical distance (parallax/trigonometric) sensors, to sense the roof from as high an angle as possible.

I believe the least expensive, and most reliable solution might be the camera. As most of the cost would be in the software, but stereo vision is rather common in robotics, so there are a lot of projects out there Here is a project that could get you started.

Low resolution 1-D optical arrays can be constructed from discrete devices and can be placed in the movable portion of the ATM to “scan” for the location of the roof.

Parallax sensors can be built from a laser and a 1-D optical array. But these are rather common in industrial applications.

  • \$\begingroup\$ Too many unkown with light variation throughout the day, day-night, sun-cloud, vehicle color, etc. Doable but not simple. \$\endgroup\$
    – Fredled
    Feb 1, 2019 at 20:41
  • \$\begingroup\$ @Fredled you can remove all of that variation with active illumination (e.g., non-visible IR) that "flashes" on and off creating an AC image signal, while all of the variation remains in the DC-wandering. You can even make use of alternating flashing sources to provide the needed parallax information. \$\endgroup\$ Feb 1, 2019 at 20:45

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.