The DHT22 is a basic, low-cost digital temperature and humidity sensor. It uses a capacitive humidity sensor and a thermistor to measure the surrounding air, and spits out a digital signal on the data pin (no analog input pins needed). It's fairly simple to use, but requires careful timing to grab data. The only real downside of this sensor is you can only get new data from it once every 2 seconds, so when using our library, sensor readings can be up to 2 seconds old.

Simply connect the first pin on the left to 3-5V power, the second pin to your data input pin and the rightmost pin to ground. Although it uses a single-wire to send data it is not Dallas One Wire compatible! If you want multiple sensors, each one must have its own data pin.

Compared to the DHT11, this sensor is more precise, more accurate and works in a bigger range of temperature/humidity, but its larger and more expensive.

Comes with a 4.7K - 10K resistor, which you will want to use as a pullup from the data pin to VCC.

The BMP280 Digital Barometer is developed by Bosch Sensortec. Compared with the previous BMP085, BMP180, and BMP183, this BMP280 barometer comes with a higher performance and the smallest size in the industry.

The BMP280 is an absolute barometric pressure sensor especially designed for mobile applications. The sensor module is housed in an extremely compact 8-pin metal-lid LGA package with a footprint of only 2.0x2.5mm2 and 0.95mm package height. Its small dimensions and low power consumption of 2.7μA@1Hz allow the implementation in battery-driven devices such as mobile phones, GPS modules or watches. It supports two types of communication: I2C and SPI.


? VCC: power pin. The working voltage for the chip is 1.71-3.6V. Since the module integrates a 3.3V voltage regulator, the power supply can be either 3.3V or 5V. If you are using an Arduino board, you're recommended to use a 5V power supply.

? 3.3V: the output of the voltage regulator, meaning you can provide the chip with a 3.3V for power here.

? GND: common ground for power and logic.BMP280 supports I2C and SPI communication and the module keeps both ports. If you want to connect a simple circuit, you can use the I2C port; to connect multiple sensors, you can use the SPI port free of I2C address collisions.

I2C interface

The I2C interface uses the following pins:

? SCK: serial clock (SCL)

? SDI: data (SDA)

? SDO: The I2C address decides the pin. If SDO connects to GND(0), the address is 0x76, if it connects to VDDIO(1), the address is 0x77. In this module, we have connected it to VDDIO, so the address should be 0x77.

? CSB: Must be connected to VDDIO to select I2C interface.

SPI interface

The SPI interface uses the following pins:

? CSB: chip select, active low and has an integrated pull-up resistor

? SCK: serial clock

? SDI: serial data input; data input/output in 3-wire mode

? SDO: serial data output; hi-Z in 3-wire mode

Experimental Procedures

BMP280 for Arduino


- 1 * SunFounder Uno board

- 1 * USB Cable

- 1 * BMP280 Module

- Several jump wires

- 1* Breadboard

Step1: Build the circuit

You can connect in the following two ways: I2C and SPI, those two ways will be a little different on the Uno R3 and the Mega2560 (as shown below), taking Uno R3 as an example, choose one way and connect successfully, you can move to the next step then

I2C wiring

LoRa and LoRaWAN together define a Low Power, Wide Area (LPWA) networking protocol designed to wirelessly connect battery operated ‘things’ to the internet in regional, national or global networks, and targets key Internet of things (IoT) requirements such as bi-directional communication, end-to-end security, mobility and localization services. The low power, low bit rate, and IoT use distinguish this type of network from a wireless WAN that is designed to connect users or businesses, and carry more data, using more...

Read more »