Please see all COVID-19 updates here as some shipments may be delayed due to CDC safety and staffing guidelines. If you have an order or shipping question please refer to our Customer Support page. For technical questions please check out our Forums. Thank you for your continued support.

Member #692424

Member Since: June 17, 2015

Country: United States

  • I think the SparkFun Photon Weather shield is one of the best products available for use with the Photon. It is extremely well designed and the software guide is excellent. While I had a few problems programming my own version of the software to drive the weather shield those were fixed with the latest Photon firmware update (0.4.4rc3). I am using the Sparkfun Photon Weather shield as a sensor station in school gardens allowing students to remotely monitor garden data from their classrooms. The soil probes are an excellent addition that allow students to move the probes to different parts of the garden, collect data and perform various experiments. One good addition would be a light sensor that could be tuned to the wavelengths used by chlorophyll (both a and b versions). I hope to add light sensors as part of a future expansion of the weather board (thanks for building in the UART and I2C access). Great overall design and a terrific price for use in schools!

  • New issue with the Photon Weather Shield examples. Using the latest 0.4.4.rc3 Photon firmware the on board barometric and humidity sensor now seem to work on multiple readings. However there is a significant issue in the coded examples. Specifically the barometric sensor can provide both altitude and barometric pressure readings. In order to get altitude you must "setModeAltitude" and you get accurate Altitude readings but BOGUS Barometric readings. If you change the "setMode" to "setModeBarometric" you get accurate Barometric readings but BOGUS Altitude readings. The guide code needs to be rewritten to provide accurate samples of both Altitude and Barometric readings. It clearly does not do that at the present time and the guide doesn't explain this problem but implies that both readings are accurate.

    Update: Since I am putting the weather shield in a fixed location (presume most users will be this use case) I simply commented out "seModeAltitude" and uncommented out "SetModeBarometric", I also commented out reporting (printLn etc.) of altitude data. Now I get accurate readings for barometric pressure and no bogus altitude data. It would be nice if the guide example supported both valid readings in examples but this solution will work for me.

  • Nope, I don't think so. I have the latest firmware 0.4.4.rc3(released yesterday) that fixes I2C functionality-yea! I can now get multiple readings from the onboard sensors. However the I2C_address_Scanner.ino still fails with the same error. Try it with the new firmware and you should be able to replicate the issue.

  • There are two I2C sensors built into the board, one humidity and temperature and one pressure/altitude and temperature. There is a bug in the Photon firmware related to the I2C bus. Particle is suppose to release a firmware upgrade next week and hopefully it will fix the I2C issue among other things. I also understand you should be able to update firmware through the Web IDE.

  • So another issue has cropped up. It is related to the " I2C_Address_ScannerDev.ino". I have a temperature probe hooked up to the Photon Weather Shield. The file compiles on the cloud fine. However, when I try to flash the file to the Photon on the Weather Shield I get the following error every time: "undefined reference to "Spark_Idle_Events" and "system_task.h:45:0"

    The guide indicates that you need to run the AdressScanner in order to enter the address into the main weather shield .ino file so it can find the temperature probe. Please advise on how to fix this?

  • Great, I will be happy to test it as soon as it is available. Thanks! Bill

  • BTW, I realize that the BMP 180 code should not work with the weather shield since it uses the MPL3115A2. I have an MPL315A2 breakout on order from Adafruit which I will test also.

  • So this is interesting. I tested the code below for the HTU21D on the Adafruit breakout board (F version) AND the SparkFun Weather Shield and they both WORK using the latest 0.4.3 Photon firmware. They both provide continuous accurate output of humidity and temperature via serial. I have also tested the Adafruit BMP180 library and code (available in Photon Build) and that does not work on the SparkFun Weather Shield-still need to test it with the Adafruit BMP 180 breakout board. Others had reported that updating the firmware to 0.4.3 fixed problems with the HTU21D which apparently it does. Is it possible that the problem lies with timing or multiple I2C devices on the bus? I will be testing with the Adafruit BMP 180 alone and in combination with the Adafruit HTU21D-F boards. This would replicate the basic humidity, temperature and pressure functionality of the SparkFun Photon Weather Shield-basic guide example.

    // This #include statement was automatically added by the Spark IDE.

    include "HTU21D/HTU21D.h"

    HTU21D htu = HTU21D();

    void setup() { Serial.begin(9600);

    Serial.println("HTU21D test");
    while(! htu.begin()){
        Serial.println("HTU21D not found");
    Serial.println("HTU21D OK");


    void loop() { Serial.println("==================="); Serial.print("Hum:"); Serial.println(htu.readHumidity()); Serial.print("Temp:"); Serial.println(htu.readTemperature()); Serial.println();



  • Any update on the status of a fix for the I2C functionality? Wondering when it might be fixed as I can't proceed without it. Thanks. Bill

  • ENIG? Please expand.

No public wish lists :(