GY-BMP280-3.3 Pressure Sensor Module Arduino Tutorial and Pinout

GY-BMP280-3.3 high precision atmospheric pressure sensor module for Arduino – tutorial on first use and testing of the module as well as GY-BMP280-3.3 pressure sensor module pinout. The same module is sold under different names such as BMP280-3.3 or just BMP280, although BMP280 is the actual pressure sensor chip that can be seen just below the capacitor at the top of the module, as shown in the image below.

GY-BMP280-3.3 Pressure Sensor Module

GY-BMP280-3.3 Pressure Sensor Module

GY-BMP280-3.3 Pressure Sensor Module Basic Information

The least you need to know before using this module is presented below.

What the GY-BMP280-3.3 Pressure Sensor Module Can Measure

It can measure both atmospheric pressure and temperature. Because it can measure atmospheric pressure, it can be used to calculate altitude.

BMP280 Datasheet

The module uses a BMP280 barometric pressure sensor from Bosch. A datasheet on the BMP280 can be found on the BMP280 page on the Bosch website. This datasheet and web page is for the actual BMP280 device found on the GY-BMP280-3.3 module.

Operating Voltage

The GY-BMP280-3.3 operates from 3.3V, so requires 3.3V power and must be driven with 3.3V logic levels. Some modules that use the BMP280 device have a voltage regulator and level shifters so that it can be operated from a 5V controller such as an Arduino Uno. This module does not have any regulator or level shifters.

From the BMP280 datasheet:
Minimum power supply voltage – 1.71V
Maximum power supply voltage – 3.6V
Absolute maximum power supply voltage – 4.25V

Direct connection to a 3.3V Arduino such as an Arduino Due, Arduino Zero, Arduino M0 or Arduino M0 Pro is fine, so long as the pressure sensor is powered from the Arduino 3.3V pin. For 5V Arduinos such as the Arduino Uno or Arduino MEGA, it must be powered from the Arduino 3.3V pin, and must be interface to the Arduino using a level shifter for the data and clock pins.

I have seen videos on YouTube where this module is connected directly to a 5V Arduino and powered from 5V. This is extremely bad engineering practice and could result in severely damaging or destroying the BMP280 device. It is sheer luck if the device actually works and does not blow up.


I2C or SPI can be used to interface or connect the module to an Arduino or other microcontroller. Pin 6 of the module controls the I2C address of the module which can be set to either 0x76 when pin 6 is left unconnected or 0x77 when pin 6 is pulled to Vcc (3.3V).

Wrong Information

The Internet is full of wrong information regarding this sensor module. Tutorials on powering this device from 5V and not using level shifters on the data pins are out there. Or if the advice is to power the module from 3.3V, then the data pins are directly connected to 5V Arduino pins without level shifters.

Another mistake that I have seen is that people do not know that the I2C address can be changed by using pin 6 of the module, as can be seen in the pinout for the module (link in the section below). What they then do is modify the Arduino driver to change its I2C address so that it matches the default I2C address of the module, instead of just pulling pin 6 high so that the module address matches the driver address.

GY-BMP280-3.3 Pressure Sensor Module Pinout

Refer to the GY-BMP280-3.3 pressure sensor module pinout page for the module’s pinout and circuit diagram.

GY-BMP280-3.3 Pressure Sensor Module Tutorial

A tutorial on basic use and testing of the GY-BMP280-3.3 pressure sensor module on the Starting Electronics website shows how to connect the module to both 3.3V and 5V Arduino boards. An Arduino Due is used to demonstrate how to wire the module to a 3.3V Arduino. For 5V Arduino boards, an Arduino Uno is used to demonstrate how to use a transistor level shifter to wire the module for 5V use.

The tutorial also shows how to install drivers for the pressure sensor module and then test the module to make sure that it can read pressure and temperature.

Go to the tutorial now →

KiCad Schematic Tutorial

Learn to draw a circuit diagram in this KiCad schematic tutorial for beginners. Draw a 555 timer LED flasher circuit using free open source KiCad EDA software.

KiCad is an Electronic Design Automation (EDA) software package that can run on Windows, Linux and MAC OSX. Beginners in electronics may be interested in learning how to draw a circuit using this software package. The circuit diagram or schematic can then be exported for publishing on the web or in documents.

The image below shows KiCad running on a Windows computer with the circuit drawn in the tutorial.

KiCad Schematic Tutorial

KiCad Schematic Tutorial

Beginners in electronics may also like the blog post on how to read schematic or circuit diagrams for beginners.

Installing KiCad

KiCad can be installed on Windows, Linux and MAC OSX:

How to install KiCad in Windows is a short article on installing the newest version of KiCad on a Windows computer.

How to install KiCad in Linux is an article that shows how to install the latest version of KiCad on a Linux computer.

The KiCad download page has links for installing KiCad on OS X and Windows and various Linux distributions.

KiCad Schematic Tutorial for Beginners

The full KiCad schematic tutorial can be found on the Starting Electronics website.

The tutorial shows how to create a new project in KiCad, including how to create and name a project directory. A 555 timer flashing LED circuit is then drawn using the KiCad schematic editor called Eeschema.

You will learn how to zoom in and out of the circuit, scroll the schematic, place electronic part symbols, wire the circuit and annotate the circuit. These and more basic actions needed to draw and edit a schematic are included in the tutorial.

Finally the tutorial explains how to export a circuit diagram or schematic for publishing on the web or in a document.

Go to the KiCad Schematic Tutorial now →


Atmel Software Framework Tutorial

The final part of the Atmel Software Framework tutorial is now available. It covers how to use the ASF help documentation and how to find and use example ASF code. The tutorial uses an Atmel ARM Cortex on an Atmel Xplained evaluation board.

A previous blog post listed the current articles in the tutorial at the time of posting. The tutorial series is now complete.

ASF – Atmel Software Framework Tutorial

The first part of the ASF tutorial series introduces ASF and shows the basic structure of ASF. Each part of the tutorial series explains various parts and usage of the ASF in easy to follow steps.

The final part of this series shows how to use the ASF documentation and ASF example projects in Atmel Studio 7.