MOD-BME280 precise Humidity, Temperature and Pressure sensor Open Source Hardware module with UEXT and Breadboard connector


BME280 is digital humidity, temperature and pressure sensor with I2C and SPI interface.

You can see on this link comparison of different Humidity sensors

The operating conditions are:

  • Temperature -40..+85C;
  • Humidity 0…100 % Rh;
  • Pressure 300…1100 hPa  (+9000m..-500m above sea level);

The sensor works on 3.3V and is with very low power consumption 0,1..3,6 uA.

The easiest way to connect MOD-BME280 is with UEXT connector to any board with UEXT connector as shown on the picture above.

For boards which has no UEXT connector MOD-BME280 can be connected via four jumper wires on breadboard:


The KiCad files are uploaded on GitHub.

The demo software use Adafruit BME280 libraries with two small modifications. The default address in MOD-BME280 is 0x76 while Adafruit library is set to 0x77.

UEXT connector requires D8 to be set LOW to power and 10 ms delay to settle the power before addressing the sensor. The code is at GitHub.

When you run it you will see this:

Screenshot from 2018-03-27 14-35-38

The sensor is very precise, if you move board up and down you can see altitude changes. The 171 meter is the altitude of Olimex building.

MOD-BME280 is perfect for IoT application for environmental conditions logging due to the low power consumption and precise measurements. It can be used both for indoor and outdoor applications.

Is it hot or not? Contactless preciese Infra Red temperature measurement with Open Source Hardware MOD-IR-TEMP


MOD-IR-TEMP is UEXT module which could be easily connected to all our boards with UEXT connector. It has MLX90614 contactless Infra red thermometer which allow you to measure objects temperature from distance.

MLX90614 has internal temperature sensor which can sense temperature in range -40+125C and Infra red camera which can sense external objects temperature in range -70+380C with resolution 0.02C and is calibrated with precision 0.5C in range 0-50C.

There are two ways to connectMOD-IR-TEMP to other boards – first is to use UEXT connector:


MLX90614 works on +3.3V so it’s important if you use Arduino board to make sure it operates at 3.3V or you will damage the sensor.

OLIMEXINO-32U4 has jumper which selects on what voltage it operates 5 or 3.3V you must put the jumper in 3.3V.

The sensor is read via I2C, Adafruit has library included in Arduino library manager.

UEXT onOLIMEXINO-32U4 has power enable and to operate D8 pin should be placed in LOW state.

Here is code:

#include <Wire.h>
#include "Adafruit_MLX90614.h"

Adafruit_MLX90614 modIrTemp = Adafruit_MLX90614();

void setup() {
 pinMode(8,OUTPUT);   //the following two lines enable power supply 3.3V on UEXT connector
 digitalWrite(8,LOW); //you do not need them if you use wire jumpers

void loop() {

Serial.print("Ambient = "); Serial.print(modIrTemp.readAmbientTempC()); 
 Serial.print("*C\tObject = "); Serial.println(modIrTemp.readObjectTempC());

 delay(1000); // can adjust this for faster/slower updates

If you use breadboard you should connect MOD-IR-TEMP GND, 3.3V and SDA to D2, SCL to D3. In this case you do not need to set D8 LOW to operate.

MOD-IR-TEMP allow precise temperature measurement from distance, we are doing some experiments to measure PCB reflow temperature from distance and to measure body temperature.

Our experiments show that how good the temperature is measured depend on object surface. Dark objects temperature is measured better than shiny objects.

If you place your hand in the front of the sensor the temperature is measured correctly from distance 0 to about 5 cm, then the measurement start to register lower temperature. Our guess is that the build in optics has limitation, if you want to measure temperature from greater distance you should add proper optics.


New Product in stock: Temperature sensor SNS-TMP10K


SNS-TMP10K is low cost preciese temperature sensor with NTC thermistor. It have 10K +-1% resistance by 25C and the resistance decreases with the temperature rise i.e. it have negative temperature coefficient.

SNS-TMP10K is encapsulated in metal can with dimensions 25 x 5 mm and comes with 60 cm cable with JST 2 mm connector crimped to the wires.

The temperature coefficient B for this thermistor is 3435 and it’s very easy to measure the temperature with Arduino.

SNS-TMP10K is good for measuring temperatures in range -30+110C, as it’s encapsulated and filled with epoxy resin it’s good both to measure air and fluids like water etc.


Measuring temperatures from -250C to +1600C with AVR-T32U4 Arduino Leonardo and MOD-TC-MK2-31885 + thermocouple


MOD-TC-MK2-31885 is UEXT module which uses MAX31885 and allow temperatures in range -250C to +1600C to be measured with proper thermocouple.

For this demo we use TC-K-TYPE which is low cost K-type thermocouple.

When the thermocouple is connected pay attention that it have polarity i.e. if your measurements start to decrease when you increase the thermocouple end temperature you have to swap the thermocouple wires to the connector.

Another issue we got with Arduino 1.0.4 is that Serial print from time to time stop working on Leonardo and several uploads usually solve the problem, we guess this is some USB port problem and Leonardo is not properly enumerated as CDC serial port every time.

Also I2C library on Leonardo sometimes beahve weird and in this case you have to decrease I2C speed a bit. So if the sketch do not work correctly just edit TWI_FREQ to 80000L in:


#ifndef TWI_FREQ
 #define TWI_FREQ 100000L

You can watch the demo at this video:

As you can see there are two temperatures which are measured: the temperature on the thermocouple TC and the internal MAX31855 temperature INT (i.e. cold end thermocouple temperature).

Also MAX31885 recognize if the thermocouple is disconnected, shorted or connected to VCC.

The demo code is at GitHub:

STELLARIS-UEXT adapter for Stellaris launch pad in stock


STELLARIS-UEXT is Texas Instruments Stellaris Launchpad to UEXT adapter.

We have prepared demo code for MOD-GSM, MOD-MP3, MOD-GPS, MOD-TC, MOD-SMB380, MOD-IRDA, MOD-LCD3310 so you can interface these modules from your Stellaris Launchpad.

As Stellaris MCU have two SPI, I2C and UARTs we made the adapter with two separate UEXT connectors so you can connect two independant UEXT modules to it. Each UEXT have power up/down control with MOSFET so you can power up and down UEXT modules connected.

iMX233-OLinuXino-MAXI measure temperatures -200C to +700C with 0.25 resolution


MOD-TC-MK2-31855 allow tempearture measurement with high precission in range -200+700C.

As this board interface UEXT connector via I2C many such modules and thermocouples can be attached to one UEXT.

This GitHub project allow iMX233-OLinuXino-MAXI to measure temperature with MOD-TC-MK2 and K-type thermocouple.



OLIMEXINO-STM32 is Arduino like board based, which works with MAPLE IDE.

Three new demo examples are uploaded on OLIMEXINO-STM32 web page:

1. Measuring temperature with K-type thermocouple and MOD-TC

2. Lot-Of-Leds (LOL) shield demo example – looke at this video what LOL is:, we have 3mm 5mm 10mm and SMT LED LOL shields and the PTH come in DIY kit form or completely assembled.

have fun 🙂

Previous Older Entries