Open Source ESP8266-EVB IoT Firmware initial release is uploaded to GitHub

50BillionThings

ESP8266-EVB initial upload of IoT-Firmware is on GitHub. We work on this firmware for several months already, the idea behind this is to enable IoT applications to be made by anyone who knows web programming and Java Script. No knowledge for embedded hardware and electronics is needed. What you can do is to sense buttons, open and close relays, measure analog values, control RGB leds, measure temperature, send and receive IR remote control commands (thus controlling every device in your home which have IR remote control like TVs, Air conditioners, VCRs, etc), read RFID cards, scan fingerprints and store in database of 2000 records, then scan and recognize fingerprints from the database. These sensors and modules can be connected to ESP8266-EVB and controlled via web code:

  • ESP8266-EVB native resources: Button, Relay, ADC
  • I2C UEXT modules: MOD-RGB, MOD-TC-MK2-31855, MOD-IO2, MOD-IRDA+
  • SPI UEXT modules: MOD-LED8x8RGB
  • UART UEXT modules: MOD-RFID125-BOX, SNS-FINGERPRINT (work in progress)

and many others will come.

Future versions of firmware upgrade are made via the web interface by simple drag and drop of the firmware file.

Experimenting with Gas Sensors and Arduino

Sensors

We have 4 different Gas Sensors on our web shop: MQ-2, MQ-3, MQ-7 and MQ-135.

All they work on same principle: sensor element is heated and it’s conductivity change with the gas concentration.

The heater require 5V and have 31 ohm resistance, so your power supply should provide 200mA of current for the sensor.

Sensor have both analog and digital output, the analog output is 0-5V, the digital output is frequency related to the output value.

MQ-2 is sensor of LPG, Propane, Methane and Hydrogen gas and can be used for domestic gas leak alarms
MQ-3 is sensor of Alcohol and Benzine and can be used for breath analizer
MQ-7 is sensor of Carbon monoxide CO and can be used for car gases analizer
MQ-135 is sensor of NH3, NOx, Alcohol, Benzine, Smoke, CO2 and can be used for quality of air analizer

We did some experiments today with all four sensors connecting them to OLIMEXINO-32U4 (Arduino Leonardo compatible).

The sensors have 4 pins: AO – Analog Output, DO – Digital output, GND, VCC-5V

MQ-1 MQ-2

OLIMEXINO-32U4 should be switched to work on 5V.

Three wires are used: AO from sensor to A0 of Arduino, VCC from sensor to 5V, GND from sensor to GND of Arduino.

The sketch is simple:

int sensorPin = A0;
int sensorValue = 0;
void setup() {
 Serial.begin(9600);
 pinMode(sensorPin, INPUT);
}
void loop() {
 sensorValue = analogRead(sensorPin);
 Serial.println(sensorValue);
}

It reads the sensor value and print it on Serial terminal.

Note that when sensor are power up they need about 1 minute to settle, in this time the heater heats up the sensor.

We experimented with Isopropile alcohol, Benzine, Lighter Gas, human breath of two different persons 🙂

Here is the measured data:

MQ-2 normal air output  100
     Isopropile alcohol 540
     Ligther Gas        760
     Benzine            450
     Breath1            150
     Breath2            140
MQ-3 normal air output 180
     Isopropile alcohol 800
     Lighter Gas        400
     Benzine            700
     Breath1            220
     Breath2            270
 
MQ-7 normal air output  150
     Isopropile alcohol 750
     Lighter Gas        900
     Benzine            800
     Breath1            170
     Breath2            160
MQ-135 normal air output 130
      Isopropile alcohol 700
      Lighter Gas        760
      Benzine            450
      Breath1            150
      Breath2            140

the results are:

MQ-2 shows good sensibility to Lighter Gas

MQ-3 detects well Isopropile alcohol and Benzine

MQ-7 detects well Isopropile alcohol, Lighter gas and Benzine

MQ-135 detects well Isopropile alcohol, Lighter gas