component
BMV080
Public Made by Adomby adom
Bosch Sensortec BMV080 ultra-mini fanless laser-based particulate matter sensor for PM1, PM2.5, and PM10 measurement
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
{
"schema_version": 1,
"type": "component",
"slug": "bmv080",
"title": "BMV080",
"brief": "Bosch Sensortec BMV080 ultra-mini fanless laser-based particulate matter sensor for PM1, PM2.5, and PM10 measurement",
"version": "1.0.0",
"tags": [
"component",
"sensor",
"particulate",
"pm2.5",
"air-quality",
"bosch",
"fpc"
],
"license": "MIT",
"component": {
"mpn": "BMV080",
"manufacturer": "Bosch Sensortec",
"package": "Molex 503566-1302 FPC",
"category": "Sensor",
"subcategory": "PM2.5 particulate matter",
"datasheet": "https://www.bosch-sensortec.com/media/boschsensortec/downloads/datasheets/bst-bmv080-ds000.pdf",
"parts": {
"symbol": "BMV080.kicad_sym",
"footprint": "BMV080.kicad_mod",
"model_3d": "bmv080.glb",
"step": "BMV080.step",
"adom_lbr": "BMV080.adom-lbr.json"
}
},
"readme": "**Source:** [Bosch Sensortec Datasheet (BST-BMV080-DS000-12)](https://www.bosch-sensortec.com/media/boschsensortec/downloads/datasheets/bst-bmv080-ds000.pdf)\n**Manufacturer:** Bosch Sensortec\n**Part Number:** BMV080\n**Document:** BST-BMV080-DS000-12 — Rev 1.4, August 2025\n\n## Description\n\nThe BMV080 is an ultra-mini opto-electronic particulate matter sensor from Bosch Sensortec, capable of measuring PM1, PM2.5, and PM10 mass concentrations in real time. It uses a fanless laser-based optical technology that detects particles traveling in free space via ambient airflow, eliminating the need for fans, air inlets, or channels. The sensor emits laser light focused approximately 5 mm above its lens surface; particles crossing the focal region back-scatter light that is detected by integrated photo-detectors, with Doppler shift used to determine airflow velocity.\n\nThe BMV080's revolutionary small form factor (4.4 mm x 3.0 mm x 20.0 mm, 0.092 g) and low power consumption enable integration into ultra-compact IoT devices. Its novel measurement principle — immune to ambient light and requiring no moving parts — makes it completely maintenance-free and allows dust-proof or waterproof integration designs. The sensor consists of an LGA package, lens, and flex-PCB, connected to a host MCU via SPI or I2C, where the Bosch-provided sensor driver processes raw data into calibrated PM concentration values.\n\nThe BMV080 supports continuous and duty-cycling measurement modes with three selectable algorithms (High Precision, Balanced, Fast Response), delivering output data at up to 0.97 Hz. It is classified as a Class 1 laser product (IEC 60825-1) and is designed for a 10-year operating lifetime (MTTF) under standard indoor conditions.\n\n## Key Specifications\n\n| Parameter | Value |\n|---|---|\n| PM2.5 Measurement Range | 0 -- 1000 ug/m3 |\n| PM2.5 Output Resolution | 1 ug/m3 |\n| Minimum Detectable Particle Size | 0.5 um |\n| Relative Particle Velocity | 0.02 -- 1.5 m/s |\n| Precision | +/-10 ug/m3 (0--100 ug/m3); +/-10% (101--1000 ug/m3) |\n| Linearity (Pearson R) | >= 0.98 (0--400 ug/m3); >= 0.95 (401--1000 ug/m3) |\n| Maximum Output Data Rate | 0.97 Hz |\n| Interface | SPI, I2C |\n| Average Total Current (continuous) | < 68 mA @ 0.97 Hz ODR |\n| Sleep Current | < 30 uA |\n| Start-up Time | 1.9 s (polling) / 2.9 s (IRQ) |\n| Operating Lifetime (MTTF) | 10 years |\n| Sensor Dimensions | 4.4 mm x 3.0 mm x 20.0 mm |\n| Sensor Weight | 0.092 g |\n| Laser Class | Class 1 (IEC 60825-1) |\n| Operating Temperature | +15 C to +65 C |\n| Operating Humidity | 0 -- 95 %rH (non-condensing) |\n\n## Features\n\n- Ultra-compact form factor (4.4 x 3.0 x 20.0 mm, 0.092 g)\n- Precise PM1, PM2.5, and PM10 mass and number concentration measurement\n- Innovative fanless laser-based optical design\n- Noiseless device operation with no moving parts\n- No inlets or channels needed -- minimum industrial design impact\n- Maintenance-free operation\n- Novel free-space measurement principle using ambient airflow\n- Enables dust-proof or waterproof integration\n- Three measurement algorithms: High Precision, Balanced, Fast Response\n- Continuous and duty-cycling measurement modes\n- Class 1 laser product (eye-safe)\n- 10-year operating lifetime (MTTF)\n- Obstruction detection with software flagging\n- RoHS compliant\n\n## Pin Configuration\n\n| Pin No. | Name | Type | Description |\n|---|---|---|---|\n| 1 | VDDL | Power | Laser supply voltage (3.3 V). Decouple from VSSA by >1 uF. |\n| 2 | VSSA | GND | Analog ground. Reference for VDDL and VDDA. |\n| 3 | VDDA | Power | ADC supply voltage (2.5 V -- 3.3 V). Decouple from VSSA by >1 uF. |\n| 4 | CSB | DI | SPI: Chip Select (active low). I2C: I2C Address Bit 1 (IAB1). |\n| 5 | MOSI | DI/DO | SPI: Master Out Slave In. I2C: Serial Data (SDA). |\n| 6 | SCK | DI | Serial clock input for SPI and I2C. |\n| 7 | PS | DI | Protocol select. Low = SPI, High = I2C. Latched at power-up. |\n| 8 | VDDIO | Power | Interface power supply (1.2 V -- 3.3 V, typical 1.8 V). |\n| 9 | VSSD | GND | Digital ground. Reference for VDDD and VDDIO. |\n| 10 | VDDD | Power | Digital supply voltage (2.5 V -- 3.3 V). Decouple from VSSD by >1 uF. |\n| 11 | MISO | DI/DO | SPI: Master In Slave Out. I2C: I2C Address Bit 0 (IAB0). |\n| 12 | IRQ | DO | Interrupt line. Active low. Internal pull-up enabled by default. |\n| 13 | DNC | DO | Do not connect. Keep floating. |\n\n## Absolute Maximum Ratings\n\n| Parameter | Minimum | Maximum |\n|---|---|---|\n| VDDIO | 1.2 V (-5%) | 3.3 V (+5%) |\n| VDDD | 2.5 V (-5%) | 3.3 V (+5%) |\n| VDDL | 3.3 V (-5%) | 3.3 V (+5%) |\n| VDDA | 2.5 V (-5%) | 3.3 V (+5%) |\n| ESD - Human Body Model (HBM) | -2 kV | 2 kV |\n| ESD - Charged Device Model (CDM) | -500 V | 500 V |\n| Operating Temperature | +15 C | +65 C |\n| Operating Humidity | 0 %rH | 95 %rH (non-condensing) |\n\n## Electrical Characteristics\n\n| Power Domain | Min Voltage | Max Voltage | Abs. Max | Sleep Current | Measurement Current |\n|---|---|---|---|---|---|\n| VDDIO | 1.2 V (-5%) | 3.3 V (+5%) | 3.6 V | < 3 uA | 0.8 mA |\n| VDDD | 2.5 V (-5%) | 3.3 V (+5%) | 3.6 V | < 15 uA | 21.6 mA |\n| VDDL | 3.3 V (-5%) | 3.3 V (+5%) | 3.6 V | < 3 uA | 18.29 mA |\n| VDDA | 2.5 V (-5%) | 3.3 V (+5%) | 3.6 V | < 3 uA | 27.0 mA |\n\nThe BMV080 has four independent power domains. Passive decoupling components are included on the flex-PCB. Three power supply configurations are supported: single supply rail (simplest, 3.3 V for all domains), power-optimized (lowest power per domain), and separated analog/digital domains (best noise performance).\n\n## Power Consumption\n\n| Measurement Mode | Duty Cycling Period | Power Consumption |\n|---|---|---|\n| Duty Cycling | 1 min (1 measurement/min) | 30.4 mW |\n| Duty Cycling | 5 min (1 measurement/5 min) | 6.2 mW |\n| Duty Cycling | 10 min (1 measurement/10 min) | 3.1 mW |\n| Duty Cycling | 60 min (1 measurement/60 min) | 0.6 mW |\n| Continuous | N/A (1 measurement/s) | 181.9 mW |\n\nPower consumption estimates are based on the Power Optimized Configuration (VDDL at 3.3 V, VDDA and VDDD at 2.5 V).\n\n## Communication Interface\n\nThe BMV080 supports **SPI** and **I2C** digital interfaces, acting as a slave for both protocols. Interface selection is performed via the PS (Protocol Select) pin and latched at power-up.\n\n**SPI Interface:**\n- Modes: SPI mode 0 (CPOL=CPHA=0) and mode 3 (CPOL=CPHA=1)\n- Configuration: 4-wire\n- Frequency: 1 MHz -- 10 MHz (reduced speed for VDDIO < 1.8 V)\n- Transfer format: 16-bit header + arbitrary 16-bit payload words\n\n**I2C Interface:**\n- Standard mode (100 kHz), Fast mode (400 kHz), Fast mode Plus (1 MHz, recommended)\n- 7-bit addressing only, no clock stretching\n- Configurable device address via CSB and MISO pins:\n - CSB=0, MISO=0: address 0x54\n - CSB=0, MISO=1: address 0x55\n - CSB=1, MISO=0: address 0x56\n - CSB=1, MISO=1: address 0x57\n- Compliant with I2C specification UM10204 Rev. 3\n\n## Packages\n\nThe BMV080 consists of three components: an LGA package, a lens, and a flex-PCB.\n\n| Parameter | Dimension |\n|---|---|\n| Flex PCB Width (with ZIF ears) | 5.5 mm |\n| Flex PCB Width (without ears) | 4.4 mm |\n| Flex PCB Length | 20.0 mm |\n| Total Height | 3.005 mm |\n| Lens Height | 1.83 mm |\n| LGA Package Thickness | 0.94 -- 1.22 mm |\n| FPC Thickness | 0.38 mm |\n\nThe flex-PCB connector area is compatible with: Molex 503566-1302 (0.30 mm pitch, 13 circuits), KYOCERA AVX Series 6844 (046844713002846+), and Greenconn CFTD104-1302A001C2AD. Minimum bending radius for the flex-PCB is 0.5 mm, with maximum bending angles of 90 degrees (clockwise) and 180 degrees (counterclockwise) in the designated bending area.\n\nAn optical cover (e.g., Corning Gorilla Glass 6) is required for integration, with thickness 0.3--0.8 mm, clearance 0.35 +/- 0.1 mm from lens, refractive index 1.45--1.77 at 850 nm, and transmissivity >= 90%.\n\n## Software API\n\nBosch Sensortec provides a sensor driver (SDK) that runs on the host MCU and serves as the interface between the BMV080 hardware and the user application. The API is provided as a C library with callback-based architecture.\n\n**Host Platform Support:** ARM Cortex-M0+, M4, M4F, M7F, M33, M33F; ESP32, ESP32-S2, ESP32-S3; RISC-V RV32IMC/IMAFC; Raspberry Pi (ARMv6/v8-a 32-bit and 64-bit).\n\n**Memory Requirements (typical):** 55--86 kB ROM, 17 kB RAM, 10--19 kB stack (no heap allocation).\n\n**Key API Functions:**\n- `bmv080_open()` -- Initialize sensor handle with serial communication callbacks\n- `bmv080_close()` -- Destroy sensor handle\n- `bmv080_reset()` -- Hardware and software reset\n- `bmv080_get_driver_version()` -- Query driver version\n- `bmv080_start_continuous_measurement()` -- Begin continuous measurement mode\n- `bmv080_start_duty_cycling_measurement()` -- Begin duty-cycling measurement mode\n- `bmv080_stop_measurement()` -- Stop active measurement\n- `bmv080_serve_interrupt()` -- Process sensor interrupt and retrieve output data\n- `bmv080_get_parameter()` / `bmv080_set_parameter()` -- Get/set configuration parameters\n\n**Output Structure (`bmv080_output_t`):** Provides PM1, PM2.5, and PM10 mass concentration (ug/m3), number concentration (particles/cm3), runtime, obstruction flag, and out-of-range flag.\n\n**Measurement Algorithms:**\n- `E_BMV080_MEASUREMENT_ALGORITHM_FAST_RESPONSE` -- Best response time (low latency)\n- `E_BMV080_MEASUREMENT_ALGORITHM_BALANCED` -- Balance between precision and speed\n- `E_BMV080_MEASUREMENT_ALGORITHM_HIGH_PRECISION` -- Optimum precision\n\n## Applications\n\n- Indoor air quality monitors\n- Smart thermostats with air quality sensing\n- Smart air purifiers\n- HVAC systems with PM monitoring\n- Portable/wearable air quality devices\n- Electronics accessories\n- IoT environmental sensing nodes\n- Building automation and smart home systems\n- Health and wellness monitoring devices\n- Industrial air quality monitoring\n",
"author": {
"name": "Kyle Bergstedt",
"email": "[email protected]"
},
"visibility": "public",
"hero": {
"type": "billboard",
"headline": "BMV080",
"subhead": "Bosch ultra-compact PM2.5 particulate sensor",
"screenshot": "screenshots/hero.png"
},
"sample_prompts": [],
"discovery_triggers": [],
"discovery_pitch": null,
"metadata": {},
"created_at": "2026-05-28T05:37:02.068Z",
"updated_at": "2026-05-28T05:37:02.068Z",
"description": "Bosch BMV080 ultra-compact PM2.5 particulate-matter sensor on a Molex 503566-1302 FPC connector. Canonical adom-lbr JSON (symbol + footprint), STEP + GLB 3D.",
"dependencies": {},
"org": "adom",
"files": [
"README.md",
"package.json",
"*.kicad_sym",
"*.kicad_mod",
"*.step",
"*.glb",
"*.adom-lbr.json",
"screenshots/**"
]
}