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. | Components | Distributor | Link To Buy |
1 | BME280 | Amazon | Buy 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.