BMV080 Reads “Obstructed” When Unit Is Shaken — Works Fine Stationary

Hi all,

I’m working on an air quality sensing unit built around the SparkFun BMV080, and I’m running into a frustrating issue: the sensor reads as “obstructed” whenever the unit is shaken, but works flawlessly when stationary. The unit is as an early stage wearable, but can’t cope in the field after doing well in indoor testing.

Hardware Setup:

  • MCU : ESP32-WROOM
  • Sensors : SparkFun BMV080 (using standard SparkFun SDK), BME280
  • Other Components : LED lights, SD card, toggle switch
  • Power : 4000 mAh LiPo battery with a 3.3V voltage regulator

Enclosure Details:

  • The BMV080 is inside a snug friction-fit matte black PLA casing, printed with 2mm thick walls and a removable lid 20mm above the laser sensor.
  • Air vents are placed on the side of the lid. The top is fully enclosed — there is no direct opening above the sensor aperture.
  • The BMV housing is then mounted into a larger internal compartment that contains the rest of the electronics, separated by a physical divider.
  • The internal structure is tight and secure, and nothing rattles when the unit is moved.
  • The BMV is in the white housing provided by sparkfun

Symptoms:

  • In a dark/light room, the sensor works as expected while stationary.
  • As soon as I shake the unit (gently, to simulate field movement), it immediately returns “obstructed”.
  • Once movement stops, it returns to normal values quickly- about 4 seconds later.
  • I’ve set the device to report 000 when the sensor is obstructed, to prevent corrupt values in the database.

Data Handling:

  • The unit samples data every 2 seconds.
  • I’ve developed a custom app that connects via BLE and reads data from the unit in real time.
  • The obstruction only affects the BMV080 — other components (BME280, LEDs, SD logging) continue working properly during motion.

My Questions:

  1. Is the BMV080 inherently sensitive to vibration or micro-movements? Could the internal motion of particles or sensor optics during movement be triggering a false obstruction?
  2. Could my enclosure design be affecting airflow or light detection? Should I consider opening up the top of the housing or baffling it differently?
  3. Is this expected behavior when sensors are used in motion, or could this indicate a fault or edge-case limitation of the hardware?
  4. Are there any SDK flags or parameters to adjust sensitivity thresholds for obstruction detection?

Yes, the sensor counts particles optically. Whe you move the particles it loses count.
See the datasheet for a more thorough explanation but essentially the sensor needs to be stationary to get an accurate count.

The sensor has an option to enable vibration filtering, but the real problem seems to be your enclosure.

Note this diagram from the data sheet, showing the “obstruction sensitive” region 35 cm from the detector, and the cautionary statements on sensor placement on page 18.

Strange as in the Bosch information sheet it mentions wearables specifically, so maybe my mistake was taking their word for it? Bosch Sensortec BMV080 | Bosch Sensortec

EDIT: realizing i was working on mm not cm- so would need more room in the casing. Thanks for that catch. Just makes no sense to me how they could market this as a wearable sensor if it needs 35cm of free space…

I took that into account with my design as the caption “For a white reflecting surface perpendicular to the laser light emitted by the BMV080, this distance is ≥ 350 mm from the host surface. This distance reduces for less reflecting objects (e.g., skin)” left me with the understanding that a matte black pla surface would do well in a smaller casing. Either way, the obstruction is thrown even without the casing on it so perhaps need to tinker with the vibration filtering

Just plain old marketing hype.

Just out of interest: I have bought a BMV080 from Sparkfun, but the results I get with example1 in open air, don’t impress me. They are low ( 1 -7) solid numbers and changing fast to 0.
I am not finished yet with testing but I really wonder… very much different than any other sensor I worked on. Next to that it is complaining very quickly about being obstructed. Just by blowing to the sensor or wiping my hands. Is that what you see as well ?

1 Like