Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 
    SOLVED

    BSEC + DevKit + BME688: Odd Gas Resistance Values

    BSEC + DevKit + BME688: Odd Gas Resistance Values

    S_Brohl
    Established Member

    Hello,

    I'm noticing in my bmeraw files as well as my data output from a single BME688 sensor that while running different heater profiles with a duty cycle of 1:0  that I am seeing every so often the gas resistance value: 102400000.000000 on step index zero (and sometimes index 1). I don't believe this is normal as the previous values before it are much smaller. Is there any explaination for why this might be happening?

    I have tried five different 8-sensor development kits and two seperate breakout boards with the BME688 and I still see this value output in my data when running with a duty cycle of 1:0. I am assuming this might be due to the profile transitioning so quickly from the last step index temperature back to the first, but I've also tested this using the default config that comes with the dev kits and see the same thing.

    All of these sensors have undergone a 72hr burn-in period, but I am still wondering, do I need to allow the sensors to run 5 minutes before I can assume I am receiving genuine data?

    Any insight into this anomaly would be greatly appreciated!

    Also, here is some data so you can see what I am talking about:

    Sensor 0:

    Time since power-onRTC Time in SecondsTempPressureRel. HumidityGas ResistanceHP Step IndexScanning enabledHeater ProfileDuty Cycle
    1160091.65E+0929.26295999.916724.4637310240000001heater_301duty_1
    1218041.65E+0928.66775999.90624.446728407440811heater_301duty_1
    1220841.65E+0928.90533999.854424.49614475174021heater_301duty_1
    1239801.65E+0929.55556999.916924.549414136329.2531heater_301duty_1
    1259401.65E+0929.71061999.934724.453993925251.541heater_301duty_1
    1279001.65E+0929.84066999.917424.447563477817.7551heater_301duty_1
    1281801.65E+0929.98571999.888224.35675383880.031361heater_301duty_1
    1301401.65E+0930.48339999.88824.24382520589.718871heater_301duty_1
    1321001.65E+0930.63845999.901524.10568579841.437581heater_301duty_1
    1339321.65E+0930.75849999.907123.84773614277.12590heater_301duty_1
    1343821.65E+0930.16327999.943723.7354210240000001heater_301duty_1
    1401141.65E+0929.51054999.956123.768169453444011heater_301duty_1
    1403941.65E+0929.76313999.934723.79697516031521heater_301duty_1
    1423541.65E+0930.40336999.901623.880544527217.531heater_301duty_1
    1443141.65E+0930.53841999.897323.863714074608.2541heater_301duty_1
    1462741.65E+0930.65095999.900123.674853757798.2551heater_301duty_1
    1465541.65E+0930.791999.900123.73821406268.593861heater_301duty_1
    1483741.65E+0931.29619999.911923.57239548620.437571heater_301duty_1
    1503341.65E+0931.48126999.920923.38349603417.812581heater_301duty_1
    1523061.65E+0931.6013999.922523.19007642610.62590heater_301duty_1
    1527501.65E+0930.99358999.892523.2211110240000001heater_301duty_1
    1584521.65E+0930.28081999.898723.1070110240000011heater_301duty_1
    1587321.65E+0930.54591999.848223.16282563993121heater_301duty_1
    1606921.65E+0931.21866999.899223.25308476002331heater_301duty_1
    1626521.65E+0931.36121999.928123.15172428900541heater_301duty_1
    1646121.65E+0931.44874999.926323.035893902810.7551heater_301duty_1
    1648921.65E+0931.5888999.898822.92911419758.156361heater_301duty_1
    1667121.65E+0932.07648999.900622.92118566841.937571heater_301duty_1
    1686721.65E+0932.25155999.889122.74788629572.687581heater_301duty_1
    1707261.65E+0932.3966999.907122.66266661926.312590heater_301duty_1
    1710281.65E+0931.73385999.929722.4628510240000001heater_301duty_1
    1768241.65E+0931.04359999.877322.5153210240000011heater_301duty_1
    1771061.65E+0931.31369999.905822.55525734686.521heater_301duty_1
    1790771.65E+0931.97894999.976722.628064870392.531heater_301duty_1
    1809101.65E+0932.124999.937122.56409436790241heater_301duty_1
    1828701.65E+0932.23154999.947322.455173991230.2551heater_301duty_1
    1831501.65E+0932.37159999.928322.44376428451.87561heater_301duty_1
    1851111.65E+0932.86929999.926522.35142576901.437571heater_301duty_1
    1871061.65E+0933.02935999.962622.16148641403.062581heater_301duty_1
    1890921.65E+0933.14439999.939121.9686678370.312590heater_301duty_1
    1895461.65E+0932.40911999.921621.9551310240000001heater_301duty_1
    1952271.65E+0931.80138999.928121.971610240000011heater_301duty_1
    1953681.65E+0932.07148999.932321.921545734686.521heater_301duty_1
    1973281.65E+0932.72173999.935622.08744879094.531heater_301duty_1
    1993001.65E+0932.84678999.901222.00623439602941heater_301duty_1
    2012611.65E+0932.95432999.93121.876394245659.551heater_301duty_1
    2015411.65E+0933.09938999.923121.87577426844.531361heater_301duty_1
    2035631.65E+0933.60708999.944621.76272578367.687571heater_301duty_1
    2053871.65E+0933.76964999.969821.67355652437.062581heater_301duty_1
    2073721.65E+0933.88219999.970921.45971690026.937590heater_301duty_1
    2078121.65E+0933.25694999.944321.3491610240000001heater_301duty_1
    2134531.65E+0932.50665999.922921.456510240000011heater_301duty_1
    2137571.65E+0932.77175999.894821.405985914801.521heater_301duty_1
    2157171.65E+0933.44952999.936321.60435018070.531heater_301duty_1
    2176771.65E+0933.56956999.949821.49652454227941heater_301duty_1
    2196401.65E+0933.6621999.987521.392194142604.2551heater_301duty_1
    2199601.65E+0933.80966999.981421.4074435559.343861heater_301duty_1
    2217811.65E+0934.29736999.978421.32441590371.87571heater_301duty_1
    2237441.65E+0934.46743999.986221.11467660006.437581heater_301duty_1
    2257281.65E+0934.59248999.959820.94943702091.187590heater_301duty_1
    2261541.65E+0933.97222999.98320.8453210240000001heater_301duty_1
    2318011.65E+0933.1744999.90620.9657110240000011heater_301duty_1
    2320811.65E+0933.43201999.902921.01426056931.521heater_301duty_1
    2340411.65E+0934.12228999.9521.08634510723231heater_301duty_1
    2360011.65E+0934.26734999.957621.017164611314.541heater_301duty_1
    2379031.65E+0934.35738999.964120.918054136329.2551heater_301duty_1
    2381841.65E+0934.50244999.92120.9014437233.12561heater_301duty_1
    2401441.65E+0934.99014999.929220.81813600762.687571heater_301duty_1
    2421031.65E+0935.1427999.944620.63906673684.187581heater_301duty_1
    2440881.65E+0935.25275999.922920.48881709386.937590heater_301duty_1
    2445321.65E+0934.61999999.940620.3898910240000001heater_301duty_1
    2501511.65E+0933.84967999.933420.5543710240000011heater_301duty_1
    2504451.65E+0934.11728999.934720.582296114573.521heater_301duty_1
    2524331.65E+0934.77505999.938620.71984518481031heater_301duty_1
    2544361.65E+0934.9051999.967120.591944588070.541heater_301duty_1
    2562571.65E+0935.00264999.959920.488184174267.551heater_301duty_1
    2565371.65E+0935.1452999.906920.49226437513.343861heater_301duty_1
    2584961.65E+0935.65041999.952520.36266604486.437571heater_301duty_1
    2604571.65E+0935.79798999.955920.22542669718.7581heater_301duty_1
    2624491.65E+0935.90052999.958220.05914708650.590heater_301duty_1
    2628861.65E+0935.27526999.964419.9770910240000001heater_301duty_1
    2685441.65E+0934.45492999.939120.1230210240000011heater_301duty_1
    2688231.65E+0934.71753999.922620.13989612142721heater_301duty_1
    2708101.65E+0935.42782999.948820.20665511680231heater_301duty_1
    2727701.65E+0935.54537999.96820.109534706693.541heater_301duty_1
    2747291.65E+0935.6179999.985819.967684152052.7551heater_301duty_1
    2750101.65E+0935.76296999.938120.03456437793.937561heater_301duty_1
    2769691.65E+0936.25067999.979919.90888595521.937571heater_301duty_1
    2787901.65E+0936.41824999.991319.74168667753.581heater_301duty_1
    2807751.65E+0936.53079999.98219.57631718344.437590heater_301duty_1
    2812021.65E+0935.88802999.965519.473110240000001heater_301duty_1
    2869111.65E+0935.05517999.947819.6552110240000011heater_301duty_1
    2871901.65E+0935.31527999.897619.708146152459.521heater_301duty_1
    2891511.65E+0936.01057999.972519.762745112012.531heater_301duty_1
    2911111.65E+0936.13062999.96819.681544580374.541heater_301duty_1
    2930721.65E+0936.22316999.990419.593394111417.7551heater_301duty_1
    2933511.65E+0936.36572999.972819.59197438637.812561heater_301duty_1
    2953111.65E+0936.85343999.971619.49745589861.7571heater_301duty_1
    2972711.65E+0936.98349999.955419.32804670376.437581heater_301duty_1
    2991171.65E+0937.09353999.95819.19403715333.562590heater_301duty_1
    2996231.65E+0936.458261000.0119.0971710240000001heater_301duty_1
    3052231.65E+0935.44783999.922818.4342110240000011heater_301duty_1
    3055031.65E+0935.71544999.91318.424366135180.521heater_301duty_1
    3074641.65E+0936.37322999.99418.11216525971131heater_301duty_1
    3094461.65E+0936.47076999.982417.710544670467.541heater_301duty_1
    3114131.65E+0936.54831000.02117.370484242361.551heater_301duty_1
    3116941.65E+0936.68086999.997917.33181451101.312561heater_301duty_1
    3136651.65E+0937.16607999.979217.04103627835.687571heater_301duty_1
    3155881.65E+0937.27361999.992616.84199711605.312581heater_301duty_1
    3175741.65E+0937.353651000.00716.48828759643.937590heater_301duty_1
    3180131.65E+0936.690861000.02716.3094910240000001heater_301duty_1
    3236501.65E+0935.84049999.945916.2079710240000011heater_301duty_1
    3239301.65E+0936.12061999.964716.23817675768221heater_301duty_1
    3259161.65E+0936.7784999.982716.247995675095.531heater_301duty_1
    3277701.65E+0936.87844999.949616.131195145728.541heater_301duty_1
    3297301.65E+0936.94597999.982816.00764460742451heater_301duty_1
    3300101.65E+0937.08853999.970216.06607469401.781361heater_301duty_1
    3319441.65E+0937.57124999.979415.9136364687371heater_301duty_1
    3339041.65E+0937.6988999.993315.73728736161.062581heater_301duty_1
    3358901.65E+0937.78634999.981715.5742277782090heater_301duty_1
    3363271.65E+0937.148561000.01115.4854210240000001heater_301duty_1
    3419461.65E+0936.26318999.990815.5713610240000011heater_301duty_1
    3422261.65E+0936.54079999.992615.454177000213.521heater_301duty_1
    3442101.65E+0937.20608999.993915.63031579554331heater_301duty_1
    3461821.65E+0937.311131000.01215.539425204574.541heater_301duty_1
    3481821.65E+0937.373661000.00615.461564710753.551heater_301duty_1
    3484621.65E+0937.51622999.971715.33719471346.37561heater_301duty_1
    3502821.65E+0937.97892999.991915.35586651192.37571heater_301duty_1
    3522431.65E+0938.101481000.00515.22529741760.2581heater_301duty_1
    3542281.65E+0938.191521000.01715.10326784975.062590heater_301duty_1
    3546831.65E+0937.551241000.00615.0254310240000001heater_301duty_1
    3604271.65E+0936.660851000.00815.1270110240000011heater_301duty_1
    3607061.65E+0936.94347999.978915.16144700470321heater_301duty_1
    3625651.65E+0937.598761000.02715.240175870297.531heater_301duty_1
    3645381.65E+0937.706311000.03215.184925150581.541heater_301duty_1
    3665261.65E+0937.778841000.04815.11778428227951heater_301duty_1
    3668051.65E+0937.92391000.03315.21624428990.37561heater_301duty_1
    3687661.65E+0938.391611000.06415.04251463978.2571heater_301duty_1
    3707251.65E+0938.509161000.09114.91179445507.937581heater_301duty_1
    3725711.65E+0938.58921000.114.78432422878.37590heater_301duty_1
    3730101.65E+0937.946411000.08214.691866648338801heater_301duty_1
    3787791.65E+0937.073521000.03514.789824676132811heater_301duty_1
    3789631.65E+0937.328641000.01314.802442718884.7521heater_301duty_1
    3809351.65E+0937.991431000.05314.875761854652.531heater_301duty_1
    3829091.65E+0938.093981000.06214.795031472322.12541heater_301duty_1
    3848981.65E+0938.14651000.06914.65131217598.12551heater_301duty_1
    3851791.65E+0938.294071000.0614.69895195121.953161heater_301duty_1
    3871391.65E+0938.779291000.09114.57652263713.62571heater_301duty_1
    3890981.65E+0938.904341000.08714.45144271258.281381heater_301duty_1
    3909431.65E+0938.976881000.08614.28858272557.906390heater_301duty_1

     

    32 REPLIES 32

    BSTRobin
    Community Moderator
    Community Moderator

    Hi ilcnet,

    Could you give feedback?

    ilcnet
    Established Member
    Hello dear BSTRobin

    Yes of course, i submit code in a few hours later, thanks

    BSTRobin
    Community Moderator
    Community Moderator

    Hi ilcnet,

    We haven't found your code.

    ilcnet
    Established Member
    Hello dear BSTRobin this is my used code that my sensors after sensing dirty air shows me reverse values unfortunately

    #include <HTTP_Method.h>
    #include <Uri.h>
    #include <WebServer.h>

    #include <WiFi.h>
    #include <WiFiAP.h>
    #include <WiFiClient.h>
    #include <WiFiGeneric.h>
    #include <WiFiMulti.h>
    #include <WiFiScan.h>
    #include <WiFiServer.h>
    #include <WiFiSTA.h>
    #include <WiFiType.h>
    #include <WiFiUdp.h>

    #include <Wire.h>
    #include <Adafruit_SSD1306.h>
    #include "bsec.h"


    #define SEALEVELPRESSURE_HPA (1013.25)

    Bsec iaqSensor;
    String output;
    void checkIaqSensorStatus(void);
    void errLeds(void);

    float temperature;
    float humidity;
    float pressure;
    float IAQ;
    float carbon;
    float VOC;
    const char* IAQsts;

    Adafruit_SSD1306 display = Adafruit_SSD1306(128, 32, &Wire);
    // Replace with your network credentials
    const char* ssid = "***"; // Enter SSID here
    const char* password = "***"; //Enter Password here

    WebServer server(80);

    void setup() {
    // put your setup code here, to run once:
    Serial.begin(115200);
    delay(100);
    Wire.begin();

    Serial.println(F("Starting..."));
    if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // Address 0x3D for 128x64
    Serial.println(F("SSD1306 allocation failed"));
    for(;;);
    }

    Serial.println("OLED begun");

    display.display();
    delay(100);
    display.clearDisplay();
    display.display();
    display.setTextSize(1);
    display.setTextColor(SSD1306_WHITE);
    display.setRotation(0);
    Serial.println("Connecting to ");
    Serial.println(ssid);


    //Connect to your local wi-fi network
    WiFi.begin(ssid, password);

    //check wi-fi is connected to wi-fi network
    while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.print(".");
    }
    Serial.println("");
    Serial.println("WiFi connected..!");
    Serial.print("Got IP: "); Serial.println(WiFi.localIP());


    server.on("/", handle_OnConnect);
    server.onNotFound(handle_NotFound);

    server.begin();

    Serial.println("HTTP server started");

    iaqSensor.begin(BME680_I2C_ADDR_SECONDARY, Wire);
    output = "\nBSEC library version " + String(iaqSensor.version.major) + "." + String(iaqSensor.version.minor) + "." + String(iaqSensor.version.major_bugfix) + "." + String(iaqSensor.version.minor_bugfix);

    Serial.println(output);
    checkIaqSensorStatus();
    bsec_virtual_sensor_t sensorList[10] = {
    BSEC_OUTPUT_RAW_TEMPERATURE,
    BSEC_OUTPUT_RAW_PRESSURE,
    BSEC_OUTPUT_RAW_HUMIDITY,
    BSEC_OUTPUT_RAW_GAS,
    BSEC_OUTPUT_IAQ,
    BSEC_OUTPUT_STATIC_IAQ,
    BSEC_OUTPUT_CO2_EQUIVALENT,
    BSEC_OUTPUT_BREATH_VOC_EQUIVALENT,
    BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_TEMPERATURE,
    BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_HUMIDITY,
    };

    iaqSensor.updateSubscription(sensorList, 10, BSEC_SAMPLE_RATE_LP);
    checkIaqSensorStatus();
    }

    void loop() {
    // put your main code here, to run repeatedly
    server.handleClient();
    display.setCursor(0,0);
    display.clearDisplay();

    unsigned long time_trigger = millis();
    if (iaqSensor.run()) { // If new data is available
    output = String(time_trigger);
    output += ", " + String(iaqSensor.rawTemperature);
    output += ", " + String(iaqSensor.pressure);
    output += ", " + String(iaqSensor.rawHumidity);
    output += ", " + String(iaqSensor.gasResistance);
    output += ", " + String(iaqSensor.iaq);
    output += ", " + String(iaqSensor.iaqAccuracy);
    output += ", " + String(iaqSensor.temperature);
    output += ", " + String(iaqSensor.humidity);
    output += ", " + String(iaqSensor.staticIaq);
    output += ", " + String(iaqSensor.co2Equivalent);
    output += ", " + String(iaqSensor.breathVocEquivalent);
    Serial.println(output);
    } else {
    checkIaqSensorStatus();
    }

    Serial.print("Temperature = ");
    Serial.print(iaqSensor.temperature);
    Serial.println(" *C");
    display.print("Temperature: ");
    display.print(iaqSensor.temperature);
    display.println(" *C");

    Serial.print("Pressure = ");
    Serial.print(iaqSensor.pressure / 100.0);
    Serial.println(" hPa");
    display.print("Pressure: ");
    display.print(iaqSensor.pressure / 100);
    display.println(" hPa");

    Serial.print("Humidity = ");
    Serial.print(iaqSensor.humidity);
    Serial.println(" %");
    display.print("Humidity: ");
    display.print(iaqSensor.humidity);
    display.println(" %");

    Serial.print("IAQ = ");
    Serial.print(iaqSensor.staticIaq);
    Serial.println(" PPM");
    display.print("IAQ: ");
    display.print(iaqSensor.staticIaq);
    display.println(" PPM");

    Serial.print("CO2 equiv = ");
    Serial.print(iaqSensor.co2Equivalent);
    Serial.println(" PPM");
    display.print("CO2eq: ");
    display.print(iaqSensor.co2Equivalent);
    display.println(" PPM");

    Serial.print("Breath VOC = ");
    Serial.print(iaqSensor.breathVocEquivalent);
    Serial.println(" PPM");
    display.print("VOC: ");
    display.print(iaqSensor.breathVocEquivalent);
    display.println(" PPM");

    if ((iaqSensor.staticIaq > 0) && (iaqSensor.staticIaq <= 50)) {
    IAQsts = "Good";
    Serial.print("IAQ: Good");
    display.print("IAQ: Good");
    }
    if ((iaqSensor.staticIaq > 51) && (iaqSensor.staticIaq <= 100)) {
    IAQsts = "Average";
    Serial.print("IAQ: Average");
    display.print("IAQ: Average");
    }
    if ((iaqSensor.staticIaq > 101) && (iaqSensor.staticIaq <= 150)) {
    IAQsts = "Little Bad";
    Serial.print("IAQ: Little Bad");
    display.print("IAQ: Little Bad");
    }
    if ((iaqSensor.staticIaq > 151) && (iaqSensor.staticIaq <= 200)) {
    IAQsts = "Bad";
    Serial.print("IAQ: Bad");
    display.print("IAQ: Bad");
    }
    if ((iaqSensor.staticIaq > 201) && (iaqSensor.staticIaq <= 300)) {
    IAQsts = "Worse";
    Serial.print("IAQ: Worse");
    display.print("IAQ: Worse");
    }
    if ((iaqSensor.staticIaq > 301) && (iaqSensor.staticIaq <= 500)) {
    IAQsts = "Very Bad";
    Serial.print("IAQ: Very Bad");
    display.print("IAQ: Very Bad");
    }
    if ((iaqSensor.staticIaq > 500)){
    IAQsts = "Very Very Bad";
    Serial.print("IAQ: Very Very Bad");
    display.print("IAQ: Very Very Bad");
    }
    Serial.println();
    display.display();
    delay(2000);
    }

    // Helper function definitions
    void checkIaqSensorStatus(void)
    {
    if (iaqSensor.status != BSEC_OK) {
    if (iaqSensor.status < BSEC_OK) {
    output = "BSEC error code : " + String(iaqSensor.status);
    Serial.println(output);
    for (;;)
    errLeds(); /* Halt in case of failure */
    } else {
    output = "BSEC warning code : " + String(iaqSensor.status);
    Serial.println(output);
    }
    }

    if (iaqSensor.bme680Status != BME680_OK) {
    if (iaqSensor.bme680Status < BME680_OK) {
    output = "BME680 error code : " + String(iaqSensor.bme680Status);
    Serial.println(output);
    for (;;)
    errLeds(); /* Halt in case of failure */
    } else {
    output = "BME680 warning code : " + String(iaqSensor.bme680Status);
    Serial.println(output);
    }
    }
    }

    void handle_OnConnect() {

    temperature = iaqSensor.temperature;
    humidity = iaqSensor.humidity;
    pressure = iaqSensor.pressure / 100.0;
    IAQ = iaqSensor.staticIaq;
    carbon = iaqSensor.co2Equivalent;
    VOC = iaqSensor.breathVocEquivalent;

    server.send(200, "text/html", SendHTML(temperature, humidity, pressure, IAQ, carbon, VOC, IAQsts));
    }

    void handle_NotFound() {
    server.send(404, "text/plain", "Not found");
    }

    String SendHTML(float temperature, float humidity, float pressure, float IAQ, float carbon, float VOC, const char* IAQsts) {
    String html = "<!DOCTYPE html>";
    html += "<html>";
    html += "<head>";
    html += "<title>BME680 Webserver</title>";
    html += "<meta name='viewport' content='width=device-width, initial-scale=1.0'>";
    html += "<link rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.2/css/all.min.css'>";
    html += "<link rel='stylesheet' type='text/css' href='styles.css'>";
    html += "<style>";
    html += "body { background-color: #fff; font-family: sans-serif; color: #333333; font: 12px Helvetica, sans-serif box-sizing: border-box;}";
    html += "#page { margin: 18px; background-color: #fff;}";
    html += ".container { height: inherit; padding-bottom: 18px;}";
    html += ".header { padding: 18px;}";
    html += ".header h1 { padding-bottom: 0.3em; color: #f4a201; font-size: 25px; font-weight: bold; font-family: Garmond, 'sans-serif'; text-align: center;}";
    html += "h2 { padding-bottom: 0.2em; border-bottom: 1px solid #eee; margin: 2px; text-align: center;}";
    html += ".box-full { padding: 18px; border 1px solid #ddd; border-radius: 1em 1em 1em 1em; box-shadow: 1px 7px 7px 1px rgba(0,0,0,0.4); background: #fff; margin: 18px; width: 300px;}";
    html += "@media (max-width: 494px) { #page { width: inherit; margin: 5px auto; } #content { padding: 1px;} .box-full { margin: 8px 8px 12px 8px; padding: 10px; width: inherit;; float: none; } }";
    html += "@media (min-width: 494px) and (max-width: 980px) { #page { width: 465px; margin 0 auto; } .box-full { width: 380px; } }";
    html += "@media (min-width: 980px) { #page { width: 930px; margin: auto; } }";
    html += ".sensor { margin: 10px 0px; font-size: 2.5rem;}";
    html += ".sensor-labels { font-size: 1rem; vertical-align: middle; padding-bottom: 15px;}";
    html += ".units { font-size: 1.2rem;}";
    html += "hr { height: 1px; color: #eee; background-color: #eee; border: none;}";
    html += "</style>";

    //Ajax Code Start
    html += "&lt;script&gt;\n";
    html += "setInterval(loadDoc,1000);\n";
    html += "function loadDoc() {\n";
    html += "var xhttp = new XMLHttpRequest();\n";
    html += "xhttp.onreadystatechange = function() {\n";
    html += "if (this.readyState == 4 && this.status == 200) {\n";
    html += "document.body.innerHTML =this.responseText}\n";
    html += "};\n";
    html += "xhttp.open(\"GET\", \"/\", true);\n";
    html += "xhttp.send();\n";
    html += "}\n";
    html += "&lt;/script&gt;\n";
    //Ajax Code END

    html += "</head>";
    html += "<body>";
    html += "<div id='page'>";
    html += "<div class='header'>";
    html += "<h1>BME680 IAQ Monitoring System</h1>";
    html += "</div>";
    html += "<div id='content' align='center'>";
    html += "<div class='box-full' align='left'>";
    html += "<h2>";
    html += "IAQ Status: ";
    html += IAQsts;
    html += "</h2>";
    html += "<div class='sensors-container'>";

    //For Temperature
    html += "<div class='sensors'>";
    html += "<p class='sensor'>";
    html += "<i class='fas fa-thermometer-half' style='color:#0275d8'></i>";
    html += "<span class='sensor-labels'> Temperature </span>";
    html += temperature;
    html += "<sup class='units'>掳C</sup>";
    html += "</p>";
    html += "<hr>";
    html += "</div>";

    //For Humidity
    html += "<p class='sensor'>";
    html += "<i class='fas fa-tint' style='color:#0275d8'></i>";
    html += "<span class='sensor-labels'> Humidity </span>";
    html += humidity;
    html += "<sup class='units'>%</sup>";
    html += "</p>";
    html += "<hr>";

    //For Pressure
    html += "<p class='sensor'>";
    html += "<i class='fas fa-tachometer-alt' style='color:#ff0040'></i>";
    html += "<span class='sensor-labels'> Pressure </span>";
    html += pressure;
    html += "<sup class='units'>hPa</sup>";
    html += "</p>";
    html += "<hr>";

    //For VOC IAQ
    html += "<div class='sensors'>";
    html += "<p class='sensor'>";
    html += "<i class='fab fa-cloudversify' style='color:#483d8b'></i>";
    html += "<span class='sensor-labels'> IAQ </span>";
    html += IAQ;
    html += "<sup class='units'>PPM</sup>";
    html += "</p>";
    html += "<hr>";

    //For C02 Equivalent
    html += "<p class='sensor'>";
    html += "<i class='fas fa-smog' style='color:#35b22d'></i>";
    html += "<span class='sensor-labels'> Co2 Eq. </span>";
    html += carbon;
    html += "<sup class='units'>PPM</sup>";
    html += "</p>";
    html += "<hr>";

    //For Breath VOC
    html += "<p class='sensor'>";
    html += "<i class='fas fa-wind' style='color:#0275d8'></i>";
    html += "<span class='sensor-labels'> Breath VOC </span>";
    html += VOC;
    html += "<sup class='units'>PPM</sup>";
    html += "</p>";


    html += "</div>";
    html += "</div>";
    html += "</div>";
    html += "</div>";
    html += "</div>";
    html += "</body>";
    html += "</html>";
    return html;
    }

    void errLeds(void)
    {
    pinMode(LED_BUILTIN, OUTPUT);
    digitalWrite(LED_BUILTIN, HIGH);
    delay(100);
    digitalWrite(LED_BUILTIN, LOW);
    delay(100);
    }

    BSTRobin
    Community Moderator
    Community Moderator

    Hi ilcnet,

    This code we can't find the mistakes, you need to provide more codes, such as where is the functions of process_data(), run(), etc.
    Furthermore, give us a detailed video when after the accuracy is 3, please.

    Icon--AD-black-48x48Icon--address-consumer-data-black-48x48Icon--appointment-black-48x48Icon--back-left-black-48x48Icon--calendar-black-48x48Icon--center-alignedIcon--Checkbox-checkIcon--clock-black-48x48Icon--close-black-48x48Icon--compare-black-48x48Icon--confirmation-black-48x48Icon--dealer-details-black-48x48Icon--delete-black-48x48Icon--delivery-black-48x48Icon--down-black-48x48Icon--download-black-48x48Ic-OverlayAlertIcon--externallink-black-48x48Icon-Filledforward-right_adjustedIcon--grid-view-black-48x48IC_gd_Check-Circle170821_Icons_Community170823_Bosch_Icons170823_Bosch_Icons170821_Icons_CommunityIC-logout170821_Icons_Community170825_Bosch_Icons170821_Icons_CommunityIC-shopping-cart2170821_Icons_CommunityIC-upIC_UserIcon--imageIcon--info-i-black-48x48Icon--left-alignedIcon--Less-minimize-black-48x48Icon-FilledIcon--List-Check-grennIcon--List-Check-blackIcon--List-Cross-blackIcon--list-view-mobile-black-48x48Icon--list-view-black-48x48Icon--More-Maximize-black-48x48Icon--my-product-black-48x48Icon--newsletter-black-48x48Icon--payment-black-48x48Icon--print-black-48x48Icon--promotion-black-48x48Icon--registration-black-48x48Icon--Reset-black-48x48Icon--right-alignedshare-circle1Icon--share-black-48x48Icon--shopping-bag-black-48x48Icon-shopping-cartIcon--start-play-black-48x48Icon--store-locator-black-48x48Ic-OverlayAlertIcon--summary-black-48x48tumblrIcon-FilledvineIc-OverlayAlertwhishlist