Custom Shield - Indoor Air Quality Monitor


@Rockvole, the schematics look fine and the regulator should work.

I guess you don’t have an oscilloscope? Do you have a multimeter to measure the 5V on the Vin pin of the Core? With your multimeter on DC volts, it should read about 5V. With the multimeter in AC mode (yes, you read that correctly), you should see very little to no voltage. If you see a significant voltage that may be because the regulator is oscillating. :smile:


@peekay123 I tried the multimeter. On DC it measured 4.27 volts. In AC mode it just said 0.


I will recommend testing with another power supply since 5v via USB works fine


@Rockvole that voltage is too low to properly power the Core. Can you remove the Core from the board and measure the voltage again?


@Rockvole, looking at the schematics I noticed that neither of the MQ sensor sockets have the heater (H-) lines connected to ground. From the specs, this family of devices need the heaters to be powered to operate properly. Am I missing something?


@kennethlimcp - I tried another power supply which is 12V 500mA but the results were the same.

@peekay123 - I removed the core and measured the voltage at 4.99V. Also with the core removed there is no whistling and the blue LED doesnt flicker. Im sure the heaters should be connected - I have not really used the MQ sensors much so did not find the problem.

Unfortunately I have the same problem as last time I messed around with removing the USB cable and now a second core has the same “Spark Core trying to flash infinite loop” problem - it can no longer be found by the app. I have plugged in a new core to get my readings up and running again. I guess I can do my Wi-Fi testing using a USB PSU and the 12V PSU at the same time.


Hi @zach and @mohit,
Congrats on the launch of the new Photon :smiley:
I think the purpose of the P0 is to embed inside existing products for additional cost savings - do you think it makes sense to integrate this into the next version of the IAQ shield ?


Hi @peekay123,
I just got the Grove HCHO (Formaldehyde) sensor in the post and I wanted to plug it into the Grove port on the shield (which is connected to D0 & D1). It looks like the HCHO Sensor is analog - does this mean I wont be able to read values from it ?


Hmmm I think I might be able to connect this HCHO sensor to the MQ2 socket. If I cut off the connector on the grove cable, I think I should be able to push the wires in like :

Connect Grove GND to MQ Socket (B1)
Connect Grove VCC to MQ Socket (A1)
Connect Grove NC - to nothing
Connect Grove SIG to MQ Socket (B2)

What do you think ?


@Rockvole, I have to look at the data sheet and the schematics and get to you. :smiley:


@Rockvole, the MQ sensor on your board is oddly configured in that MQ pin B1 does not go to GND directly. In fact, none of the MQ sensor pins are GND which is an issue I pointed out to your earlier. So from what I can see, the grove connection should be:

Connect Grove GND to GND on the board (somewhere)
Connect Grove VCC to MQ Socket (A1)
Connect Grove NC - to nothing
Connect Grove SIG to MQ Socket (B1 or B2)

Of concern is the sensor is powered by 5V so you will need to adjust the pot on the Grove board to make sure the output (SIG) does not exceed 3.3V. Don’t forget to adjust your analog value calculations based on a range of 3.3V over 12bits (4095). :smile:


@peekay123 thanks for the help.
Connected to the MQ socket is a 1k fixed resistor and a pot which is 1-50k (currently set to 50k).
I measured the pot on the Grove HCHO (across GND and SIG) and it was factory set to 4.75k. Anticlockwise it went to 10k and clockwise it went to 0.
On the Grove HCHO Sensor page it says the operating voltage is 5V which I think is the same as the MQ socket. I’m confused what I should set the resistance to on the Pots.


@Rockvole, you can set the post to midpoint and maybe not connect the SIG pin just yet. If you can expose the sensor to something that will affect its output then you can adjust the post to make sure the SIG voltage is below 3.3V. My gut tells me the sensor may never get that high anyway but you need to be sure. Once the adjustment is made, you can connect the SIG pin to the board.:smile:


@peekay123, I tested the voltage and it was under 2V.
I got some spray shoe polish on a rag and put it near and my raw readings went up 35% - so it looks like I am getting a response. My handheld Formaldehyde detector responds well to this spray.


Hi @BDub,
You mentioned in a recent post that you have seen lots of applications where the pins will oscillate at 50MHz. Do you think this is the problem I have with the IAQ shield ? I was discussing my problem a few posts up with peekay. I think the oscillations may have damaged 2 of my cores also.


Hi there,

kinda of confused by the long & active thread here, do is the shield ready for sale :smiley:

Thank you


Hi @bosslee,
I am working with the first prototype version of the shield now. There are some issues which need to be addressed before the final revision. Hopefully spark will have time to look at those soon.


Thank you for the info

Looking forward to get it from the store :smiley:


I am having trouble getting accurate temperature / humidity readings which seems to be due to heat from the PCB.

If possible I would like to replace the DHT22 on the shield with a 4 pin header - since it plugs into a breadboard I think it should fit e.g. :

I was thinking oriented like this :

This would :

  1. Reduce heat transfer from the PCB
  2. Allow for $3 user replacement if the DHT22 is poor quality / faulty.
  3. If tilted can still be secured with an offset.

The smart citizen board has a PCB air gap around the DHT22 - it would be good to add that if possible. Smart Citizen board V1 uses the DHT22 and has it upright at an angle.



Is one of the issues you are seeing with the Dust Sensor ? As you had pointed out before the orientation of the dust sensor is critical due to its internal heater mechanism. This sensor is popular but produces many “zero” values and either needs a very long time time period to average or needs processing to guess the value between non-zero values.

I have successfully modified the sensor to add a fan and increased the sensitivity by changing the threshold for P2. My results are posted on my blog at:

If you can add a 10 Kohm resistor to Pin5 of the dust sensor it can provide two outputs - P1 as standard out of the box and P2 as the more sensitive output. I am working on calibrating this P2 against a known instrument and then that calibration curve can be used.

Cheers, A.J.