Alternatives to IR array or PIR for 360 degree sensing

I need to sense proximity 360 degrees around something at a range of 0 to 100cm (around 3 feet). I would like to know how close someone is, but will settle for binary input if necessary. This is for an outdoor sculpture and thus overhead video tracking solutions are not an option. I have 9 of these things so cost is an issue.

An array of typical Sharp IR sensors is the standard solution, but you need 12 of them to have enough overlap to ensure no blind spots. 12 x $14 = $168 per unit. Too expensive, plus you need a Mega or multiplexer for extra analog input pins.

Two wide-angle PIR sensors (Wide Angle PIR Sensor with LED Signal - Parallax) are cheap $12 x 2 = $24 per unit. But PIR has a fatal flaw: it switches off if somebody is still in range, but has stopped moving.

I have also tried the horribly documented AniBat ultrasonic sensors (, they are supposed to see 180 degrees AND give analog distance feedback. Sounds ideal. $26 x 2 = $52 per unit. But they produce terribly unstable feedback and at least in my tests, are not usable.

Anyone have ideas for alternative methods?

I’ve played extensively with the 10 GHz Doppler radar motion sensors, and use them in an indoor intrusion detection system. The one that Parallax sells is about $35, but you can buy the basic radar front end from Chinese vendors at about $6, provided you are willing to build your own filter/amp for it (one LM324, a few passive parts, < $1.00).

I’ve found that these units can be adjusted for sensitivity to motion from about 3 ft. to about 25 feet. So you might be able to use one to essentially see all around one of your sculptures. However, they only sense motion, but even a small hand movement is readily detected. Since they emit a signal, it might be hard to place them so that they do not interfere with each other. Of course, they do seem to work fine on store doors that are even 20 ft. apart.

Don’t know if that would work, but its one alternative to examine.

Good luck.

John Doner

The HC-SR04 ultrasonic modules have become incredibly cheap (now as low as US$ 1 on ebay!) and are quite accurate, with a range of up to about 4 meters. I don't know the beamwidth but it may be around 30 degrees. Unfortunately they must be fired sequentially as two modules can interfere with each other, but at that price, you can't afford NOT to do the experiment.

How about a ping sensor on top of a continuous rotation servo, and scan it every so many degrees.

Add a thermal detector for warm bodies that are not moving.

one additional factor - this has to work outside, in widely ranging weather conditions.

@jremington - yes i thought the same thing, i am going to experiment with a few. if i needed 12 (at 30° fov) per unit that is still no problem when they're that cheap. and i can handle the delay from sequential firing, i think. but worried about waterproofing.

commonly used waterproof sensors such as maxbotix WR series ( would cost $1,200 per unit (12 sensors per unit) so that's no bueno.

@crossroads - i don't want to use motorized scanning since the sound and motion will be distracting. also that is more parts that can potentially fail (the sculpture will up for one year).

the thermal detector suggestion is interesting, and might fix the PIR flaw. are you talking about something like D6T MEMS Thermal Sensors - Omron Electronics | Mouser? they're a bit pricey - 8 sensors for 360° = >$500 per unit. but intriguing.

I didn't have a thermal detector in mind. $500/unit was definitely Not in mind tho!

The MLX90614 contactless thermal detector has a 90 degree field of view (although variants with narrower FOVs are available) and is now down to about $15 on ebay, or $20 from U.S. distributors: Pololu - MLX90614ESF-AAA Infrared Temperature Sensor 90° FOV

They give you the average temperature of the entire field of view but can easily detect lightly clothed humans a meter or two away. As the distance increases they work less well at detecting humans, but that seems appropriate for your project. The response time is a few tenths of a second.

@jremington - thank you for pointing me to that. i think the calibration issues would be significant given it will be outdoors for one year, people can approach it any time sometimes in white summer shorts sometimes in black winter coats, and it is difficult to know when there is nobody around for, say, hourly re-calibration. also according to Wiring and Test | Using Melexis MLX90614 Non-Contact Sensors | Adafruit Learning System, it has a fixed i2c address so only one can be used per microcontroller and i'd need at least four.

i've been testing with an ultrasonic cheapo array and i get almost usable results but need at least 15 sensors per unit (for 360° view), and they are very noisy when wires are over 20cm.

i still haven't found a PIR equivalent which can detect presence and not just motion.

if all else fails i could make a ground mat switch, but that is so lame. =( :~ :expressionless:

@jremington - it occured to me i could mount a MLX90614 under my sculptures (they are tripods) pointed down. Then I would only need one per tripod/Arduino, and the fixed i2c address would not be a problem. If it is 4' off the ground with a 90° FOV it should see a circle 8' in diameter. Since nobody will crawl directly under the scuplture it would only see feet and parts of legs - in other words, a very small part of the overall FOV. Do you think it is sensitive enough to reliably detect that small of a change? I know its accuracy is +-0.5°C but I wonder if with only a small percentage of hotter area if it will be able to differentiate it from ambient temp. And is the internal ambient temperature function sufficient to use as a comparison?

I'm skeptical that a downward-looking MLX 90614 could detect feet and legs in an 8 foot circle. But, I will try the experiment tomorrow and let you know how it goes.

Your idea of a downward-pointing MLX90614 just might work. I tried some experiments with an MLX90614 on the floor, pointing directly upwards, monitoring both the device body temperature and the sensor temperature.

  1. After a few minutes the readouts settled down to about 22.6 +/- 0.1 C (sensor) and 22.5 +/- 0.1 C (device body).
  2. If I put my hand directly over the sensor at about 5 cm distance, it reads out about 32 C
  3. If I put my hand directly over the sensor at about 1 m distance (it sees part of my bare arm too), it reads out about 23.2 C
  4. If I stand up, with my feet about 20 cm from the sensor, it reads out about 23.4 C.

In all of the above the device body temperature remained at 22.5 +/- 0.1 C. So, you might expect about 0.5 - 1.0 degree C increase if a person approaches, but clothing will obviously affect the readings. You will just have to try the experiment yourself.

Aim for the face.

@eforman did you find a solution to this? I'm looking to do similar project outside and wondered what sensors you ended up using? Thanks

Also curious what solutions worked best here. Seeking to do something similar with an outdoor sculpture.
I noticed the MaxBotix 1003 and 1004 models have some nice features for using these ultrasonics in arrays and preventing crosstalk.

Somehow notifications stopped working so I never saw this. If anyone still curious, I ended up using an X-Band sensor pointed down at the ground. It sees feet and legs in 360 degrees and works pretty well regardless of weather conditions. However the detection lobe is non symmetrical so it may not be suitable for some applications.

The company that makes them appears to have discontinued them but you can buy them through Parallax and other vendors still.

1 Like