Skip to content

Projects built using the Adafruit Feather Huzzah development board and platform

License

Notifications You must be signed in to change notification settings

disquisitioner/Feather-Huzzah

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Feather Huzzah Projects

The Adafruit Feather platform is an impressively flexible and extensive collection of development boards ('Feathers') and add-ons ('Wings'). I've found lots of use for the Feather Huzzah, which is built around the ESP8266 CPU with a powerful 32-bit processor and full support for WiFi with TCP/IP. The Feather Huzzah can be programmed using the Arduino IDE, Lua, or MicroPython, though I prefer using the Arduino path given the rich collection of libraries and compability with many of my other projects.

Full onboard WiFi makes it easy to for the Feather Huzzah to upload data to any of a variety of web services and back-end servers. Two in particular I like to use are Dweet.io and ThingSpeak.

Dweet is a free service provided by the wonderful folks at BugLabs, offering simple messaging for Internet of Things devices as if those devices were 'tweeting' messages to Twitter (hence the name). Messages are simple HTTP POST operations, with any data you like embedded using JSON. I use Dweet much as I do the Arduino serial monitor as it's great for posting status messages, device details, and debugging info, and is much easier to add and use than an onboard display.

ThingSpeak is a more robust and mature IoT data platform. Dweet only keeps track of the last five messages from any device over the last twenty four hours, which is great for device status and development/debugging but not what you'd want for long term data analysis, display, and retention. ThingSpeek meets all those needs and more, giving you the ability to easily create device datastreams (channels) with up to eight data fields per channel and separately controllable read and write access. ThingSpeak provides a convenient dashboard for viewing and managing all your channels, and also integrates with MATLAB for more sophisticated analysis. You can have up to four channels for home use for free, which lets you decide whether you'd get enough value from the service to want to pay for more and better functionality.

I like that Dweet and ThingSpeak provide simple ways to report (upload) data as well as retrieve (display) data. I've built basic web pages that let me browse my collection of 'dweeting' devices and also view graphs of recent data accumulated at ThingSpeak.

Current Projects

Cellar Monitor

Our house has a partially underground storage area that we also use as a wine cellar. In order to keep track of temperature and humidity there I've deployed a Feather Huzzah with attached Silicon Labs Si7021 sensor breakout board. The Cellar Monitor reads temperature and humidity from the Si7021 every twenty seconds and reports averaged readings every five minutes using both Dweet and ThingSpeak.

Air Quality Monitor

We're ten miles from the ocean and over a thousand feet above Silicon Valley so our air quality is usually excellent. However, with the increasing occurrence of fires in California we do sometimes get higher levels of airborne particulates and in extreme cases (like the summer of 2020) are close enough to active fires to clearly smell smoke and have periods of heavy haze. I've used a Feather Huzzah and Plantower PM2.5 air quality sensor to build a basic air quality indicator (AQI) reporting device.

The Plantower sensor reports measured particulates approximately every second over a serial interface, so the Feather Huzzah code is not as deterministic as it would be if it could read data on demand or receive data notifications through a direct interrupt. Still, it works reasonably well.

Also, while the Adafruit library for the Plantower sensor is excellent it does not provide an AQI value for comparison to reports from the weather service or specialized AQI networks like Purple Air. After some digging around on the internet I found a reference that explains how to calculate AQI from particulate values measured in micrograms per cubic meter, which the Plantower sensor does provide. You'll find additional code to do that calculation in my project, which I then report via both Dweet and ThingSpeak.

NOTE: A next generation version of this project moves from the Plantower sensor used here to a newer Sensirion SEN54 air quality sensor. The SEN54 has an I2C interface that avoids the serial-interface polling approach used in this version of Air Quality Monitor and is more amenable to incorporation alongside other I2C devices. That newer version is in a separate repository here, and also includes other new features such as additional reporting to other back-end services.

Usage Note

I've written general purpose functions to do data reporting via Dweet and ThingSpeak and use them consistently across my Feather Huzzah projects. In their current form they need to be customized per project to transmit the right data fields depending on what the project is trying to report. They also require some configuration of the connections to Dweet (in the form of the device name) and ThingSpeak (in the form of channel ID number and API write key). You'll need to edit the project code to use whatever configuration values are appropriate for you.

About

Projects built using the Adafruit Feather Huzzah development board and platform

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published