☀ How to Build an Arduino Data Logger ☀

This project has been running since late 2013, and the site is now peppered with many different logger builds that arose naturally over time as we tackled different research questions.  Those variations have been causing some confusion for people who google their way into the middle of it all.

So this page is simply a consolidated set of links to the different data logger build tutorials that we’ve developed over time, with commentary to put them in context.

If you do not yet know what an Arduino is, then it might be a good idea to review some of the great  introductory material that you can find on the web before diving in. The Arduino hardware itself actually isn’t that unique: it’s just a circuit board built around an Atmel AVR microcontroller chip, with connections broken out so you can attach wires to it more easily. It is really the software development environment (called the IDE) that makes the Arduino  easy for nonprogrammers to work with. The IDE application handles a lot of messy details when converting the code you’ve written into something that will run on that little processor.  Because those low level details are taken care of, you can run essentially the same program on many different flavors of Arduino, even if they look different physically.

An Uno-based  basic data logger, with no soldering required.  As the instructor, you can assemble this logger very quickly with pre-made jumpers but we found the connections were too easily knocked loose by clumsy students, so it's worth taking the time with them to put stiff solid core wires in place.

The starting point for most people is the Arduino UNO. It is relatively large, and robust enough for the physical handling you see in a classroom situation.  We have posted several tutorials for the UNO that are suitable for beginners, with the hope that that teachers will use this material to build their own Arduino-based curriculum.  UNO’s don’t run very long on batteries, but they are a fantastic learning platform for programming and electronics.

  1. Arduino UNO Data Logger for Beginners
  2. Adding Sensors to an Arduino Data Logger (Beginners)
  3. How to Configure I2C Sensors (Advanced)
  4. Using an UNO for ‘Live’ Data Acquisition & Display
  5. Build your own Arduino Starter Kits for the Classroom

While it might not be immediately obvious, the DAQ tutorial is probably the most important one in the set for teachers. The serial plotter built into the IDE makes it possible to view live sensor output simply by adding one print statement to the code, which updates a graph on screen by sending the data over the USB cable. Nothing I’ve used before lets you do real-time demos that easily, and the plotter allows you to replicate tasks that would normally require an oscilloscope.

MasonsSensorPottingThe drawback of most larger Arduinos is that they are built for ease of use, rather than being optimized for low power operation. Since this project is building data loggers that have to run for several years on one set of batteries we use smaller Pro-Mini style Arduinos, which we modify by removing LED’s and changing the regulator to extend the operating time. There are some important differences between Arduino models in terms of pin locations and operating voltage, but the key thing to realize is that once you get your UNO based logger recording sensor data,  you should be able to transfer that code into to a Pro-Mini based build with few (if any) changes to the programming.  This gives you a development path, where your prototypes get smaller and more energy efficient as your skills improve, with some people reaching the point of using raw processors from the AVR family to create custom sensors. Or if your code grows to the point where you are exceeding the available memory of a standard 328P, you can switch to a board with a 1284P processor.   Since October 2016, Arduino’s are also being made with 32-bit ARM CortexM3 microcontrollers, which will coexist with the more limited 8-bit AVRs. ARM and AVR are not compatible at the lowest level, but they can be programmed with the same IDE and most beginner level programs compile without changes for the two chip families.

This project started building data loggers around Pro Mini style Arduinos in 2014, and In 2015 we released the How to build a Pro Mini Data Logger series of step-by-step tutorials describing stand-alone loggers that can run for more than a year:

  1. Preparation of the three main components
  2. Connecting those modules to build a data logger
  3. Assembling a waterproof housing and attaching sensors

There are also some suggestions for better power optimization, but that material is somewhat advanced, so it’s a good idea to get a few of the basic three-module loggers running before tackling those modifications. Provided you sleep the loggers between readings (and here’s a basic data logger script that shows how), you should get at least six months of operating time on 3xAA’s from the build described in Parts 1-3, and a sensor with low sleep current can extend that.

In 2016  We updated that build to the Pro Mini Logger with Dupont Connectors:

This combines Parts 1&2 from 2015 with links to all the parts needed for construction.
It’s cheaper, takes about 1/3 less time, and is easier for beginners to assemble
The connections are not quite as robust as the fully soldered version from 2015, so that build is still better for deployments where the logger would be bumped around. But for site locations that are relatively protected from physical disturbance, the 2016 Dupont build should work fine.  

In 2017  we added another component with the ProMini Screw Terminal Logger , which makes it easier to connect sensors through a screw-terminal shield. That new build fits easily into our DIY PVC housings, or into a range of pre-made housings from eBay.  In addition to the written tutorial, there is a complete set of YouTube videos to guide you through soldering the build.

In 2018  We published: The Cave Pearl Data Logger: A Flexible Arduino-Based Logging Platform for Long-Term Monitoring in Harsh Environments This paper describes our real world deployments of this data logger with case studies that illustrate how modifying both the logger and the housing enable us to monitor different aspects of groundwater flow with very similar sensors. The ability to create custom configurations to suit different research questions is the real strength of the “modules & jumper wires” approach. Prototyping is the real strength of the Arduino platform.

The 4″ housing described in the 2015 Pro Mini tutorial series uses a rubber end cap, which can only reach about 5m of depth before water pressure starts to compress the softer bottom section significantly.  Several of our deployment sites are deeper than that, so we also developed a stronger underwater housing made from PVC plumbing, and inexpensive underwater connectors so that sensors can be placed at the end of long cables.  The core of the logger is still built around the same three modules as the 4″ rubber bottom build, but they are re-arranged to fit inside the 2″ pipe.  We are also developing methods to add a display for live data output, using the lowest possible amount of power & system memory.

Cave Pearl data loggersThere are many sensor tutorials on the site, and that list is constantly growing. We are also developing methods for calibrating inexpensive sensors  to research standards.  I hope that by the time you’ve built few of these loggers,  you’ll be able to find all that additional information via the search  option on the upper right hand corner of all pages. In addition, progress summary lists  are shown there for some of the instruments I’m currently working on. 

Below that you will find a very long list of links to other Arduino projects that I found helpful or interesting. If you get stuck on something, leave a comment on the related page of this blog or post your questions to the forums at Arduino.cc – especially if you are trying to build something for your own research using a sensor I have not worked with yet.  Arduino.cc is by far the best resource available for beginners, and I always start my searches there.

Good luck with your project!