Skip to content

Commit 101d85a

Browse files
committed
cleanup and get ready for publishing the library
1 parent 29a2c9d commit 101d85a

File tree

1 file changed

+46
-22
lines changed

1 file changed

+46
-22
lines changed

README.md

+46-22
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,59 @@
1-
SparkFun BMV080 Arduino Library
2-
========================================
1+
![SparkFun Air Quality PM1/PM2.5/PM10 Sensor (Qwiic)](docs/images/gh-banner-2025-arduino-bmv080.png "SparkFun Air Quality PM1/PM2.5/PM10 Sensor (Qwiic)")
32

4-
[![SparkFun Air Quality PM1/PM2.5/PM10 Sensor - BMV080 (Qwiic)](URL for picture of part)](https://www.sparkfun.com/products/
3+
# SparkFun Air Quality PM1/PM2.5/PM10 Sensor - BMV080 (Qwiic)
54

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
76

8-
<Basic description of the part.>
7+
![License](https://img.shields.io/github/license/sparkfun/SparkFun_BMV080_Arduino_Library)
8+
![Release](https://img.shields.io/github/v/release/sparkfun/SparkFun_BMV080_Arduino_Library)
9+
![Release Date](https://img.shields.io/github/release-date/sparkfun/SparkFun_BMV080_Arduino_Library)
10+
![Documentation - build](https://img.shields.io/github/actions/workflow/status/sparkfun/SparkFun_BMV080_Arduino_Library/build-deploy-ghpages.yml?label=doc%20build)
11+
![Compile - Test](https://img.shields.io/github/actions/workflow/status/sparkfun/SparkFun_BMV080_Arduino_Library/compile-sketch.yml?label=compile%20test)
12+
![GitHub issues](https://img.shields.io/github/issues/sparkfun/SparkFun_BMV080_Arduino_Library)
913

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.
1215

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.
1617

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
2119

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.
2421

25-
This product is _**open source**_!
22+
The library enables setting a variety of sensor settings, properties and operating conditions.
2623

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).
2829
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
3031

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 |
3238

33-
- Your friends at SparkFun.
39+
## Examples
3440

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

Comments
 (0)