   delay(SHARP_DELAY_TIME);  // wait 280ms
   sharp_dust_val = analogRead(SHARP_READ_PIN); // read the dust value via pin 5 on the sensor
   digitalWrite(SHARP_LED_PIN, HIGH); // turn the LED off
-
+  sharp_voltage = sharp_dust_val*4.9/1024;   // convert to voltage
+  sharp_voltage = (sharp_voltage - 0.0356) * 120000; // convert to particles / .01 ft^3
+  if( sharp_voltage < 0 )
+    sharp_voltage = 0;
 
   // **************** FOR GROVE SENSOR ****************
   ratio = lowpulseoccupancy / (grove_sample_time*10.0);  // Integer percentage 0=>100
-  // using spec sheet curve
+  // using spec sheet curve, gives particles per 0.01 cubic foot
   concentration = 1.1*pow(ratio, 3) - 3.8*pow(ratio, 2) + 520 * ratio + 0.62;
   lowpulseoccupancy = 0;  // reset
 
 
   // **************** FOR MQ7 SENSOR ****************
-  
-    if (millis() > CO_switch_time) {  // switch to 1.4V phase
+    if (millis() > CO_switch_time) {         // time to switch
       if (heaterInHighPhase) { 
-        digitalWrite(CO_PWR_SEL_PIN, HIGH); // 1.4v phase
+        digitalWrite(CO_PWR_SEL_PIN, HIGH);  // 1.4v phase
         heaterInHighPhase = false;
         CO_switch_time = millis() + CO_READ_TIME;
-      } else { // switch to 5V phase
-        digitalWrite(CO_PWR_SEL_PIN, LOW);// 5v phase
+      } else {                               // switch to 5V phase
+        digitalWrite(CO_PWR_SEL_PIN, LOW);   // 5v phase
         heaterInHighPhase = true;
         CO_switch_time = millis() + CO_HEAT_TIME;
       }
   }
-  // readGasLevel
+  // Read gas level regardless
   gasLevel = analogRead(CO_READ_PIN);
- // if (heaterInHighPhase)
- //   gasLevel = 0xFFFF;
 
   
   // **************** FOR TEMP & HUMIDITY SENSOR ****************

  Serial.print(sentences);
  Serial.print(" CSUM ERR=");
  Serial.println(failed);
  if (chars == 0)
    Serial.println("** No characters received from GPS: check wiring **");
#endif


// **************** timer for sensor data collection ****************
unsigned long sensors_read_time_start;
unsigned num_records = 0;
#define SENSORS_READ_TIME  2000    // ms 


void setup()
{
  Serial.begin(9600); // now using for GPS 

  // **************** FOR RTC ****************
  Wire.begin(); // Join I2C bus as a master
