nanoFramework.Iot.Device.Bmxx80 1.2.869

Prefix Reserved
dotnet add package nanoFramework.Iot.Device.Bmxx80 --version 1.2.869
                    
NuGet\Install-Package nanoFramework.Iot.Device.Bmxx80 -Version 1.2.869
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="nanoFramework.Iot.Device.Bmxx80" Version="1.2.869" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="nanoFramework.Iot.Device.Bmxx80" Version="1.2.869" />
                    
Directory.Packages.props
<PackageReference Include="nanoFramework.Iot.Device.Bmxx80" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add nanoFramework.Iot.Device.Bmxx80 --version 1.2.869
                    
#r "nuget: nanoFramework.Iot.Device.Bmxx80, 1.2.869"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=nanoFramework.Iot.Device.Bmxx80&version=1.2.869
                    
Install nanoFramework.Iot.Device.Bmxx80 as a Cake Addin
#tool nuget:?package=nanoFramework.Iot.Device.Bmxx80&version=1.2.869
                    
Install nanoFramework.Iot.Device.Bmxx80 as a Cake Tool

BMP280/BME280/BME680 Device Family

BMxx80 is a device family that senses temperature, barometric pressure, altitude, humidity and VOC gas.

SPI and I2C can be used to communicate with the device (only I2C implemented so far).

Documentation

The implementation supports the following devices:

  • BMP280 temperature and barometric pressure sensor (Datasheet)
  • BME280 temperature, barometric pressure and humidity sensor (Datasheet)
  • BME680 temperature, barometric pressure, humidity and VOC gas sensor (Datasheet)

Usage

BME280

Important: make sure you properly setup the I2C pins especially for ESP32 before creating the I2cDevice, make sure you install the nanoFramework.Hardware.ESP32 nuget:

//////////////////////////////////////////////////////////////////////
// when connecting to an ESP32 device, need to configure the I2C GPIOs
// used for the bus
Configuration.SetPinFunction(21, DeviceFunction.I2C1_DATA);
Configuration.SetPinFunction(22, DeviceFunction.I2C1_CLOCK);

For other devices like STM32, please make sure you're using the preset pins for the I2C bus you want to use.

// bus id on the MCU
const int busId = 1;
I2cConnectionSettings i2cSettings = new(busId, Bme280.DefaultI2cAddress);
using I2cDevice i2cDevice = I2cDevice.Create(i2cSettings);
using Bme280 bme80 = new Bme280(i2cDevice)
{
    // set higher sampling
    TemperatureSampling = Sampling.LowPower,
    PressureSampling = Sampling.UltraHighResolution,
    HumiditySampling = Sampling.Standard,

};

// Perform a synchronous measurement
var readResult = bme80.Read();

// Note that if you already have the pressure value and the temperature, you could also calculate altitude by using
// var altValue = WeatherHelper.CalculateAltitude(preValue, defaultSeaLevelPressure, tempValue) which would be more performant.
bme80.TryReadAltitude(defaultSeaLevelPressure, out var altValue);

Debug.WriteLine($"Temperature: {readResult.Temperature?.DegreesCelsius:0.#}\u00B0C");
Debug.WriteLine($"Pressure: {readResult.Pressure?.Hectopascals:0.##}hPa");
Debug.WriteLine($"Altitude: {altValue.Meters:0.##}m");
Debug.WriteLine($"Relative humidity: {readResult.Humidity?.Percent:0.#}%");

BMP680

// The I2C bus ID on the MCU
const int busId = 1;

I2cConnectionSettings i2cSettings = new(busId, Bme680.DefaultI2cAddress);
I2cDevice i2cDevice = I2cDevice.Create(i2cSettings);

using Bme680 bme680 = new Bme680(i2cDevice, Temperature.FromDegreesCelsius(20.0));

// reset will change settings back to default
bme680.Reset();

// Perform a synchronous measurement
var readResult = bme680.Read();

// Print out the measured data
Debug.WriteLine($"Gas resistance: {readResult.GasResistance?.Ohms:0.##}Ohm");
Debug.WriteLine($"Temperature: {readResult.Temperature?.DegreesCelsius:0.#}\u00B0C");
Debug.WriteLine($"Pressure: {readResult.Pressure?.Hectopascals:0.##}hPa");
Debug.WriteLine($"Relative humidity: {readResult.Humidity?.Percent:0.#}%");

BMP280

// bus id on the MCU
const int busId = 1;

I2cConnectionSettings i2cSettings = new(busId, Bmp280.DefaultI2cAddress);
I2cDevice i2cDevice = I2cDevice.Create(i2cSettings);
using var i2CBmp280 = new Bmp280(i2cDevice);

// set higher sampling
i2CBmp280.TemperatureSampling = Sampling.LowPower;
i2CBmp280.PressureSampling = Sampling.UltraHighResolution;

// Perform a synchronous measurement
var readResult = i2CBmp280.Read();

// Print out the measured data
Debug.WriteLine($"Temperature: {readResult.Temperature?.DegreesCelsius:0.#}\u00B0C");
Debug.WriteLine($"Pressure: {readResult.Pressure?.Hectopascals:0.##}hPa");

You also have 3 examples on how to use this device binding are available in the samples folder.

The following fritzing diagram illustrates one way to wire up the BMP280 with an MCU like ESP32 using I2C:

ESP32 Breadboard diagram

General:

Bmp280 MCU
Vin Power pin
GND Ground

I2C:

Bmp280 MCU
SCK I2C clock pin
SDI I2C data pin

Connection Type

The following connection types are supported by this binding.

  • I2C
  • SPI
Product Compatible and additional computed target framework versions.
.NET Framework net is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories (2)

Showing the top 2 popular GitHub repositories that depend on nanoFramework.Iot.Device.Bmxx80:

Repository Stars
dotnet/samples
Sample code referenced by the .NET documentation
nanoframework/Samples
🍬 Code samples from the nanoFramework team used in testing, proof of concepts and other explorational endeavours
Version Downloads Last updated
1.2.869 257 4/2/2025
1.2.864 157 4/2/2025
1.2.852 213 3/11/2025
1.2.846 172 3/10/2025
1.2.822 183 2/26/2025
1.2.775 215 2/4/2025
1.2.772 109 2/4/2025
1.2.755 115 1/31/2025
1.2.743 161 1/20/2025
1.2.737 109 1/13/2025
1.2.718 144 12/30/2024
1.2.704 167 12/18/2024
1.2.696 117 12/16/2024
1.2.673 315 10/23/2024
1.2.656 177 10/3/2024
1.2.639 178 9/6/2024
1.2.631 146 8/28/2024
1.2.613 174 8/9/2024
1.2.601 115 7/26/2024
1.2.590 166 7/17/2024
1.2.573 171 6/19/2024
1.2.570 133 6/14/2024
1.2.560 160 5/29/2024
1.2.552 158 5/17/2024
1.2.536 259 4/15/2024
1.2.514 190 3/22/2024
1.2.494 204 2/28/2024
1.2.474 216 1/24/2024
1.2.462 211 1/5/2024
1.2.458 184 12/20/2023
1.2.456 154 12/13/2023
1.2.442 251 11/15/2023
1.2.436 146 11/10/2023
1.2.416 175 11/8/2023
1.2.403 241 10/6/2023
1.2.396 227 9/27/2023
1.2.384 237 9/6/2023
1.2.378 200 8/16/2023
1.2.369 277 8/2/2023
1.2.363 181 7/28/2023
1.2.357 172 7/19/2023
1.2.354 228 7/14/2023
1.2.345 203 6/21/2023
1.2.341 182 6/14/2023
1.2.337 218 6/7/2023
1.2.335 162 6/2/2023
1.2.329 172 5/26/2023
1.2.316 218 5/16/2023
1.2.313 181 5/12/2023
1.2.308 204 5/11/2023
1.2.302 178 5/10/2023
1.2.297 197 5/3/2023
1.2.273 351 3/17/2023
1.2.267 307 3/10/2023
1.2.263 286 3/8/2023
1.2.259 327 2/27/2023
1.2.256 277 2/24/2023
1.2.253 270 2/22/2023
1.2.222 412 1/9/2023
1.2.217 368 1/6/2023
1.2.215 325 1/6/2023
1.2.212 346 1/5/2023
1.2.210 376 1/4/2023
1.2.208 340 1/3/2023
1.2.203 357 12/28/2022
1.2.159 441 11/14/2022
1.2.157 382 11/9/2022
1.2.155 381 11/6/2022
1.2.153 398 11/5/2022
1.2.141 460 10/25/2022
1.2.128 442 10/22/2022
1.2.125 448 10/12/2022
1.2.87 562 9/15/2022
1.2.66 458 9/4/2022
1.2.63 451 9/3/2022
1.2.47 483 8/15/2022
1.2.40 491 8/6/2022
1.2.38 488 8/5/2022
1.2.28 502 8/1/2022
1.2.13 512 7/24/2022
1.2.10 477 7/23/2022
1.1.147.4251 572 7/8/2022
1.1.145.58726 474 7/7/2022
1.1.135.7416 501 7/1/2022
1.1.133.52556 512 6/30/2022
1.1.123.24311 498 6/27/2022
1.1.121.35854 470 6/26/2022
1.1.116.8772 513 6/24/2022
1.1.113.2032 491 6/23/2022
1.1.109.32999 518 6/16/2022
1.1.102.51394 470 6/15/2022
1.1.99.36719 469 6/14/2022
1.1.97.17326 489 6/13/2022
1.1.92.53000 517 6/8/2022
1.1.75.16702 498 6/1/2022
1.1.72.29765 491 5/31/2022
1.1.67.25390 498 5/27/2022
1.1.64.21380 482 5/26/2022
1.1.59.7661 499 5/24/2022
1.1.58.10097 501 5/23/2022
1.1.54.28879 480 5/23/2022
1.1.44.45306 525 5/6/2022
1.1.40 518 5/5/2022
1.1.11 539 4/19/2022
1.1.3 550 4/15/2022
1.1.1 488 4/14/2022
1.0.300 566 3/31/2022
1.0.288-preview.114 161 3/25/2022
1.0.288-preview.113 149 3/25/2022
1.0.288-preview.104 141 3/22/2022
1.0.288-preview.103 142 3/21/2022
1.0.288-preview.100 150 3/19/2022
1.0.288-preview.99 162 3/18/2022
1.0.288-preview.98 146 3/18/2022
1.0.288-preview.95 160 3/15/2022
1.0.288-preview.93 146 3/15/2022
1.0.288-preview.87 157 3/10/2022
1.0.288-preview.86 171 3/8/2022
1.0.288-preview.77 168 2/27/2022
1.0.288-preview.75 161 2/26/2022
1.0.288-preview.65 209 2/18/2022
1.0.288-preview.63 152 2/16/2022
1.0.288-preview.61 162 2/12/2022
1.0.288-preview.58 164 2/10/2022
1.0.288-preview.53 157 2/9/2022
1.0.288-preview.48 184 2/4/2022
1.0.288-preview.41 177 1/31/2022
1.0.288-preview.29 175 1/28/2022
1.0.288-preview.20 177 1/27/2022
1.0.288-preview.19 166 1/27/2022
1.0.288-preview.18 173 1/27/2022
1.0.288-preview.5 175 1/24/2022
1.0.288-preview.1 168 1/21/2022
1.0.272 555 1/10/2022
1.0.259 556 12/9/2021
1.0.258 382 12/7/2021
1.0.164 1,204 9/9/2021
1.0.157 415 9/4/2021
1.0.154 374 8/30/2021
1.0.153 400 8/14/2021
1.0.151 396 8/6/2021
1.0.146 407 7/22/2021
1.0.138 424 7/18/2021
1.0.136 455 7/17/2021
1.0.135 213 7/16/2021
1.0.134 214 7/15/2021
1.0.133 232 7/14/2021
1.0.131 231 7/8/2021
1.0.130 528 7/6/2021
1.0.129 211 7/6/2021
1.0.127 220 7/5/2021
1.0.126 221 7/5/2021
1.0.125 231 7/5/2021
1.0.122 261 6/30/2021
1.0.121 247 6/29/2021
1.0.120 233 6/29/2021
1.0.119 276 6/28/2021
1.0.118 277 6/20/2021
1.0.111 236 6/14/2021
1.0.110 284 6/9/2021
1.0.109 205 6/8/2021
1.0.106 242 6/1/2021
1.0.104 288 5/29/2021
1.0.103 253 5/28/2021
1.0.97 222 5/28/2021
1.0.90 227 5/27/2021
1.0.64 217 5/26/2021
1.0.19 270 5/21/2021