Welcome to EnviroDIY, a community for do-it-yourself environmental science and monitoring. EnviroDIY is part of WikiWatershed, a web toolkit designed to help citizens, conservation practitioners, municipal decision-makers, researchers, educators, and students advance knowledge and stewardship of fresh water. New to EnviroDIY? Start here

Reply To: Board Basics

Home Forums Mayfly Data Logger Board Basics Reply To: Board Basics


P.S. I took a random pin label and google searched it. My search was “A1 arduino” and it turned up plain language content in the Arduino Foundations class that would lead you to know that this is an analog input pin. That class could be another good starting point, but we picked the Adafruit tutorials because they more quickly lead us through the principles that users needed to be prepared to use PlatformIO or VSCode to manage Modular Sensors code wrappers.

I am aware that many people think that PlatformIO is too much for beginners. I fully understand how not simple these IDEs are if you are not a coder. I avoided using PlatformIO for at least a year after starting my monitoring work. I invite anyone who believes that PlatformIO is “too much” to go read “The lib_deps talk” in Episode 5. The nutshell version is that we are working with actively changing software with this monitoring work, both in Modular Sensors and with many of the Arduino-framework sensors. If you are managing libraries manually, then you’ve got a lot of manual upkeep in your future if you stick with the Arduino IDE. You will need to download all of the code libraries (like software drivers) manually and keep them in a very specifically located and perfectly named directory. Keeping track of updates to libraries will be a manual task.

In contrast, keeping track of libraries using PlatformIO (or VSCode) allows the user to make a list of the libraries that are being used in an “initialization” (ini) file. This central place allows you to keep track of your libraries and their versions in a simple list in the ini file (most of the time you want to stay up to date, sometimes you will need to point to specific, older version).

What’s super awesome about “lib_deps” in PlatformIO is that the amazing developer of Modular Sensors has the libraries collected for you, which requires one line of code in the ini file and no manual downloading effort on your part. For each round of revisions she lets you know what other content you need in your ini file and includes an ini file with each example sketch.

If it doesn’t make sense to use the functionality of PlatformIO for the scope of your work, then that’s fine. But when you start spending more time managing libraries than testing sensors, it’s time to learn the joys of running it all from a simple ini file!