BME280 Tester
This project is for testing the Bosch BME280 sensor.
The BME280 sensor measures temperature, absolute air pressure and humidity. I use it in my project My TX4 Wireless Sensor Transmitter to replace the La Crosse TX4U wireless sensor which is no longer made.
It can also be used for developing the software for other sensors that use either the SPI or I2C interface. An example is the HTU21D made by TE.
In addition I use it to receive SPI messages from another project and display the data on the LCD.
When I started using the BME280 I discovered a problem. Several times when I have bought the BME280 on eBay the sellers have sent me the BMP280. The BMP280 measures temperature and absolute air pressure (no humidity). I also received some BME280 sensors that gave erroneous readings of the temperature and humidity. :-(
One way you can tell the difference is that the BME280 is square with the hole on the left while the BMP280 is rectangular and has the hole on the right. They also have different device IDs which are programmed into the part and which you can read.
For a more complete explanation www.jmargolin.com/newprojects/bme280-tester/difference_bme280_bmp280.htm
The definitive test is to read the part and display the values and the device ID. That is what the BME280 Tester is for.
The ID code for the BME280 sensor is 60. The ID code for the BMP280 sensor is 58 and the humidity always reads 00.0%. (That is because the BMP280 does not have a humidity sensor.)
The skill level for stuffing the board is: Intermediate. Make sure you use a temperature-controlled soldering iron. I use a temperature of 340 degrees Celsius.
To compile the source code and download it into the microcontrollers I use Texas Instruments Code Composer Studio. It is free and is on this page: https://www.ti.com/tool/MSP-EXP430G2ET where you can get the versions for Windows, Linux and macOS.
The direct link to the current version for Windows is:
https://software-dl.ti.com/ccs/esd/CCSv10/CCS_10_4_0/exports/CCS10.4.0.00006_win64.zip .
The skill level to use Code Composer Studio is: Advanced. (Maybe Really Advanced).
I have posted more information (which you need), the source code, and more pictures on my Web site:
www.jmargolin.com/newprojects/bme280-tester/bme280-tester.htm
The source code is complete. It does not require any libraries other than the ones that come in Code Composer Studio.
Notes:
1. After you stuff the board clean off the flux. I am Old School so I use acetone but the official recommendation is to use common rubbing alcohol. You can get 90% rubbing alcohol so it contains only 10% water.
2. Many I2C parts need to have SDA pulled up through a 4.7K resistor. That is what J3 is for.
3. To program the MSG430G2402 you connect the SPI Display board to the Launchpad with three of these wires: Breadboard Jumper Wires 10cm Dupont Wire, Female to Female.
When you use it this way you cannot have an MSP430G2xxx in the Launchpad’s socket, the part is on the SPI Display Board. To make it run standalone remove the three wires and use a header plug to connect the /RES and /Reset pins on the header (on the SPI Display Board).
I mentioned that the SPI Display Board can be used to develop the software for other sensors. The HTU21D is an example. I have done that and also posted the source code on my Web site: www.jmargolin.com/newprojects/bme280-tester/bme280-tester.htm
The display for the HTU21D shows the raw temperature, the compensated temperature in Celsius, the compensated temperature in Fahrenheit, and the compensated humidity,
You can use the SPI Display for other sensors. All you have to do is program it yourself. :-)
Addendum
I also use the board to receive data using the SPI interface and display it on the LCD. That is why I originally made the board.
The board I use it with demonstrates my U.S. Patent 9,784,449 Flame Sensing System issued 10/10/2017 to Margolin (that’s me).
ABSTRACT OF THE DISCLOSURE
This invention relates to the field of sensing flames in equipment such as gas furnaces by using the electrical properties of flames. In a first group of embodiments flame rectification is used to cause distortion of a signal having a selected waveform. A harmonic of the distorted waveform is detected thereby providing flame proof. In a second group of embodiments flame rectification is used as a mixer to cause two signals having selected waveforms to produce sum and difference signals. The sum and/or difference signals are detected thereby providing flame proof.
The method commonly used in residential gas furnaces is to use flame rectification to produce a DC voltage.
Although flames conduct current better in one direction than the other the difference isn’t very much, so calling it Flame Rectification gives it too much credit. But it is enough to cause harmonic distortion of a single signal or cause two signals to heterodyne. Only a flame does that. Dirt and grime on the wires is only resistive. And my system works at the lower voltages used in furnace control boards.
The method used in my demonstration board is to use flame rectification to cause two signals (874 Hz and 1,262 Hz) to heterodyne. The difference frequency (388 Hz) is detected using quadrature synchronous detection. Although my patent shows the methods using MSI integrated circuits my demonstration board uses a Texas Instruments MSP430G2252 microcontroller to generate the two signals for the flame rod and the difference signal for the analog switches that perform the quadrature detection of the 388 Hz difference signal. It does this by using the 388 Hz signal to make an opamp either inverting or non-inverting. This does 4-quadrant multiplication (an analog input times a bipolar digital input). These opamps are followed by DC filters, one for the in-phase signal and another for the quadrature signal. The outputs of the DC filters are read by the MSP430G2252 which does the level shifting, full wave rectification, magnitude calculation, and the threshold test for the flame detection.
I made a second demo board where the quadrature detection and DC filtering is also done by the MSP430G2252. The advantage of the first demo board (with analog switches used as analog multipliers) is that you can see the operation of the quadrature detection with an oscilloscope so you don’t have to wonder if the software is doing it right.
I did the development using a Meker burner which is like a Bunsen burner but has a wider flame. I did the final verification using an actual furnace. (My flame sensing system works even better in a real furnace.)
You can read the patent at www.jmargolin.com/flame/flamepat.htm
You can also read why I invented this new flame sensing system (I had a problem with the furnace in my attic):
www.jmargolin.com/furnace/index.htm
This patent is available for sale or license.
Jed Margolin
Virginia City Highlands
Nevada
11/29/2021
BME280 Tester
*PCBWay community is a sharing platform. We are not responsible for any design issues and parameter issues (board thickness, surface finish, etc.) you choose.
- Comments(0)
- Likes(0)
- 0 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
More by Jed Margolin
- MyTX4 To Replace The La Crosse TX4U My TX4 Wireless Sensor Transmitter replaces the La Crosse TX4U wireless sensor which is no longer ma...
- Audio Tone Burst Generator The Audio Tone Burst Generator produces a periodic burst of tone at a User-selected audio frequency ...
- jm_rpi-pico-v6 The Raspberry Pi Pico module is amazing. It is much faster than the Texas Instruments MSP430G2xxx fa...
- Woof Meter The Woof Meter is for testing subwoofer speakers to measure their Thiele-Small (TS) parameters. Thes...
- Precision Low Frequency Signal Generator The Precision Low Frequency Signal Generator produces a User-selected signal from 10Hz to 90Hz with ...
- GPS Clock and Armageddon Alarm A GPS Module using the U-blox NEO6MV2 is used to receive the GPS timing signals to show the exact ti...
- PB1 - Prototyping Board with Ground Plane and Power Supplies This board is for prototyping circuits using wire wrap. It has a good ground plane and power supplie...
- Flame Switch This board simulates the electrical characteristic of a flame for troubleshooting residential gas fu...
- PB2 - Prototyping Board for MSP430G2xxx This board is for prototyping circuits with the Texas Instruments MSP430G2xxx microcontroller. It ca...
- GP1 - Board for demonstrating how to use an MSP430G2xxx This board is for demonstrating how to use the Texas Instruments MSP430G2xxx microcontroller. The bo...
- VGA Adapter for Atari Hard Drivin’/Race Drivin’ Cockpit This VGA Adapter for Atari Hard Drivin’/Race Drivin’ Cockpit also provides for delaying horizontal a...
- Phone Selector/Adapter 2-line to 1-line This converts an RJ11 line with two phone pairs on it to two single line RJ11 jacks. It provides two...
- Triangle Wave Generator With Adjustable Symmetry This is a simple circuit using only one IC, a TL084 quad opamp. The integrator integrates the output...
- Voltage Controlled Audio Oscillator with LM13700s This is a voltage controlled audio oscillator using two LM13700s. At 1 KHz ARTA software (http://www...
- Oscillator - Xtal or RC This is an oscillator that can be stuffed to be either a crystal oscillator (with a 74HC04) or an RC...
- Sine Wave Generator Using a Johnson Counter This is a 1KHz audio oscillator using a Johnson Counter. ARTA software (http://www.artalabs.hr/) rep...
- VGA Adapter For Tektronix TDS 360 Oscilloscope The Tektronix TDS 360 is a two-channel digital oscilloscope from the middle 1990s. The sampling rate...
- Atari BattleZone Engine Sound Generator Atari’s BattleZone game is considered the first real 3D video game. I did the 3D graphics algorithms...
-
-
-
-
-
-
3D printed Enclosure Backplate for Riden RD60xx power supplies
153 1 1 -
-