The solar panels in the photos above are made by a company called Voltaic Systems (https://www.voltaicsystems.com/solar-panels). They have a variety of sizes, we prefer the 2W for sunny areas, and 3.5W for shady areas. T he small 0.5w panel that comes with the Mayfly starter kit is not waterproof, but it’s handy if you want to build a small logger and put the panel inside the clear lid of the small Mayfly enclosure.
The Pelican cases we use for our loggers come with foam already inside them, so you simply cut away part of the foam to create spaces for the logger, battery, cables, etc.
I originally built this in 2011 using an Arduino Pro board from Sparkfun and a standard 2×16 LCD with a LCD-SPI backpack interface from Adafruit. I used a clear enclosure because we wanted to be able to show people what’s inside, but the case isn’t waterproof so using it in the field isn’t a good idea. Now I make them using the Mayfly and a the waterproof enclosure that comes with the starter kit. I also use a different display that connects right to the Grove ports on the Mayfly, so the whole thing only requires: a Mayfly, battery, enclosure, display, 3.5mm stereo jack, and a momentary pushbutton. The code for interacting with a SDI-12 sensor can be found on our Github repo: https://github.com/EnviroDIY/Arduino-SDI-12
If you’re using CTD-10 sensors, you’ll need a way to connect their 3.5mm stereo plug to your Mega. Once you’ve done that, the code is pretty straightforward. I recently posted an example sketch (http://envirodiy.org/topic/arduino-datalogger/#post-1834) that polls 6 different Decagon 5TM soil moisture sensors that are all connected to the same SDI12 data pin. To use the code with CTD sensors instead of 5TM sensors, you can just change out the one 5TM sampling function for a CTD sampling function. Have a look at that example and see if that’s the kind of functionality you’re looking for, and if so I can post a version that’s specific to the CTD sensors. That example sketch doesn’t do any logging or saving the data, it just grabs the data from the sensors and prints it to the serial monitor every minute. If you want to timestamp your data and/or write it to a memory card and/or transmit it via a telemetry module, then something like the Mayfly would be a good option.