A couple of years ago, Katy Barnhart asked me about incorporating some data loggers into a network to monitor permafrost in the mountains of Colorado. At the time, I was starting the race to finish my PhD, and the prototype BottleLoggers, while sufficient to set up glacier mass balance monitoring stations on Alaska in support of Billy Armstrong’s work there, didn’t have enough connections or capabilities to host the suite of sensors that Katy required. So Katy waited, patiently, until I brought out the next generation logger, based on the Arduino Mega-style ATMega2560 chip. This new logger, called the LogMega, will be the subject of a future post. For now, let’s just say that it has a ton more connections, solved a number of problems with the BottleLogger, and is still in development but has its preliminary specs posted on the website.
Katy’s description of the project can be found at https://github.com/NorthernWidget/ALog-LogMega/issues/32: we have instruments to measure air and soil temperature, frost heave, snow depth, soil moisture, and downslope soil motion. Short story from the development end is that there is some good and some bad. Let’s start with the good, because that is what we don’t have to worry about anymore!
- The prototypes were able to connect to and communicate with all of the sensors!
- It seems that the Decagon sensors running on a standard UART serial protocol were recording all information properly.
- This project was a good reason to give the code library a much-needed light overhaul and write or improve software interfaces to sensors
- The additional UART ports allowed us to avoid software serial, which gave some problems in the Wax Lake Delta work (last post), which I think was caused by the clocks getting out-of-synch. Hardware serial is the way to go.
- I completely overhauled the clock functionality, switching out the I2C DS3231 for the SPI DS3234 (the same interface as the SD card), and replaced my old coarsely-spliced clock library with a more streamlined modification of the standard Arduino RTClib. In fact, if you are interested in using the DS3234 with Arduino in general, I would highly recommend my library because it adds additional functionality to what already was a solid piece of code.
Of course, not all was rosy in paradise. Katy’s summary includes two major problems: serial communications stopped functioning and clocks became un-set. With no serial comms, there was no way to fix the clocks! On top of that, the loggers didn’t function when I burned the Sparkfun 8MHz Arduino Mega Pro bootloader. After talking with them, it looks like it worked with AVR Studio, but not avrdude, the open-source compiler that I was using. These three issues, at very least, will need to be fixed before another version is released. In the meantime, progress continues…