Learn EnviroDIY Programming

Do-it-yourself (DIY) enthusiasts generally find rapid success at reading data from simple sensors to an Arduino board. However, it is much more challenging to program an Arduino to perform all required functions of a solar-powered station that collects data from several research-grade environmental sensors, saves to an SD card, transmits to a public server with web services, and puts the sensors to sleep to conserve energy between logging intervals. The EnviroDIY community has made all of this much simpler by creating the ModularSensors library, putting the power of the Internet of Things (IoT) revolution into the hands of DIYers.

These lesson episodes will teach you how to program your Arduino for environmental IoT using ModularSensors.

We organize episodes into two parts:



Setup Download files required for the lesson
00:00 1. Arduino Basics for EnviroDIY What are the parts of an Arduino board?
How do I create, upload and modify an Arduino code sketch?
02:00 2. Arduino Intermediate Skills for EnviroDIY What is an Arduino library and how do I use it?
What intermediate code structures are critical to data logging?
04:00 3. Connecting to GitHub How will I keep track of changes in the EnviroDIY code library?
How do I share my code with collaborators?
04:30 4. Installing PlatformIO How will I manage extensive Arduino libraries?
What are the benefits of a code text editor?
How can I easily compare two codes files?
Which buttons do I push in PlatformIO?
05:15 5. Using PlatformIO and Mayfly How do I tell PlatformIO which Arduino I am using?
How do I use PlatformIO to upload a sketch to an Arduino board?
How do I view and edit sketches in PlatformIO?
06:45 6. Using PlatformIO Serial Monitor and Sensors How do I check the status of my logger in PlatformIO?
How do I add sensors to the EnviroDIY Mayfly?
08:15 7. Program with ModularSensors Break
08:15 8. The Data Logging Cycle Why is the ModularSensors library necessary, and how does it make it easier to program a data logger?
08:35 9. Tour of Modular Sensors Library How does the Modular Sensors Library meet all of the requirements of data logging?
How do I use the Modular Sensors sketches?
Why would I clone vs download a repository?
Where do I store my own sketches?
09:05 10. First Sketch: simple_logging.ino How do I run multiple sensors and log to an SD card?
10:05 11. Introduction to Telemetry What is telemetry and why is it worth the effort?
How do I manage cellular wireless data plans?
10:50 12. Set up Monitor My Watershed Data Portal How can I have real-time monitoring for my sensor stations?
How do I send data to an internet repository?
11:20 13. Second Sketch: logging_to_MMW.ino Where in my sketch do I put UUIDs from Monitor My Watershed?
How do I find the changes that have been made to a sketch?
12:00 Finish

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.