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 252 4/2/2025
1.2.864 156 4/2/2025
1.2.852 213 3/11/2025
1.2.846 172 3/10/2025
1.2.822 182 2/26/2025
1.2.775 214 2/4/2025
1.2.772 108 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 153 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 235 9/6/2023
1.2.378 197 8/16/2023
1.2.369 274 8/2/2023
1.2.363 178 7/28/2023
1.2.357 168 7/19/2023
1.2.354 225 7/14/2023
1.2.345 200 6/21/2023
1.2.341 178 6/14/2023
1.2.337 214 6/7/2023
1.2.335 158 6/2/2023
1.2.329 168 5/26/2023
1.2.316 214 5/16/2023
1.2.313 177 5/12/2023
1.2.308 200 5/11/2023
1.2.302 174 5/10/2023
1.2.297 193 5/3/2023
1.2.273 347 3/17/2023
1.2.267 303 3/10/2023
1.2.263 282 3/8/2023
1.2.259 323 2/27/2023
1.2.256 273 2/24/2023
1.2.253 266 2/22/2023
1.2.222 408 1/9/2023
1.2.217 364 1/6/2023
1.2.215 321 1/6/2023
1.2.212 342 1/5/2023
1.2.210 372 1/4/2023
1.2.208 336 1/3/2023
1.2.203 353 12/28/2022
1.2.159 437 11/14/2022
1.2.157 378 11/9/2022
1.2.155 377 11/6/2022
1.2.153 394 11/5/2022
1.2.141 456 10/25/2022
1.2.128 438 10/22/2022
1.2.125 444 10/12/2022
1.2.87 558 9/15/2022
1.2.66 454 9/4/2022
1.2.63 447 9/3/2022
1.2.47 479 8/15/2022
1.2.40 487 8/6/2022
1.2.38 484 8/5/2022
1.2.28 498 8/1/2022
1.2.13 508 7/24/2022
1.2.10 473 7/23/2022
1.1.147.4251 568 7/8/2022
1.1.145.58726 470 7/7/2022
1.1.135.7416 497 7/1/2022
1.1.133.52556 508 6/30/2022
1.1.123.24311 494 6/27/2022
1.1.121.35854 466 6/26/2022
1.1.116.8772 509 6/24/2022
1.1.113.2032 487 6/23/2022
1.1.109.32999 514 6/16/2022
1.1.102.51394 466 6/15/2022
1.1.99.36719 465 6/14/2022
1.1.97.17326 485 6/13/2022
1.1.92.53000 513 6/8/2022
1.1.75.16702 494 6/1/2022
1.1.72.29765 487 5/31/2022
1.1.67.25390 494 5/27/2022
1.1.64.21380 478 5/26/2022
1.1.59.7661 495 5/24/2022
1.1.58.10097 497 5/23/2022
1.1.54.28879 476 5/23/2022
1.1.44.45306 521 5/6/2022
1.1.40 514 5/5/2022
1.1.11 535 4/19/2022
1.1.3 546 4/15/2022
1.1.1 484 4/14/2022
1.0.300 562 3/31/2022
1.0.288-preview.114 157 3/25/2022
1.0.288-preview.113 145 3/25/2022
1.0.288-preview.104 137 3/22/2022
1.0.288-preview.103 138 3/21/2022
1.0.288-preview.100 146 3/19/2022
1.0.288-preview.99 158 3/18/2022
1.0.288-preview.98 142 3/18/2022
1.0.288-preview.95 156 3/15/2022
1.0.288-preview.93 142 3/15/2022
1.0.288-preview.87 153 3/10/2022
1.0.288-preview.86 167 3/8/2022
1.0.288-preview.77 164 2/27/2022
1.0.288-preview.75 157 2/26/2022
1.0.288-preview.65 205 2/18/2022
1.0.288-preview.63 148 2/16/2022
1.0.288-preview.61 158 2/12/2022
1.0.288-preview.58 159 2/10/2022
1.0.288-preview.53 153 2/9/2022
1.0.288-preview.48 180 2/4/2022
1.0.288-preview.41 173 1/31/2022
1.0.288-preview.29 171 1/28/2022
1.0.288-preview.20 173 1/27/2022
1.0.288-preview.19 162 1/27/2022
1.0.288-preview.18 169 1/27/2022
1.0.288-preview.5 171 1/24/2022
1.0.288-preview.1 164 1/21/2022
1.0.272 551 1/10/2022
1.0.259 552 12/9/2021
1.0.258 378 12/7/2021
1.0.164 1,199 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