|
1 |
| -SparkFun BMV080 Arduino Library |
2 |
| -======================================== |
| 1 | +") |
3 | 2 |
|
4 |
| -[](https://www.sparkfun.com/products/ |
| 3 | +# SparkFun Air Quality PM1/PM2.5/PM10 Sensor - BMV080 (Qwiic) |
5 | 4 |
|
6 |
| -[*SparkFun Air Quality PM1/PM2.5/PM10 Sensor - BMV080 (Qwiic) (SEN-26554)*](https://www.sparkfun.com/products/ |
| 5 | +Arduino Library for the SSparkFun Air Quality PM1/PM2.5/PM10 Sensor - BMV080 |
7 | 6 |
|
8 |
| -<Basic description of the part.> |
| 7 | + |
| 8 | + |
| 9 | + |
| 10 | + |
| 11 | + |
| 12 | + |
9 | 13 |
|
10 |
| -Repository Contents |
11 |
| -------------------- |
| 14 | +The [SparkFun Air Quality PM1/PM2.5/PM10 Sensor - BMV080 (Qwiic)](https://www.sparkfun.com/sparkfun-air-quality-pm1-pm2-5-pm10-sensor-bmv080-qwiic.html)is an ultra-small, fan-less air quality sensor for sensing PM2.5 particulate matter! Within the enclosure is a breakout board that breaks out Bosch's BMV080, the world's smallest PM1 and PM2.5 air quality sensor. The sensing element measures merely 4.2mm x 3.5mm x 3.1mm (W x L x H), which is more than 450 times smaller than any comparable device on the market. The innovative design is based on ultra-compact lasers with integrated photodiodes. The sensor applies sophisticated algorithms to measure PM1 and PM2.5 concentrations directly in free space, without requiring an intrusive fan. |
12 | 15 |
|
13 |
| -* **/documents** - Data sheets, additional product information |
14 |
| -* **/examples** - Example code |
15 |
| -* **/src** - Source code |
| 16 | +The breakout board comes with the BMV080 populated and takes advantage of its flexible cable with the FPC 13-pin 0.33mm connector. On the back of the board is a horizontal Qwiic connector to reduce the amount of soldering on the board. However, the board still breaks out 0.1"-spaced pins for users who prefer a soldered connection or prototyping the pins on a breadboard. The breakout also includes four jumper selectable I2C addresses if you happen to connect more than one BMV080 on the same I2C port. While the breakout was designed for I2C by default, you can also configure the board's jumper to communicate over SPI as well. A special lens allows the laser to pass through the enclosure to take measurements. |
16 | 17 |
|
17 |
| -Documentation |
18 |
| --------------- |
19 |
| -* **[GitHub Repo](https://github.com/sparkfun/SparkFun_Particulate_Matter_Sensor_Breakout_BMV080/)** - Repo for hardware and tutorial. |
20 |
| -* **[Hookup Guide](https://docs.sparkfun.com/SparkFun_Particulate_Matter_Sensor_Breakout_BMV080)** - Basic hookup guide for the SparkFun Particulate Matter Sensor Breakout - BMV080. |
| 18 | +## Functionality |
21 | 19 |
|
22 |
| -License Information |
23 |
| -------------------- |
| 20 | +The Air Quality PM1/PM2.5/PM10 Sensor - BMV080 can run as an I2C client device, or as a SPI client device. Once connected, the library allows the collaction of PM1, PM2.5 and PM10 readings as well as if the sensor is obstructed. |
24 | 21 |
|
25 |
| -This product is _**open source**_! |
| 22 | +The library enables setting a variety of sensor settings, properties and operating conditions. |
26 | 23 |
|
27 |
| -Please review the LICENSE.md file for license information. |
| 24 | +> [!NOTE] |
| 25 | +> |
| 26 | +> This library uses an pre-compiled archive library provided by Bosch, which is linked to this Arduino library and build time. As such, board support is limited to platforms the Bosch library supports. |
| 27 | +> |
| 28 | +> Consult the architecture directories in the [src](src/) folder of this library. Additional information is available from the [Bosch BMV080 SDK Documentation](https://www.bosch-sensortec.com/products/environmental-sensors/particulate-matter-sensor/bmv080/#documents). |
28 | 29 |
|
29 |
| -If you have any questions or concerns on licensing, please contact technical support on our [SparkFun forums](https://forum.sparkfun.com/viewforum.php?f=152). |
| 30 | +## Documentation |
30 | 31 |
|
31 |
| -Distributed as-is; no warranty is given. |
| 32 | +|Reference | Description | |
| 33 | +|---|---| |
| 34 | +|[Quick Reference](https://docs.sparkfun.com/SparkFun_BMV080_Arduino_Library/classsf_dev_b_m_v080.html)| A quick reference API for the the main library object ```sfDevBMV080```| |
| 35 | +|[Full Documentation](https://docs.sparkfun.com/SparkFun_BMV080_Arduino_Library/)| The full documentation and API for this Arduino library| |
| 36 | +|[SparkFun Air Quality PM1/PM2.5/PM10 Sensor - BMV080](https://github.com/sparkfun/SparkFun_Particulate_Matter_Sensor_Breakout_BMV080)| Hardware GitHub Repository| |
| 37 | +|[Hook Up Guide](https://docs.sparkfun.com/SparkFun_Particulate_Matter_Sensor_Breakout_BMV080) | Hardware Overview and Quick Start for the Air Quality Sensor - BMV080 | |
32 | 38 |
|
33 |
| -- Your friends at SparkFun. |
| 39 | +## Examples |
34 | 40 |
|
35 |
| -_<COLLABORATION CREDIT>_ |
| 41 | +The following examples are provided with the library |
| 42 | + |
| 43 | +| Example | Description | |
| 44 | +|---|---| |
| 45 | +|[Basic Readings](examples/Example_01_BasicReadings/Example_01_BasicReadings.ino)| The sensor is initialized, and the values for PM1, PM2.5 and PM10 are output to the console.| |
| 46 | +|[Duty Cycle](examples/Example_02_DutyCycle/Example_02_DutyCycle.ino)| The sensor is placed in a 20 second Duty Cycle mode - with PM 2.5 values read and output every 20 seconds| |
| 47 | +|[Interruput](examples/Example_03_Interrupt/Example_03_Interrupt.ino)|Readings are driven by a sensor Interrupt| |
| 48 | +|[SPI](examples/Example_04_SPI/Example_04_SPI.ino)|The sensor is connected to using an SPI connection| |
| 49 | +|[Set/Get Parameters](examples/Example_05_Parameters/Example_05_Parameters.ino)|Shows how to set and get sensor prameters using the library| |
| 50 | +|[Two Sensors](examples/Example_06_TwoSensors/Example_06_TwoSensors.ino)|Shows how two sensors can operate using the same system| |
| 51 | +|[Demo Alphanumeric](examples/Example_07_Demo_Alphanumeric/Example_07_Demo_Alphanumeric.ino)|A demo script that outputs sensed data to an Alpha Numeric display| |
| 52 | +|[Demo - OLED](examples/Example_08_Demo_Oled/Example_08_Demo_Oled.ino)| Demo that outputs sensor information to a connected OLED display| |
| 53 | +|[Open - Close](examples/Example_09_OpenClose/Example_09_OpenClose.ino)|Shows how to open the sensor, take a set of readings and then close the sensor| |
| 54 | + |
| 55 | +## License Information |
| 56 | + |
| 57 | +This product is ***open source***! |
| 58 | + |
| 59 | +This product is licensed using the [MIT Open Source License](https://opensource.org/license/mit). |
0 commit comments