So I just purchased one of the Air Quality wings and had planned on using a Feather from Adafruit. All of the references I have seen so far have been about the nRF9160 Feather only. Can you tell me if using the nRF9160 is a requirement?

I had also assumed I could use the Arduino IDE to develop some custom code (to feed Home Assistant with data), but this also seems not immediately possible. Am I wrong?

Thanks in advance (and nice quality products!!)

Steve

    After a little searching on Adafruit’s site, this Feather board is pin compatible;
    https://www.adafruit.com/product/3405

    So, how to program the Feather? I am not familiar enough with the various environments to know if the instructions posted for the AQW is compatible with the Adafruit Feather.

    Steve

      @meisner your intuition is correct. You can use it with any Feather compatible board. The latest example code only works on Zephyr but you can check out the previous library.

      Otherwise you should be able to piece the drivers together in your own application.

      Hope that helps!

        Ok, thanks for the details so far.

        According to this page;
        https://docs.zephyrproject.org/latest/boards/arm/particle_argon/doc/index.html
        I can use the Particle Argon board, which gets me support for Zephyr and has an ESP32 for WiFi support (again, to transmit data to Home Assistant).

        From Particle’s site:
        https://store.particle.io/products/argon?_pos=1&_sid=63f274166&_ss=r
        The Argon dev board Is available for $28USD and is Feather compatible. So I believe this board will work fine for my use. Would you agree?

          meisner According to this page;
          https://docs.zephyrproject.org/latest/boards/arm/particle_argon/doc/index.html
          I can use the Particle Argon board, which gets me support for Zephyr and has an ESP32 for WiFi support (again, to transmit data to Home Assistant).

          While I haven’t deployed the Argon, you should be able to use the same code that supports the Xenon. Publishing data to something like Golioth & Grafana may be interesting. I’ll have to add this to my list!

          meisner From Particle’s site:
          https://store.particle.io/products/argon?pos=1&sid=63f274166&_ss=r
          The Argon dev board Is available for $28USD and is Feather compatible. So I believe this board will work fine for my use. Would you agree?

          Yup! There is a learning curve with Zephyr. If I have time in the coming weeks I’m going to try and smooth the process out a bit. Nordics VSCode extension helps but it doesn’t go as far as what Espressif’s does and actually install the SDK, manage dependencies, etc.

            Also meisner I just added some basic display code as well:

            Now I just need to figure out an updated enclosure. 😅

              meisner I did talk to some folks at Golioth since they have used the nRF52 + ESP32 combo and they had some feedback on the Argon:

              I used it, but the process was super cumbersome to update the ESP32 to the right firmware
              I can try to get some instructions here and overlay files. But I used a Adafruit tutorial to install CircuitPython with some passthrough firmware to flash the ESP32
              It didn’t worked properly with the built in firmware here 😞

              So it may not be so straight forward. Proceed with caution. 😅 Maybe something like a Huzzah32 instead?

                9 days later

                Well … I came back here since I finally received my Argon (and other pieces) and tried to get this working, but have encountered only problems. For some reason I was not being notified of your replies.

                Right now, I registered the Argon and have it working with their WebIDE. I can write code in the WebIDE and deploy it to my Argon. But the AQW seems to be having problems. If I set the hpma115 to false in the AirQualityWingSettings_t struct, I do get temp & humidity (although it seems unrealistically high). But when “Has HPMA115” is set to true, I get the following on the debug terminal (yes, I picked up a serial debug module):

                Air Quality Wing for Particle Mesh
                0000129893 [app] WARN: Error tvoc - no data
                0000139894 [app] ERROR: hpma timeout
                0000139895 [app] ERROR: Error hpma115

                So first of all, it seems as though my Honeywell HPMA115 is not working.

                Based on your last reply (and the feedback from Golioth), it feels like I wasted my money (& time) on the Particle Argon board. Would you agree? I can easily pick up a Huzzah32 and continue working on this, but it seems like all of your instructions are based on Particle board usage. I chose the Argon based on your comment “Note: if you’re just starting out, the Argon is your best bet.” on the site https://www.jaredwolff.com/how-to-use-particle-squared-air-quality-sensor/.

                Am I missing something here??? I feel like this shouldn’t be this difficult.

                Another detail; looking at your photo above, the orientation of the HPMA115 sensor seems to be different than the board I received. Is the one you have in the pic an old one (like a different rev)?

                  meisner Well … I came back here since I finally received my Argon (and other pieces) and tried to get this working, but have encountered only problems. For some reason I was not being notified of your replies.

                  You may want to check and make sure whatever account you’re using is providing a valid email address. I’m getting notifications on my end.

                  meisner Based on your last reply (and the feedback from Golioth), it feels like I wasted my money (& time) on the Particle Argon board.

                  It’s not necessarily wasted, but as I mentioned the previous Particle library does not work directly with the latest version of the AQW. The HPMA though should be measuring as that hasn’t changed, so I’m not sure what’s happening there. Are you using your own cable and HPMA?

                  The documentation you should be referring to is here: https://docs.jaredwolff.com/air-quality-wing/index.html

                  meisner Another detail; looking at your photo above, the orientation of the HPMA115 sensor seems to be different than the board I received. Is the one you have in the pic an old one (like a different rev)?

                  This was a prototype board. I ended up flipping the pinout that way no matter what orientation you plug the cable it works every time.

                    jaredwolff

                    jaredwolff You may want to check and make sure whatever account you’re using is providing a valid email address

                    Nope…it was me! I didn’t know I had to “Follow” or subscribe to this thread. I am used to that automatically happening when you start a topic.

                    jaredwolff Are you using your own cable and HPMA?

                    Nope…I got the sensor and cable from you when I ordered my AQW. Invoice #: YxnD1TKa.

                    I also notice the fan in the sensor never turns on. Is there some debugging I can do with the HPMA to test it separately?

                    jaredwolff The documentation you should be referring to is here: https://docs.jaredwolff.com/air-quality-wing/index.html

                    OK, I have come across multiple articles, so I will try to follow this one. It sounds as thought using the Zephyr kernel is the recommended way to go? I was trying other paths since it seemed like Zephyr wasn’t the only option…maybe that was my first problem?

                    jaredwolff This was a prototype board. I ended up flipping the pinout that way no matter what orientation you plug the cable it works every time.

                    Good…just wanted to be sure I was connecting it properly.

                      meisner Nope…it was me! I didn’t know I had to “Follow” or subscribe to this thread. I am used to that automatically happening when you start a topic.

                      Super weird. It should do that especially if you’re the author. I’ll have to test that on my side.

                      meisner Nope…I got the sensor and cable from you when I ordered my AQW. Invoice #: YxnD1TKa.

                      I also notice the fan in the sensor never turns on. Is there some debugging I can do with the HPMA to test it separately?

                      Got it. Can you send me a picture of your setup to make sure I assembled the cable correctly? In order to save time on the motor, it only turns on when it takes a measurement.

                      meisner OK, I have come across multiple articles, so I will try to follow this one. It sounds as thought using the Zephyr kernel is the recommended way to go? I was trying other paths since it seemed like Zephyr wasn’t the only option…maybe that was my first problem?

                      It is. I just updated the documentation a bit to use the VSCode plugin. You should be able to build for the particle_argon target but I have no tested it. You do need an external programmer for it to work. (A nRF52 DK works fine)

                        jaredwolff Got it. Can you send me a picture of your setup to make sure I assembled the cable correctly? In order to save time on the motor, it only turns on when it takes a measurement.


                        Here’s the cable, sensor, Argon and AQW. Hopefully it shows what you needed.

                        jaredwolff It is. I just updated the documentation a bit to use the VSCode plugin. You should be able to build for the particle_argon target but I have no tested it. You do need an external programmer for it to work. (A nRF52 DK works fine)

                        I just placed an order for an nRF52 DK from Digikey … so when I get that, I will give it a try. In the meantime, review the page you mentioned and start assembling my Zephyr dev environment. Does the VSCode plugin also require a Zephyr cross-compile setup? I am referring to this page; https://docs.zephyrproject.org/latest/boards/arm/particle_argon/doc/index.html#programming-and-debugging

                        Thanks!

                          meisner Here’s the cable, sensor, Argon and AQW. Hopefully it shows what you needed.

                          Looks great!

                          I did notice though that you’re trying to insert the Argon on the pins. You’re not going to make a good connection here and things will likely not work the way you expect. I suggest putting female headers on the AQW if you want to do this.

                          (if all the pins are soldered, disregard. I simply can’t see the underside!)

                          meisner I just placed an order for an nRF52 DK from Digikey … so when I get that, I will give it a try. In the meantime, review the page you mentioned and start assembling my Zephyr dev environment. Does the VSCode plugin also require a Zephyr cross-compile setup? I am referring to this page;

                          It installs everything for you including the toolchain for ARM devices. So you should be good to go!

                            jaredwolff Thanks for the confirmation the cable is good. Do you think it may be related to not using the recommended dev environment like Zephyr? Based on what you mentioned before, it seems like the HMA enable is not being asserted (since the fan doesn’t come on).

                            Steve

                              It’s most likely because you’re not making a good connection at the Argon with the AQW. Again, I can’t see if things are soldered but generally this isn’t a way to connect the boards.

                              I would also trace each pin on the cable and make sure they go to the same position on the other side.

                                jaredwolff Just to put this idea to bed, it is not the quality of the connection. I did tack the underside with a minimal amount of solder on each pin to allow me to desolder it later (since I wasn’t sure how I wanted to set it up yet). I just replaced the “tacked” joints with female headers and I got the same result.

                                I did visually check the cable as well and found it to a 1-to-1 match. The connectors are too small for any test probes I have, so I couldn’t check the connections electronically. But if you lay the cable flat there is a clear 1-to-1 pairing. So I can’t check if one of the connectors is crimped poorly.

                                Once I get the Zephyr setup going, I will let you know how I make out.

                                  I managed to find some 28gauge solid wire to use as probes and applied +5v to the HPMA…the fan starts. Then I checked the output of the AQW and it never sets pins 2 & 8 (5v & gnd) to +5v. So I am putting my money on the Zephyr dev environment.

                                    meisner Just to put this idea to bed, it is not the quality of the connection. I did tack the underside with a minimal amount of solder on each pin to allow me to desolder it later (since I wasn’t sure how I wanted to set it up yet). I just replaced the “tacked” joints with female headers and I got the same result.

                                    Got it!

                                    meisner I did visually check the cable as well and found it to a 1-to-1 match. The connectors are too small for any test probes I have, so I couldn’t check the connections electronically. But if you lay the cable flat there is a clear 1-to-1 pairing. So I can’t check if one of the connectors is crimped poorly.

                                    Ok good. Thanks for double checking.

                                    meisner I managed to find some 28gauge solid wire to use as probes and applied +5v to the HPMA…the fan starts. Then I checked the output of the AQW and it never sets pins 2 & 8 (5v & gnd) to +5v. So I am putting my money on the Zephyr dev environment.

                                    Sounds good. If you want to use the Argon, you should be able to use the particle_xenon target. I have not tested it but the pins that matter are the same.

                                      Update after a day’s worth of investigation;

                                      • Using the Particle Argon and building for the Xenon board works fine. The resulting “merged.hex” file once flashed causes the fan to spin every 60 seconds. So I assume it is working.
                                      • I cannot find output anywhere though; I setup Golioth and nothing comes out there. I was wondering how this would actually work since my net connection is over the ESP32 on the Argon…and I never gave it credentials! And there is no support (as far as I could see) for the ESP32.
                                      • Nothing on the SWD serial console. I began to look into adding MQTT to push the data, but don’t have the energy for that right now. Even looking into Zephyr’s support to blink an LED is overly complicated.

                                      Is there any simple way to get some data out of this somewhere? I believe it’s working, but can’t be sure.

                                      Oh and I had to flash the device using the SWD & Particle Debug board in an undocumented way (it was the only way that worked):

                                      ~/.particle/toolchains/openocd/0.11.2-adhoc6ea4372.0/bin/openocd -f ~/.particle/toolchains/openocd/0.11.2-adhoc6ea4372.0/share/openocd/scripts/interface/cmsis-dap.cfg -f ~/.particle/toolchains/openocd/0.11.2-adhoc6ea4372.0/share/openocd/scripts/target/nrf52-particle.cfg -c “adapter_khz 1000” -c “transport select swd” -c “init” -c “reset halt” -c “nrf5 mass_erase” -c “flash write_image build/zephyr/merged.hex” -c “reset” -c “exit”

                                      Sorry for the long text with the absolute paths, but I thought it may be significant.

                                        Just changed the STANDARD_SENSOR_INTERVAL to 15 and rebuilt/flashed and yes, the fan comes on every 15 secs. So it is working. But for me to further develop (add MQTT and ESP32 support) I will need some debug/printk support.

                                        I would love to hear any thoughts on this you may have!

                                          Terms and Conditions | Privacy Policy