Skip to main content

An Alternative BMP280 Module with the Arduino

 

An Alternative BMP280 Module with the Arduino

Besides the Adafruit BMP280 breakout module, I found a cheaper alternative on amazon for $5.88.

This module is sold by a Chinese company named DiyMore.  It is a 3.3v only breakout, so it has no onboard regulator or level translating circuitry.  So you must be careful to only use a 3.3 volt supply with it.

 
DiyMore BMP280

This module arrived in a package marked as a BMP085, which led to some confusion, but I eventually discovered that it is indeed a BMP280 (Device ID=58), which supports measurement of Atmospheric Pressure, Temperature and Humidity.  Altitude may be calculated from the barometric pressure, assuming you know what the local pressure or altitude was on startup.

 
DiyMore BMP280 Back side

As you can see, it breaks out all of the pins necessary to communicate with the device via I2C or SPI mode.

There was no documentation included with the board, and nothing on the internet that I could find specific to this board.  I attempted to reverse engineer the board, and created this schematic.  I believe it is correct.

 

 
DiyMore BMP280 Schematic Diagram

Connections

Note*** When connecting to the RBBB board, the board must be supplied with only 3.3v.  This can be done by moving the jumper on the FTDI USB adapter to the 3.3v side. The RBBB has no 3.3v regulator onboard, so no 3.3v pin available.

 
FTDI Jumper 3.3v

For I2C Mode, I made connections as follows:

BMP280 Card Pin Arduino Duemilanove Pin Arduino RBBB Pin Mega2560 Pin Arduino Due Pin
VCC POWER 3.3V POWER 5V *** POWER 3.3V POWER 3.3V
GND POWER GND POWER GND POWER GND POWER GND
SCL A5 A5 A5 A5
SDA A4 A4 A4 A4

For an I2C Address of 0x76, SDD is tied to ground.
For an I2C Address of 0x77, SDD is tied to 3.3v.

For SPI mode, I made the connections as follows:

BMP280 Card Pin Arduino Duemilanove Pin Arduino RBBB Pin Mega2560 Pin Arduino Due Pin
VCC POWER 3.3V POWER 5V *** POWER 3.3V POWER 3.3V
GND POWER GND POWER GND POWER GND POWER GND
SDD ICSP-1 or D12 D12 ICSP-1 or D12 ICSP-1 or D12
SCL ICSP-3 or D13 D13 ICSP-3 or D13 ICSP-3 or D13
SDA ICSP-4 or D11 D11 ICSP-4 or D11 ICSP-4 or D11
CSB D-10 D-10 D-10 D-10

 
RBBB in SPI Mode

All configurations appear to work.  I did notice that the temperature reading climbs a few degrees warmer in SPI mode than in I2C mode.  I suspect this is because we are holding one or more lines low, pulling more average current through the pullup resistors, or something to that effect.  I have not researched this further, other than to read the actual temperature of the sensor and note that it does indeed climb in SPI mode.

 
DiyMore BMP280 running bmp280test program

Migrated Comments:

One Response to “An Alternative BMP280 Module with the Arduino”

  1. Ronald PA3BXT Says:

    Hi thanks very much for your help, I couldn’t get the sensor to work at first, until I pulled up the CSO and SDD pins. Kind regards from another radio amateur (ham).

     

Comments

Popular posts from this blog

Building the W8NX Short Trap Dipole

Yaesu G-450XL Rotator Repair

JuncTek Battery Monitor MQTT Controller