Introduction to BME280

Hello friends! Hope you’re well. In today’s tutorial, we’ll cover a detailed Introduction to BME280. BME280 is a digital environmental pressure, humidity, and temperature sensor mainly designed for mobile applications. This module comes with extremely compact metal-lid LGA packages. It has low power consumption (consumes only 5µA during idle and less than 1mA during measurements) and small dimensions that make it a perfect fit for battery-driven devices such as GPS, mobiles, and smartwatches. The BME280 working protocols are I2C and SPI which consist of separate pinouts. The module contains a built-in LM6260 regulator, allowing you to effortlessly use it with a 3.3V or 5V logic microcontroller or Raspberry Pi.

BME280 is used in a range of industrial projects and electronic devices and provides high performance in all applications where pressure and humidity measurement is required. From gaming controls to weather monitoring to altitude measurement, this module serves the purpose of all with high precision and accuracy. The device comes with many filtering and sampling options that can be customized to make it compatible with the scores of applications.

In today’s post, we will have a look at its pinout, features, specifications, modes, applications, etc. I will also share the information where I have interfaced with other microcontroller.

Let’s get started with an introduction to Introduction to BME280.

Where To Buy?
No.ComponentsDistributorLink To Buy
1BME280AmazonBuy Now

Introduction to BME280

  • BME280 is a digital device designed to sense pressure, humidity, and temperature. This module consists of extremely concise metal casing.
  • This device is used to measure humidity, temperature, and pressure with high accuracy and high linearity in an 8-pin metal-lid 2.5 x 2.5 x 0.93 mm³ LGA package.
  • BM230 is developed for low current consumption (3.6 µA), high EMC robustness and long-term stability.
  • This device can perfectly work with Bosch Sensortec BMP280 digital pressure sensor.
  • As it provides high performance in humidity and pressure measurement, it is used in advanced and emerging applications such as home automation, indoor navigation, health care, GPS, and a low TCO.
  • The BME280 humidity sensing part provides a fast response time for context-awareness applications and high accuracy over a wide temperature range. This device can measure humidity with the range of 0 to 100% maintaining an accuracy of ±3%. Know that the maximum measurable humidity of the module reduces at high or low temperatures.
  • Its pressure sensing part is an absolute barometric pressure sensor having high accuracy, resolution, and drastically lower noise than the Bosch Sensortec BMP280. Know that the pressure and altitude are related to each other, the reason this device is also used as an altimeter with ±1 meter accuracy. Plus, it can measure pressure ranging from 300 to 1100 hPa maintaining an accuracy of ±1.0 hPa. To maintain 100% accuracy, a temperature range from 0 to 65°C is required.
  • Its temperature sensing part has been optimized for the lowest noise and high resolution.
  • This sensor is available in both I2C and SPI interfaces and it can be supplied with 1.71 to 3.6 V for sensor supply Vdd and 1.2 to 3.6 V for the interface supply Vddio.
  • Whenever the sensor is disabled, current consumption drops to 0.1µA.
  • It supports a full suite of operating modes that optimize the device for power consumption, filter performance, and resolution.

BME280 Pinout

BME280 environmental sensor comes with 10 pins but more often only 6 pins are employed at a single time. The pin description of each pin is described below.

The following figure shows the pinout diagram of this module.

BME280 Datasheet

If you want to incorporate this module into your relevant project, make sure you thoroughly look at the datasheet of BME280. The characteristics of the device are listed in this datasheet. Click the link below to check the datasheet of BME280.

 

BME280 Arduino Interfacing

In this section, we’ll explain An Arduino Weather Station project with the BME280 sensor.

The components used in this setting include:

      • An Arduino Mega
      • A BME280 sensor
      • An LCD shield for Arduino
      • A power bank
      • Wires

Here, we are using Arduino Mega but Arduino UNO can also be used.

  • First, we connect LCD to Arduino. After this, we connect the Vin pin of a sensor with the Arduino 5v output pin. Next, we connect the GND pin of a sensor to the SCL pin of Arduino and the SDA pin of a sensor to the SDA pin of Arduino.
  • Know that the module runs at 3.3V. If you’re using an SPI interface, level shifting is required to avoid any damage, however, if you’re running the I2C interface which is a preferred interface to apply, no level shifting is required since it is an open-drain interface carrying 10K pull-up resistors, providing Vcc 3.3V.
  • That’s all connected, if we load the code and power up the project we can see the reading from the sensor on the screen. For better understanding let's see a diagram of this project below.

BME280 Features

BME280 comes with the following features:

  • Get this device in a metal lid LGA package with dimensions of 2.5x 2.5x 0.93 mm³
  • The Interface protocols are I²C and SPI
  • Supply Voltage is 1.71 to 3.6 V
  • The temperature range is -40 to +85°C
  • Humidity range is 0-100% real humidity
  • The pressure range is 300-1100 hPa
  • The humidity sensor and pressure sensor can be independently enabled/disabled
  • This module is Register and performance compatible with Bosch Sensortec BMP280 digital pressure sensor
  • It is RoHS compliant, halogen-free, MSL1
  • It gets a more precise temperature, atmospheric pressure values, humidity, and approximate altitude data fast
  • It is Grove compatible and easy to use
  • It has a highly abstracted library for building projects quickly

BME280 Modes

This module comes with three modes named:

  • Sleep mode
  • Forced mode
  • Normal mode

The sleep mode is by default selected when the sensor gets activated. In this mode, no measurements take place and the sensor stays at the lowest power consumption. Plus, all registers can be accessed and you can read the chip-ID and compensation coefficients.

In the forced mode only one measurement takes place. The sensor goes back to the default sleep mode after the measurement is performed. The data registers store the measurement results before the forced mode is selected again for the next measurement. The forced mode is a good fit for the applications that need host-based synchronization and a low sampling rate.

The normal mode consists of automated continuous cycling between the inactive standby period and the active measurement period. Know that the sleep mode current is slightly lower than the standby period current. When you enable the normal mode, the determined measurement results can be gathered from information stored in data registers.

The timing diagram of normal mode is shown below:

BME280 Specifications

In this section, we’ll cover the specifications of BME280 so you can get a hold of what this device projects in terms of electrical, pressure, temperature, and humidity specifications.

A few things to consider before you look out at those specifications:

  • All values mentioned in the tables are valid with the full voltage range.
  • And min/max values are provided with the temperature range with full accuracy.
  • The typical state machine timings and currents values are discovered at 25 °C.
  • The state machine min/max values are available with 0 to 65 °C temperature range.

BME280 Electrical Specifications

The following table shows the general electrical specifications.

Parameter
Symbol Condition Min Typ Max Unit
Supply Voltage Internal Domains VDD Ripple max. 50 mVpp   1.71 1.8 3.6 V
Supply Voltage I/O Domain VDDIO 1.2 1.8 3.6 V
Sleep Current IDDSL 0.1 0.3 µA
Standby Current IDDSB 0.2 0.5 µA
Current during humidity measurement IDDH Max value at 85 °C 340 µA
Current during pressure measurement IDDP Max value at - 40 °C   714 µA
Current during temperature measurement IDDT Max value at 85 °C 350 µA
Startup time Tstartup Time to first communication after both VDD > 1.58 V and VDDIO > 0.65 V   2 ms
Power supply Rejection Ratio PSRR Full VDD range   ± 0.01 ± 5   % RH/V Pa/V  
Standby time accuracy tstandby ±5 ±25 %

Humidity Parameter Specifications

The following table shows the humidity parameter specifications.

Parameter Symbol Condition Min Typ Max Unit
Operating Range RH For temperatures < 0 °C and > 60 °C   -40 0 25 85 100 °C % RH
Supply Current IDD.H 1 Hz forced mode, humidity and temperature 1.8 2.8 µA
Absolute accuracy tolerance AH 20...80 % RH, 25 °C, including hysteresis   ± 3 % RH
Hysteresis HH 10-90-10 %RH 25 °C   ± 1 % RH
NonLinearity NLH 10-90 % RH, 25 °C   1 % RH
Response time to Complete 63%   T63% 90-0 or 0-90 % RH, 25 °C     1 s
Resolution RH 0.008 % RH
Noise in humidity NH Highest oversampling   .02 % RH
Long term stability Hstab 10...90 % RH, 25 °C   0.5     % RH/year  

Pressure Sensor Specifications

The following table shows the pressure sensor specifications.

Parameter Symbol Condition Min Typ Max Unit
Operating Temp. Range TA Operational   Full accuracy   -40 0 25 +85 +65 °C
Operating pressure range P Full accuracy 300 1100 hPa
Supply Current IDDLP 1 Hz forced mode, pressure and temperature, lowest power   2.8 4.2 µA
Temperature coefficient of offset TCOP   25... 65 °C, 900 hPa   ± 1.5 ± 12.6   Pa/K cm/K
Absolute accuracy pressure Apex   AP,full   AP       300 . . 1100 hPa -20 . . . 0 °C   300 . . 1100 hPa 0 . . . 65 °C   1100 . . 1250 hPa 25 . . . 40 °C     ± 1.7   ± 1   ± 1.5     hPa hPa hPa
Relative accuracy pressure VDD = 3.3V   Arel 700 ... 900hPa 25 . . . 40 °C   ± .12 hPa
Resolution of pressure output data RP Highest Oversampling 0.18 Pa
Noise in pressure NP, fullBW   NP, filtered     Full bandwidth, highest oversampling Reduced bandwidth, highest oversampling   1.3 11 .2 1.7 Pa cm Pa cm  
Solder drift Minimum solder height 50µm -0.5 +2 hPa
Long term stability Pstab Per year   ±1 hPa
Possible sampling rate fsample_P   Lowest Sampling 157 182 Hz

Temperature Sensor Specifications

The following table shows the temperature sensor specifications.

Parameter Symbol Condition Min Typ Max Unit
Operating Temp. Range T Operational   Full accuracy   -40 0 25 +85 +65 °C
Supply Current IDD, T 1 Hz forced mode, Temp. measurement only 1 1100 µA
AT,25   25 °C ± 0.5   °C
Absolute Accuracy Temperature   AT,full   Aext   Aext       0 ... 65 °C   -20 ... 0 °C   -40 ... -20 °C     ± 1   ± 1.25   ± 1.5     °C
Output Resolution   RT API output resolution 0.01 °C
RMS noise   NT Lowest Oversampling   0.005 °C

BME280 Absolute Maximum Ratings

It is important to note that these ratings are available over complete temperature range.

The following table shows the absolute maximum ratings of BME280.

Parameter Condition Min Max Unit
Voltage at any supply pin VDD and VDDIO pin   -0.3 4.25 V
Voltage at any interface pin -0.3 VDDIO + 0.3   V
Storage Temp. = 65% RH   -45 +85 °C
Pressure 0 20,000 hPa
ESD HBM, at any pin   CDM   Machine Model   ± 2   ± 500   ± 200 KV V V
Condensation No power supplied allowed allowed

BME280 Applications

Due to its SPI and I2C compatibility, the BME280 sensor is employed in a range of applications especially weather monitoring and health monitoring. The applications it can be used for include:

  • Skin detection, room change detection
  • Health monitoring/well-being
  • Warning regarding dehydration or heat stroke
  • Measurement of lung volume and airflow
  • Home automation control
  • Control heating, ventilation, air conditioning (HVAC)
  • Internet of things
  • GPS enhancement (e.g. time-to-first-fix improvement, dead reckoning, slope detection)
  • Indoor navigation (change of floor detection, elevator detection)
  • Outdoor navigation, leisure, and sports applications
  • Weather forecast
  • Vertical velocity indication (rise/sink speed)

That was all about the Introduction to BME280. If your mind is brimmed with questions regarding this device, you can ask me in the section below. I’d love to assist you the best way I can. Feel free to share your feedback and suggestions about the content we share, so we keep improving our content and deliver exact as per your needs and expectations. Thank you for reading the article.

Introduction to DS1307

Hello friends, I hope you all are doing great. In today's tutorial, we are gonna have a look at detailed Introduction to DS1307. DS1307 is a real-time clock. It is a low power device and also has battery backup, which provides power when its external power supply not working or is off. It works on the I2C protocol. It is a bidirectional device and it can send and receive data on both sides. DS1307 is used in industrial projects where constant time and date of some projects or working is required. I will give you a detailed overview of this time and date indicator IC. In today's post, we will have a look at its pinout, working, basic circuit, protocol, etc. I will also share some links of projects where I have interfaced it with Arduino and some other Microcontrollers. Friends, if you have any questions, please ask in comments and I will try my best to solve your problems and will give you comprehensive answers. So let's get started with basic Introduction to DS1307:

Introduction to DS1307

  • DS1307 is a Real-Time Control (RTC) IC. In DS1307, data is transferred in binary decimal coded, bits pattern. The data transfer rate in DS1307 is 56 bytes.
  • The memory which is used in DS1307 is NV SRAM. NV SRAM is basically a non-volatile random access memory. In working, NV SRAM is quite similar to static random access memory(SRAM).
  • DS1307 is an electronic device which plays an impotent role in real-time embedded systems. In embedded systems, we can get benefits of system clocks, students attendance time and date, we can also use it as an alarm for special work.
  • DS1307 consists of a built-in power-sense circuit. The purpose of the built-in power-sense circuit is that if power gets cut-off, then it will automatically switch to back up power supply. In this way, our circuit remains in working condition.
  • The protocol on which DS1307 works is I2C. I2C is a single line protocol in which data is transferred bit by bit along a single wire.

  • Now let's have a look at DS1307 Pinout:

DS1307 Pinout

  • DS1307 has a total of 8 pinouts, which are described below:
    • PIN 1,2: These pins are for standard 32.768 quartz crystals. Both pins can be used as input and output for internal oscillator. If X1 is input then X2 is used as output.
    • PIN 3: This pin is used for battery connection to DS1307.
    • PIN 4: We have to apply Ground on this pin.
    • PIN 5: This pin is labeled as SDA, which is short for Serial Data Line.
    • PIN 6: It is used for serial clock input (SCL) and data synchronized.
    • PIN 7: This pin is used for output square wave obtainer (SQW).
    • PIN 8: At this pin, we provide an external power supply (Vcc).
  • Now let's have a look at the pinout picture:
Now let's have a look at I2C protocol

I2C Protocol

  • I2C is a serial protocol in which data is transferred bit by bit.
  • I2C combine the best feature of  SPI and UART. By using it with one microcontroller we can control many slave devices.
  • In I2C data is transferred in the form of messages, then we convert messages into data form. Each message has an address frame that contains a binary address of devices which under control.
  • I2C protocol is cheaper to implement then SPI protocol. SPI control one slave device while I2C control more than one device.
  • For better understanding lets have a look at the I2C protocol picture. Now let's have a look at working of DS1307

Working of DS1307

  • For a better understanding of the working of DS1307 let's discuss a circuit in which we use it.
  • In this simple circuit, we connect its first two pins which are X1 and X2 with 32.768 kHz crystal oscillator as the source for the chip.
  • The third pin is connected with a battery of 3V.
  • At Vcc, we give 5v supply and it can be given by using a microcontroller. If Vcc is not provided then read and write condition are inhibited.
Let us have a look at the circuit:
  • Starts and stop conditions are required when one device wants to communicate with other devices in the I2c protocol.
  • For obtaining start condition we provide specific identification and address register to a device, by this, we get start condition.
  • For a better understanding of stop and start condition lets have a look at clock figure.
  • Let's have a look at Feature of ds1307.

Features of DS1307

  • In this section, I have designed a table where I have placed all features of DS1307 along with their symbols and units.
No. Parameter Symbol Value Unit
1. Supply Voltage VCC 5 V
2 Logic 1 Input VIH 2.2 V
3 Logic 0 Input VIL +0.8 V
4 VBAT Battery Voltage VBAT 3.5 V
5 Input Leakage ILI 1 uA
6 I/O Leakage ILO 1 uA
7 Logic 0 OUTPUT VOL 0.4 V
8 Active Supply Current (fSCL = 100kHz) ICC 1.5 mA
9 Standby Current ICCS 200 uA
10 VBAT Leakage Current IBATLKG 50 nA
11 Power-Fail Voltage (VBAT = 3.0V) VPFtd> 1.284 x VBAT V
12 VBAT Current (OSC ON); SQW/OUT OFF IBAT1 500 nA
13 VBAT Current (OSC ON); SQW/OUT ON (32kHz) IBAT2 100 nA
14 VBAT Data-Retention Current (Oscillator Of) IBATDR 100 nA
15 SCL Clock Frequency fSCL 100 kHZ
16 Bus Free Time Between a STOP and START Condition tBUF 4.7 us
17 Hold Time (Repeated) START Condition tHD:STA 4 us
18 LOW Period of SCL Clock tLOW 4.7 us
19 HIGH Period of SCL Clock tHIGH 4 us
20 Setup Time for a Repeated START Condition tSU:STA 4.7 us
21 Data Hold Time tHD:DAT 0 us
22 Rise Time of Both SDA and SCL Signals tR 1000 ns
23 Fall Time of Both SDA and SCL Signals tF 300 ns
24 Setup Time for STOP Condition tSU:STO 4.7 us
Now, let's discuss applications of DS1307

Applications of DS1307

  • These are some applications of DS1307, Lets disuses them.
  • As we know DS1307 is used to tell continues time and date showing purpose, that way it is an electronic device such as a computer, mobile, and laptops.
  • By using it with Arduino we can use it in several projects related to data logging, alarm, clocks, etc.
So, that was all about this Real Time Clock DS1307. I hope you have enjoyed today's tutorial and it will help you with your engineering projects. Will meet you guys in the next tutorial, till then take care and have fun !!! :)

Benefits of Offering Web Hosting Accounts With Softaculous

Hello friends, I hope you all are doing great. In today's tutorial, we are going to have a look at Benefits of Offering Web Hosting Accounts With Softaculous. Many web hosting resellers wonder if they need to offer Softaculous to customers with their hosting packages. After all, there are many one-click application installers available in the market. Then, what makes Softaculous so good? In this article, we will take a closer look at this auto installer and explore the benefits that it offers you, as well as, your clients. So, if you are running a web hosting business and utilizing the services of a Reseller web hosting provider, then read on to find out how Softaculous can help you offer better services to your clients.

Softaculous Auto Installer

First things first, Softaculous is a single-click application installer which can automate the web application installation to the site. Further, it integrates well with cPanel and many other control panels while offering the users access to more than 400 applications. The list of applications is spread across categories like Blogs and Microblogs, Image galleries, Forums, Gaming, Analytics, Polls, Content Management Systems, Calendars, Wikis, e-Commerce, frameworks, etc. Softaculous makes the application installation process simple by doing all the technical work for you – from creating tables and databases to setting the right permissions. You can avail of the free version for basic apps or opt for the premium version for the complete set of apps. Softaculous packs a lot of features in the installer as detailed below:

Features

  • One-Click Installs – which allows you to install applications with a single click.
  • More than 400 apps.
  • The apps are updated with every new release.
  • The API (Application Programming Interface) and SDK (Software Development Kit) are documented well and simple to use.
  • It allows you to configure backs and restore them too.
  • It supports many languages.
  • Offers 24x7 support.
These features offer the following benefits to both resellers and end-users:

Benefits

  • Since the applications are updated regularly, you can be assured of using the latest version when you install an app from Softaculous. This enhances the security of the website.
  • Managing backups is a breeze with Softaculous.
  • When you are installing the scripts, you can choose between:
    • http://
    • https://
    • http://www
    • https://www
  • It offers an email notification functionality which enables you to keep a tab on the latest version of the applications used by you, the backup progress, etc.
As a web hosting reseller, Softaculous offers you a dual benefit. It saves your client’s time from searching for different applications and manually installing them. Further, this reduces the number of technical support requests from your clients which free your time. So, you have happier clients with more time on hand to grow and expand your business.

Summing Up

Softaculous is undoubtedly a great tool to help a web hosting reseller offer a one-stop solution to his clients for the application needs. It is also one of the most famous auto installers which offer a solution for the complete lifecycle of the application – installation, backing up, and regular updates. We hope that this article offered you some good insights into Softaculous and that you will consider offering hosting accounts to your clients with this installer as a part of the package.
Syed Zain Nasir

I am Syed Zain Nasir, the founder of <a href=https://www.TheEngineeringProjects.com/>The Engineering Projects</a> (TEP). I am a programmer since 2009 before that I just search things, make small projects and now I am sharing my knowledge through this platform.I also work as a freelancer and did many projects related to programming and electrical circuitry. <a href=https://plus.google.com/+SyedZainNasir/>My Google Profile+</a>

Share
Published by
Syed Zain Nasir