Add advanced computer vision capabilities to your project, without the coding! The Person Sensor from Useful Sensors Inc. includes a camera module pre-programmed with algorithms that detect nearby faces, and return information over a simple Qwiic I2C interface. It is designed to be used as an input to a larger system and be treated like any other sensor where power and information are provided through SparkFun's Qwiic I2C interface. There’s also a separate interrupt pin, TP1, which is used to indicate if any people have been detected.
Internally the Person Sensor bundles an image sensor and a small microcontroller into a single board. It is a small, low power (~150 milliwatts), and economical hardware module that is capable of detecting nearby faces and returning information about how many there are, where they are relative to the device, and performs facial recognition. This makes it easy to build projects that wake up when people approach, follow their faces, mute a microphone when nobody is present, and even recognize different people to personalize their experiences. The Person Sensor is designed to be a simple way to build smarter devices.
The SparkFun Qwiic Connect System is an ecosystem of I2C sensors, actuators, shields and cables that make prototyping faster and less prone to error. All Qwiic-enabled boards use a common 1mm pitch, 4-pin JST connector. This reduces the amount of required PCB space, and polarized connections mean you can’t hook it up wrong.
Note: The sensor uses an image sensor internally, so you need to make sure that the lens has a clear field of view, and that it’s mounted the right way up. You should be able to see the side of the board that has the sensor by spotting the small lens in the center. You’ll know you have it the right way up when the silkscreen writing “Useful Sensors Person Sensor V2.0” is at the correct orientation.
If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.
Skill Level: Rookie - You may be required to know a bit more about the component, such as orientation, or how to hook it up, in addition to power requirements. You will need to understand polarized components.
See all skill levels
Based on 13 ratings:
3 of 3 found this helpful:
This novel sensor is a lot of fun to play around with. It performed as expected when using CircuitPython on a Pico (or Pico W) to detect a face and track its movement to change the position of a servo or a visual display (see example projects at: https://www.hackster.io/useful-sensors/products/person-sensor). I was also able to program it to distinguish between different faces (including large pictures of faces), although the accuracy/reliability would likely not be adequate for a security system. The main limitations I saw were that it performed less reliably in low light and that its range is only a couple of meters. The orientation of the sensor relative to the person’s face also makes a big difference, especially when trying to distinguish between different faces. It worked best when the face was well illuminated, within 1 meter, and looking directly at the sensor. When those conditions were met, it worked quite well.
1 of 1 found this helpful:
Have high hopes for this small camera device, but ...
Uses a SparkFun Qwiic connector for the i2c connection. That's fine but SparkFun doesn't seem to make a Qwiic connector to the (much more common) Dupont 2.54mm Pitch Connector cable or adapter.
I would be willing to pay significantly more if Useful Sensors added more smarts to the module to make facial recognition more reliable.
The camera mounts to the circuit board via a very small connector. Unfortunately I found that the camera separates from the circuit board too easily. I will attempt to put it back but don't have much expectation that I will be successful.
Having said this, I would still say that it is a good buy for $10. Just hoping that Useful Sensors sticks around as a company and version 2 takes into account some or all of the points above.
Feel free to reach out and submit a return ticket with us as well if you wish to go though with a replacement: https://www.sparkfun.com/returns
(Useful Sensors)I've been plagued by the loss of camera modules too! Sorry about that flaw in our design, for all future batches we'll be trying to add a small blob of glue to make them more secure, though it may be a few weeks before that new version is available. If you'd like replacement boards for any you've lost the camera modules to, you can always reach me through email@example.com. Thanks for your feedback, and patience!
We sell this https://www.sparkfun.com/products/15081 has adapters of both F/M types, see other options here https://www.sparkfun.com/search/results?term=qwiic+cable
I feel the same way. I have 3 of these and broke one of mine too.....I can't find the lens/camera(!) to even try and put it back on, but it's STILL worth at least $10 :-p
1 of 1 found this helpful:
I bought one a few weeks ago, but it seemed a bit flaky (hit-and-miss on the face detection), so I bought two more, under the assumption that the camera module might be faulty (dead pixels, out of focus, etc). The other two arrived today, and both failed to work at all. Swapping the camera module from the first one to the other two (the camera module is only held in place by its connector) caused them to work, oddly enough.
So, by the looks of it, I've got three working sensor boards but only one functional camera. If I could figure out where to get the cameras (appear to be Arducam PY122), I could possibly repair the two non-functional sensors, but I haven't been able to track down that particular product yet.
Now, granted, Either FedEx or USPS might be to blame here. The shipment of the two latter sensors arrived with a sticker on the box indicating that the package had to be re-barcoded due to damage in transit. It's entirely possible that the camera modules were also damaged during shipment.
Still a fairly disappointing experience, overall.
(Useful Sensors)Sorry to hear about the mechanical issues! For the next batch of sensors we've actually glued them in place to try and avoid this problem. If you contact us at firstname.lastname@example.org we'd be happy to send you replacement boards. Thank you for your patience and feedback!
1 of 1 found this helpful:
The Jury is still out, sadly, despite the initial enthusiasm.
The simplest Arduino sketch reports (via Serial Monitor) no I2C data!???
The Person Sensor status LED duly lights up when an object is presented in front (including presumably faces).
A vanilla I2C sketch reports that an I2C device is present at the designated address.
What can a newbie do to avoid self-inflicted operator errors?
I guess try it on a Pico next and then of course on the grand daddy -RPi if I can buy without donating to scalpers.
Anyway, good introduction to Qwiic which will serve me well since I like small form factor JSTs and not the Gr___ size.
(Useful Sensors)Sorry you hit these problems!
After investigating, and some help from the community, we figured out that a lot of older Arduino boards have a 32 byte limit on I2C reads, and silently discard any bytes above that. Since we're reading 40 bytes of information, this caused the failure you saw. I've now checked in a fix that reads in smaller chunks to work around this limitation.
Thanks for your patience, and apologies again for the bug. I hope your explorations on the Pico went more smoothly.
I wish they didn’t have a proprietary cable for the device. I just peeled the connector housing apart and soldered wire leads directly to the board. The sensor works well under normal lighting conditions. Once there is a bright backdrop it may flare out the camera picture and not get a good detection and/or tracking (understandably for a pinhole camera). It was easy to connect to an arduino, find the library and heading to compile to my sketch.
Bought this to try out for control of an animatronic eye mechanism. The person sensor worked flawlessly after following instructions from YouTube channel "Workshop Nation". Incredible price for what used to be rather tricky tech - but is now plug and play. Here is a video of my test on first power up. https://youtu.be/ernsnKQk_5Q
This is so cool. I've only just started using this little wonder, but now I want to incorporate it everywhere, especially in my smart home projects!
I bought eight of these hoping to use them in a robotics project for a class. Unfortunately, after testing all eight of them, I can say they're not reliable in any way.
I tested them under a variety of lighting conditions. They are more apt to trigger under bright lighting conditions, but false positives become more likely as well. The green light will sometimes indicate when I point the camera at my (or another person's) face. Often it will indicate only once after a delay, and then stop indicating immediately. But it will consistently indicate when switched to a brighter surface (that isn't a face). I was able to get it to consistently indicate on synthetic white fur with barely any pauses.
Hooking it up to a microcontroller, you're able to peek the values, including a box_confidence, (1-100). This would seemingly allow for finer-grained control in order to eliminate the copious false positives, but the number is meaningless. White fur, for example, produces mostly 99 confidence, while a human face ranges between the low 60's and the high 90's from moment to moment.
I'm pretty bummed about this purchase, since I was hoping to use it as a "black box" for a kids' robotics project. It feels like I purchased eight divining rods though. They're nowhere near consistent enough to use in a classroom environment.
I'm building some mechatoric eyes and had absolutely no trouble integrating this sensor into my project. It was almost plug and play. The examples were spot-on and straight-forward.
The person sensor work very well, I am currently using it with and Arduino Mega 2560 for some simple facial detection and it does a great job. Perfect little sensor for a project in detecting a person. While it should not be confused with facial recognition, it does do a good job of detect the presence of a person. Tracking from left to right and up and down is simple. Only thing it needs is to have the cable included with it.
I used one of these to create a "Look at Me Light Switch." (https://blog.arduino.cc/2023/03/08/turn-your-lights-on-and-off-by-staring-at-this-little-robotic-switch/) I've just scratched the surface of the capabilities of this device. For face detection at low cost and in simple form, then this is probably the best thing available.
Works reliably event in low light. The inference struct is well thought out. Expect to code in some simple logic to filter out low confidence false positives. Runs 1 inference every 200ms so roughly 5 FPS.
The sensor works fine and the detection rate is good for adults but didn't do too good for children. My only problem was the sensor came with the camera plugged in the wrong orientation and not fully seated in