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


  • fisherba wrote a new post 4 years, 2 months ago

    I’m a scientist with a limited amount of coding background and an even more limited understanding of electrical engineering, and EnviroDIY Modular Sensors on GitHub has made Arduino framework environmental m […]

    • Thank you for the very well-constructed Learn EnviroDIY Programming Tutorial!! I’ve been successfully working through this tutorial in an effort to learn how to use the modular sensors library. This is a tremendous resource for all of us in the EnviroDIY community who are generally intimidated by github and have very little coding experience. You’ve made it easy for us to get started and learn how to take advantage of ALL of the tools here at EnviroDIY!!! Thanks!

      • Hi Scott, I am very glad it’s been helpful to you! It’s basically the one week of work nutshell/refinement of what it took me several months of trial and error to stumble through. Notice it’s still in “beta” mode, so we are more than happy to receive feedback on what works and what doesn’t work well. Please feel free to submit your ideas as “issues” in the GitHub repository.

  • Sounds like Modular Sensors Library? The original versions had 2 minute readings scheduled at the beginning of logging to make it quick/easy to see if a station was logging upon deployment. I think @srgdamiano recently removed this from the new version of the Modular code.

  • Neil, for the develop branch I would point to a specific commit. The current commit in develop tonight is located here:

    For my platformio.ini file’s lib deps, I would point to with the…[Read more]

  • My 2-cents on which branch to use is that the *model* structure is that end users work from the master branch. @neilh20 might be overqualified as an end user, so if future readers show up on this thread for help, they may be mislead by the notion that develop is the better branch.

    But the Modular branches have been so very active in development…[Read more]

  • fisherba posted a new activity comment 4 years, 5 months ago

    Hi Dimitris, I am just a Mayfly user, not the manufacturer or distributor. My understanding is that there are tariff and trade complexities in distributing it in Europe. I heard that the folks at the Stroud Center explored this when they first started distributing the Mayfly, but I don’t really know the details. All of the files that are available…[Read more]

  • Hi Neil,

    You renamed the .ino file to a .cpp?

    Sorry I didn’t have time to explain what all of the things meant. 4 hours of glazed reading sounds painfully familiar.

    My platformio.ini file is in the root directory for my PlatformIO “project”. It has to be moved from the sketch folder to the root directory. Sara puts an example ini file in the…[Read more]

  • Hi Neil,

    I spent the day outside yesterday, adding more sensors to two existing stations, which included some RS485 sensors. I’ll share how I did it and that will hopefully help you along!
    The stations are: https://data.envirodiy.org/sites/WSP01/ and

    My sensor station added RS485 sensors and a new…[Read more]

  • fisherba wrote a new post 4 years, 6 months ago

    This post was written by @ehost11 and @crpelissero as part of their senior capstone project at University of St. Thomas in St. Paul, Minnesota. The capstone course was co-taught by @tahicksonstthomas-edu and @fis […]

    • Gosh a great discussion and fantastic to see the detail and how to deploy a rugged Mayfly.
      I made a depth sensor some years ago – so appreciate the detail described.
      The first time I did it, I solved the sensor problem with a costly arrangement – a raw MSI sensor with an O-ring, and then a custom designed brass housing – it did work well as a rugged sensor for surface water streams. But cost was high for the custom brass housing.

      So very impressed with your successes, and the conclusion of the value in sensors, and buy them if available 🙂 (and have the budget).

      I have since tried some other sensor configurations, looking for a low cost way of translating physical water depth measurement with a specific accuracy to a traceable number – and its definitely a very specific challenge – water depth to physical units over say an SDI line.

      One of the issues with sensors, always there, is the accuracy of the measurement and what is it dependent on, and what other events (like lightening) may cause a problem.
      The accuracy – which is really % inaccuracy – is not only how the raw sensors physical readings map to specific units, but how repeatable they are, and for the real world over what temperature range. Ground water is typically a constant temperature and so shouldn’t introduce much variation there. However absolute pressure measurements need an atmospheric compensator measurement, that is then dependent on a wide range of atmospheric measurements. A colleague using a Hobo Onset Absolute pressure device, buried the temperature compensated barometeric measurement device at the foot of the main logging unit to keep the temperature as constant as possible.

      For any sensor, you really want to be clear about what accuracy you want in the measurement system, and over what range of measurements. One option I’ve thinking about maybe a variable accuracy.
      That is, is the absolute depth from base of the sensor only needs a loose requirement, but the accuracy at the low end of the scale needs to have a greater accuracy for changes over 1week. So I’m looking for a confidence in measuring daily variations, as well as peak measurements (its for a surface water stream)

      One thought I’ve had is using a couple of low cost sensors together that measure the physical parameters slightly differently – one could be low cost air pressure sensor with a simple port (MP3V5010) and the other a capacitance wire.
      The wire is easier to seal but way problematic to manage a calibrated reading – but indicates changes in water depth independent of temperature. The wire sensor only works over a limited range possible 1m and needs to be vertical
      The air pressure sensor with a plastic tube port, and a plastic tube that has a high molecular weight inert silica gel (an idea from a tech support person at a sensor company) to transmit the water pressure and isolate the water from the electronics.
      Then the issue becomes sealing the electronics in a water tight container.
      What experience has taught me, is figure out how to do layered sealing – a mechanical layer, and then 2 layers of water sealing. If it can be lowenough cost then epoxy all the electronics.
      Low water permeability epoxy (EpoxiesEtc) are expensive and there needs to be a simple way of mixing it and using it.
      So one idea for sealing/epoxying and using very little, is for all the electronics to fit in a 1″ sch 40 tube, then encase the electronics in a 1″ heatshrink. Fold the heatshrink at each end and apply the mixed epoxy in the fold, so using a double seal – the fold (with a small plastic tube running through) and then epoxy each side of the fold. Then activate the heatshrink with a heatgun to shrink it round the electronics. Then fill in the low volume center with epoxy and finally fold at top with wires/plastic pipe transiting the protective fold. So apologies, a bit difficult to describe and lots of small issues to get right.
      So I did make one prototype, and had to put it aside when something else came up, and hope to get back to it …. but I share it in case anybody else is thinking about it. It doesn’t look much ….

      http://www.envirodiy.org/wp-content/uploads/ProbeScFront.jpg – Water Depth probe using gas sensor
      http://www.envirodiy.org/wp-content/uploads/ProbeScTop.jpg – Top of water depth sensor – prototype using TeensyLC – final device would be enclosed
      And the processor with RTC, 16bit ADC & accurate ADC Ref, MKL27Z256VL https://www.digikey.com/products/en?keywords=MKL27Z256VL

      I based the prototype electronics on a TeensyLC – with a target of using the Cortex MO MKL27X256 and SDI interface.

      I can share more details if anybody is interested.

      back to the post – thanks for sharing, and all the magic sources of the little stuff to get it deployed. Yeah!!!

  • fisherba replied to the topic GPRSBee in the forum Mayfly Data Logger 4 years, 6 months ago

    Hi Cal, there’s a thread on GitHub about getting this thing up and running. Looks like others are having trouble as well. Perhaps contributing your debugging will help things along.


  • fisherba replied to the topic BOM in the forum Mayfly Data Logger 4 years, 6 months ago

    Also, @aufdenkampe has a list of the components he has compiled for his work group. It’s informal not a bill of materials, but it may help you along (it has definitely helped me): https://docs.google.com/spreadsheets/d/1x87AHmmCWmsgMVpbeEhw9iZm5iHPiUoJPuaUpzHsxW0/edit?usp=sharing

    Do I understand correctly that you haven’t used a Mayfly for your…[Read more]

  • fisherba replied to the topic BOM in the forum Mayfly Data Logger 4 years, 6 months ago

    Hi Neil,

    I usually use Adafruit batteries that already have JST 2-pin cables attached. Adafruit also supplies JST cables. Then I get my solar panels from Voltaic and solder a JST connector on one of their bare wire cables.

    Triple check any that you buy on Amazon because some reviewers say they aren’t the right size.

    Let me know if that d…[Read more]

  • fisherba replied to the topic GPRSBee in the forum Mayfly Data Logger 4 years, 7 months ago

    Hi @ckillen, The Bee socket on the Mayfly makes it easy for the Mayfly to hook up with any radio with that connection/communication protocol. The socket can be used for several types of radios, including the 2G one that you have, WIFI radios, and the new XBee3 by Digi, that supports LTE-M communication…[Read more]

  • fisherba replied to the topic GPRSBee in the forum Mayfly Data Logger 4 years, 7 months ago

    Hi Cal,

    I have been working on a tutorial, but it’s unfortunately nowhere near complete, and I will be away for the next week. I suggest using the Modular Sensors library on GitHub, where there’s an example called logging_to_EnviroDIY. This is formatted to log to data.envirodiy.org, where you can set up a hosting site for free.…[Read more]

  • fisherba posted a new activity comment 4 years, 7 months ago

    Hi @walterartavia02gmail-com, I completely missed this turbidity question. We have used Yosimetech (http://www.yosemitech.com/en/) turbidity sensors, but there’s enough hassle in ordering (customs hang-ups every time) and creating a RS-485 shield to communicate with those, that going with the Campbell sensor might be in my future.

  • fisherba posted a new activity comment 4 years, 8 months ago

    Hi @walterartavia02gmail-com,

    I haven’t deployed an OBS, but it looks like it goes into the I2C port using the instructions at:
    where it says that, “The power supply is connected to the red wire, low range output comes from the blue wire, high range output comes from the…[Read more]

    • Beth, thanks for sending Walter the links to the sensor description in the Modular Sensors library ReadMe file! That is a great resource.

      One important correction, the Campbell Sci. OBS3+ sensor is an ANALOG sensor, and therefore should be connected to one of the Aux Analog grove ports on the Mayfly’s lower left side. The Auxiliary…[Read more]

  • Hi Dave, the orientation in your photo is correct (and that’s the correct way demonstrated in the thread you linked), so I’m a little bit confused about how yours could be fried. It’s possible that the battery isn’t contacting properly. My experience has been that they are wicked hard to push in (because the early versions weren’t tight enough),…[Read more]

  • @davejadco-com, glad it’s working. I can’t imagine why the Mayfly wouldn’t receive an upload without the RTC battery. Or with it upside down, for that matter. I had a student insert several the wrong way and we fried the Mayfly RTC, so double check that.

    You can test this by manually set the RTC, disconnect from a power source (USB or lipo…[Read more]

  • Hi Dave,

    Sorry you’re having this trouble. I have a couple of possibly not useful pieces of information to see if I can help you. It sounds like you have a connection problem.

    First, are you using the same download cable as you used the previous day? Some cables are charge only (not data) and I tend to rid my house of those!

    Second, (kick me…[Read more]

  • Any chance it’s the 5 meter model? From what I’ve seen it’s not possible to tell the difference from the housing. (I’d love to be corrected and learn how to tell if I have that wrong.)


  • While it’s true that there’s no “testing mode” at data.envirodiy, I do test the communication before I deploy by just setting the station up and let it start running. My last test ran for just over 2 days and one station died at 1.5 days because I didn’t have a powerful-enough battery. I was grateful to have it running for long enough to tell. I’m…[Read more]

  • Load More