Skip to content

Commit bf2b243

Browse files
committed
Arduino library updates
Updating Quick start & Arduino Set Up pages with updated instructions on adding SDK to Arduino library.
1 parent 606344b commit bf2b243

File tree

2 files changed

+82
-5
lines changed

2 files changed

+82
-5
lines changed

docs/quickstart.md

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,45 @@ Start by connecting the Air Quality Sensor - BMV080 to the IoT RedBoard - ESP32
1515
[![Photo of completed Qwiic assembly](./assets/img/BMV080_Qwiic_Assembly.jpg){ width="600"}](./assets/img/BMV080_Qwiic_Assembly.jpg "Click to enlarge")
1616
</center>
1717

18+
## Installing SparkFun BMV080 Arduino Library & Bosch BMV080 SDK Files
19+
20+
The SparkFun BMV080 Arduino library requires some manual installation as it does **not** include the required files from BMV080 SDK from Bosch. Users will need to download the SDK from [this page](https://www.bosch-sensortec.com/products/environmental-sensors/particulate-matter-sensor/bmv080/#documents) and then manually place the necessary files in the SparkFun BMV080 Arduino library folder. The tables below outlines where to find the Arduino Libraries folder along with the filepaths and filenames of all SDK files you'll need to copy into the SparkFun BMV080 Arduino folder:
21+
22+
### Library Install Directory
23+
24+
| OS | Directory|
25+
|---|---|
26+
|macOS | $HOME/Documents/Arduino/libraries/SparkFun_BMV080_Arduino_Library|
27+
|Windows | $HOME\Documents\Arduino\libraries\SparkFun_BMV080_Arduino_Library|
28+
|Linux| $HOME/Arduino/libraries/SparkFun_BMV080_Arduino_Library|
29+
30+
### Files to copy and locations to copy to
31+
32+
From the Bosch SDK, the following files are copied into the specified library locations.
33+
34+
|Bosch SDK File | SparkFun BMV080 Arduino Library Directory|
35+
|--|--|
36+
|api/inc/bmv080.h| src/sfTk/bmv080.h|
37+
|api/inc/bmv080_defs.h| src/sfTk/bmv080_defs.h|
38+
|api/api/lib/xtensa_esp32/xtensa_esp32_elf_gcc/release/lib_bmv080.a | src/esp32/lib_bmv080.a|
39+
|api/api/lib/xtensa_esp32/xtensa_esp32_elf_gcc/release/lib_postProcessor.a | src/esp32/lib_postProcessor.a|
40+
|api/api/lib/xtensa_esp32s2/xtensa_esp32s2_elf_gcc/release/lib_postProcessor.a | src/esp32s2/lib_postProcessor.a|
41+
|api/api/lib/xtensa_esp32s2/xtensa_esp32s2_elf_gcc/release/lib_bmv080.a | src/esp32s2/lib_bmv080.a|
42+
|api/api/lib/xtensa_esp32s3/xtensa_esp32s3_elf_gcc/release/lib_postProcessor.a | src/esp32s3/lib_postProcessor.a|
43+
|api/api/lib/xtensa_esp32s3/xtensa_esp32s3_elf_gcc/release/lib_bmv080.a | src/esp32s3/lib_bmv080.a|
44+
|api/api/lib/arm_cortex_m0plus/xarm_none_eabi_gcc/release/lib_postProcessor.a | src/cortex-m0plus/lib_postProcessor.a|
45+
|api/api/lib/arm_cortex_m0plus/arm_none_eabi_gcc/release/lib_bmv080.a | src/cortex-m0plus/lib_bmv080.a|
46+
|api/api/lib/arm_cortex_m33f/xarm_none_eabi_gcc/release/lib_postProcessor.a | src/cortex-m33/lib_postProcessor.a|
47+
|api/api/lib/arm_cortex_m33f/arm_none_eabi_gcc/release/lib_bmv080.a | src/cortex-m33/lib_bmv080.a|
48+
|api/api/lib/arm_cortex_m4/xarm_none_eabi_gcc/release/lib_postProcessor.a | src/cortex-m4/lib_postProcessor.a|
49+
|api/api/lib/arm_cortex_m4/arm_none_eabi_gcc/release/lib_bmv080.a | src/cortex-m4/lib_bmv080.a|
50+
|api/api/lib/arm_cortex_m4f/xarm_none_eabi_gcc/release/lib_postProcessor.a | src/cortex-m4f/lib_postProcessor.a|
51+
|api/api/lib/arm_cortex_m4f/arm_none_eabi_gcc/release/lib_bmv080.a | src/cortex-m4f/lib_bmv080.a|
52+
1853
## Arduino Example 1 - Basic Readings
1954

2055
This example demonstrates the basics of initializing and reading air quality data from the BMV080 over I<sup>2</sup>C. Run "Example 01 - Basic Readings" by completing the following steps:
2156

22-
* Open the [Library Manager](https://docs.arduino.cc/software/ide-v2/tutorials/ide-v2-installing-a-library/) tool, search for "SparkFun BMV080" and install the latest version of the SparkFun BMV080 library.
2357
* If necessary, open the [Boards Manager](https://docs.arduino.cc/software/ide-v2/tutorials/ide-v2-board-manager/) tool, search for "SparkFun ESP32" and install the latest version of the SparkFun ESP boards.
2458
* In the Examples menu, open **Example_01_BasicReadings**.
2559
* Select the Board (SparkFun ESP32 IoT RedBoard) and Port and click "Upload".

docs/setting_up_arduino.md

Lines changed: 47 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@
66
- [Installing an Arduino Library](https://learn.sparkfun.com/tutorials/installing-an-arduino-library)
77
- [Installing Board Definitions in the Arduino IDE](https://learn.sparkfun.com/tutorials/installing-board-definitions-in-the-arduino-ide)
88

9-
!!! note
10-
If you've never connected an CH340 device to your computer before, you may need to install drivers for the USB-to-serial converter. Check out our section on "[How to Install CH340 Drivers](https://learn.sparkfun.com/tutorials/how-to-install-ch340-drivers)" for help with the installation.
119

12-
- [How to Install CH340 Drivers](https://learn.sparkfun.com/tutorials/how-to-install-ch340-drivers/all)
10+
## SparkFun BMV080 Arduino Library Install
1311

1412
SparkFun has written a library using Bosch's API to work with the BMV080! You can obtain this library through the Arduino Library Manager by searching for "**SparkFun BMV080**". Find the one written by SparkFun Electronics and install the latest version. Users who prefer to manually install the library can get it from the [GitHub Repository](https://github.com/sparkfun/SparkFun_BMV080_Arduino_Library) or download the .ZIP by clicking the button below:
1513

16-
<div style="text-align: center"><a href="https://github.com/sparkfun/SparkFun_BMV080_Arduino_Library/archive/refs/heads/main.zip" class="md-button">SparkFun BMV080 Arduino Library (ZIP)</a></div>
14+
<center>
15+
[SparkFun BMV080 Arduino Library (ZIP)](https://github.com/sparkfun/SparkFun_BMV080_Arduino_Library/archive/refs/heads/feature/remove-bosch-sdk.zip){ .md-button .md-button--primary }
16+
</center>
1717

1818
!!! note
1919
The SparkFun BMV080 Arduino Library uses the [SparkFun Toolkit](https://github.com/sparkfun/SparkFun_Toolkit) as a dependency. This should automatically download when installing the library using the Arduino Library Manager. For users that are installing the BMV080 library manually, make sure to download the SparkFun Toolkit as well. At the time of writing, we were using the following Arduino Libraries, firmware binaries, board add-ons.
@@ -25,5 +25,48 @@ SparkFun has written a library using Bosch's API to work with the BMV080! You ca
2525
* Board Definitions
2626
* **esp32 by Espressif v3.0.1** for the IoT RedBoard - ESP32.
2727

28+
## Adding the BMV080 SDK
29+
30+
The SparkFun BMV080 Arduino library requires some manual installation as it does **not** include the required files from BMV080 SDK from Bosch. After installing the SparkFun library, users need to download the SDK from [this page](https://www.bosch-sensortec.com/products/environmental-sensors/particulate-matter-sensor/bmv080/#documents) and then manually place the necessary files in the SparkFun BMV080 Arduino library folder. The tables below outlines where to find the Arduino Libraries folder along with the filepaths and filenames of all SDK files you'll need to copy into the SparkFun BMV080 Arduino folder:
31+
32+
### Library Install Directory
33+
34+
| OS | Directory|
35+
|---|---|
36+
|macOS | $HOME/Documents/Arduino/libraries/SparkFun_BMV080_Arduino_Library|
37+
|Windows | $HOME\Documents\Arduino\libraries\SparkFun_BMV080_Arduino_Library|
38+
|Linux| $HOME/Arduino/libraries/SparkFun_BMV080_Arduino_Library|
39+
40+
### Files to copy and locations to copy to
41+
42+
From the Bosch SDK, the following files are copied into the specified library locations.
43+
44+
|Bosch SDK File | SparkFun BMV080 Arduino Library Directory|
45+
|--|--|
46+
|api/inc/bmv080.h| src/sfTk/bmv080.h|
47+
|api/inc/bmv080_defs.h| src/sfTk/bmv080_defs.h|
48+
|api/api/lib/xtensa_esp32/xtensa_esp32_elf_gcc/release/lib_bmv080.a | src/esp32/lib_bmv080.a|
49+
|api/api/lib/xtensa_esp32/xtensa_esp32_elf_gcc/release/lib_postProcessor.a | src/esp32/lib_postProcessor.a|
50+
|api/api/lib/xtensa_esp32s2/xtensa_esp32s2_elf_gcc/release/lib_postProcessor.a | src/esp32s2/lib_postProcessor.a|
51+
|api/api/lib/xtensa_esp32s2/xtensa_esp32s2_elf_gcc/release/lib_bmv080.a | src/esp32s2/lib_bmv080.a|
52+
|api/api/lib/xtensa_esp32s3/xtensa_esp32s3_elf_gcc/release/lib_postProcessor.a | src/esp32s3/lib_postProcessor.a|
53+
|api/api/lib/xtensa_esp32s3/xtensa_esp32s3_elf_gcc/release/lib_bmv080.a | src/esp32s3/lib_bmv080.a|
54+
|api/api/lib/arm_cortex_m0plus/xarm_none_eabi_gcc/release/lib_postProcessor.a | src/cortex-m0plus/lib_postProcessor.a|
55+
|api/api/lib/arm_cortex_m0plus/arm_none_eabi_gcc/release/lib_bmv080.a | src/cortex-m0plus/lib_bmv080.a|
56+
|api/api/lib/arm_cortex_m33f/xarm_none_eabi_gcc/release/lib_postProcessor.a | src/cortex-m33/lib_postProcessor.a|
57+
|api/api/lib/arm_cortex_m33f/arm_none_eabi_gcc/release/lib_bmv080.a | src/cortex-m33/lib_bmv080.a|
58+
|api/api/lib/arm_cortex_m4/xarm_none_eabi_gcc/release/lib_postProcessor.a | src/cortex-m4/lib_postProcessor.a|
59+
|api/api/lib/arm_cortex_m4/arm_none_eabi_gcc/release/lib_bmv080.a | src/cortex-m4/lib_bmv080.a|
60+
|api/api/lib/arm_cortex_m4f/xarm_none_eabi_gcc/release/lib_postProcessor.a | src/cortex-m4f/lib_postProcessor.a|
61+
|api/api/lib/arm_cortex_m4f/arm_none_eabi_gcc/release/lib_bmv080.a | src/cortex-m4f/lib_bmv080.a|
62+
63+
## BMV080 Board Limitations
64+
65+
The SparkFun BMV080 Arduino Library only works with the following SparkFun boards:
66+
67+
* [IoT RedBoard - ESP32](https://www.sparkfun.com/sparkfun-iot-redboard-esp32-development-board.html)
68+
* [Thing Plus - ESP32 WROOM (USB-C)](https://www.sparkfun.com/sparkfun-thing-plus-esp32-wroom-usb-c.html)
69+
* [Thing Plus - ESP32-S2 WROOM](https://www.sparkfun.com/sparkfun-thing-plus-esp32-s2-wroom.html)
70+
* [Thing Plus - RA6M5](https://www.sparkfun.com/sparkfun-thing-plus-ra6m5.html)
2871

2972
Now that we have our library and board add-on installed, we can start experimenting with the breakout board. For the scope of this tutorial, we will highlight the examples to get started. From there we will be able to build our own custom code to integrate the development board into a project.

0 commit comments

Comments
 (0)