A simple, inexpensive approach to detecting objects in vacuum airflow.
The object detection project started with a general robot vacuum insight: it may suck up something important. While most things around the house are fine, accidentally disposing of jewelry or some other small item is a real concern.
If you’ve ever vacuumed up a Lego, you’re probably familiar with the impressive amount of noise it makes bouncing around the vacuum nozzle before ending up in the dirt cup. Rather than trying to detect objects visually, which would add real cost and complexity, the idea was to listen for them. Conveniently, piezoelectric sensing elements (small contact vibration sensors) are inexpensive.
Finding signal (pun intended)
The challenge was separating impacts from the constant background noise of airflow, vibration, and expected everyday debris. We also wanted to avoid adding expensive DSP-capable hardware or significant firmware complexity.
A lot of this came down to getting the analog front end right. The signal path started with the mechanical design. The piezoelectric sensor was positioned at a point in the airpath where debris would likely strike the wall. Vibration isolation was important for separating impacts from the vibration of the suction motor, drive motors, and airflow.

A series of amplifier stages filtered out unwanted high and low frequencies while amplifying the useful signal. This gave us a much cleaner representation of what was going on.
At this stage, the output signal could indicate quite a bit. Telling a clean floor from a dirty one was relatively straightforward, opening the possibility of having the robot circle back and clean particularly dirty areas.
Detecting objects
Identifying larger objects required a little more work. Rather than relying on a single impact, we could look at both the strength of the signal and its duration.
An analog envelope/peak detector helped simplify this a great deal. Impacts occurring close together would essentially combine into a longer signal, allowing the processor to more easily measure how long the signal remained above a given threshold. We could distinguish many ordinary debris signals from the more significant impacts of larger objects, without requiring expensive signal processing and hardware.

Filtering helps merge impacts into longer sizable pulses while light debris stays short.
The result
The end result was a low-cost implementation. While it couldn’t necessarily identify exactly what had been collected, it could reliably recognize when something unusual had been in the vacuum.
That information could be sent to the user, giving them an opportunity to investigate and potentially recover something important.

I love when avoiding complexity is part of the solution itself. Visual object detection, at the time, would have required considerably more expensive and complex hardware. The solution felt a bit like simply walking around a closed gate.
The concept was also documented in a published patent application.