Build your own instruments! DIY data loggers with no custom PCBs

You can use a Pro Mini (or any other Arduino with an Atmel processor) to measure temperature to 0.0025 C or better using only the mcu. I think this is the best “No-Parts” temperature method I ever noodled around with:

‘No-Parts’ Temperature Measurement with Arduino Pro Mini

This method generalizes to any other processor with a hardware driven watchdog timer, and should be easy to adapt for other projects.

This is fantastic work you’ve done! I’ll need something similar to a cave pearl soon, and decently accurate temperature measurement is a problem. For the narrow range of temperatures that we’re usually interested in, I think it comes down to calibration, which I’m still grappling with.

If you are working with a tight range of temps this no parts technique might not be the best option for you. The oversampling I developed last year gives a similar resolution, but with far less noise in the signal. see:

Have you any thoughts on how to best go about calibrating a sensor?

This is really impressive!
It’s both simple and robust!
One thing I saw the group is working on the calibration of sensors, which in many project is considered as a “next step”, something secondary… or a complete black box!

Yeah, calibration is really the line that separates the hobbyist sector from the much smaller group of people that are trying to use these little open source controllers for research. The frustrating thing about it is the engineers advice is always the same " buy a more expensive sensor and use their calibration". Which is fine if you are doing a standard task, under standard conditions. But most of the researchers are trying to do things that the sensors were not designed for in the first place - For example, most of our temperature sensor IC failures have been because of pressure at depth… which of course they were never designed to withstand. So calibration is always required.

1 Like

I’ve been developing a new method for reading thermistors with the Input Capture Unit on pin D8. Micro-controllers count time much more precisely than ADC’s measure voltage, so this new approach delivers more resolution than 16-bit oversampling in about 1/10th the time & power

With the school year beginning we have new instructors spinning up courses around the classroom logger we released in 2019. Some of them are more focused on biology than we are so we did some noodling around to come up with a biophysical monitoring idea that could be done just about anywhere with as few resources as possible.

The result was a ‘Leaf Transmittance Index’ based on readings from an IR LED and the red channel of the indicator LED already on the logger. Although using garden variety LED’s with no real spec introduced several non-optimal aspects wrt frequency & bandwidth, the trial successfully distinguished ‘healthy’ vs ‘unhealthy’ plant leaves where a simple visual inspection could not. Now, before all the bio folks jump on us for all the hand-wavy hacks, and creating a pseudo NDVI with transmittance, rather than reflectance: keep in mind this was meant from the start to be a conceptual proof of concept, rather than a rigorous tool. From a teaching point of view, students would have to create “custom calibrations” for their one-of-a-kind builds & for each plant species - but that’s actually a useful teaching exercise in itself.


Looking forward to hear more from you.

A while back Hackaday posted about using diodes as cheap temperature sensors, but chasing forward voltage deltas in the millivolt range is hard to do with the limited ADC on most mcu’s. Our LED light-sensing experiments demonstrated that timing reverse-bias decay with the Input Capture Unit on an Arduino is easy, and provides high resolution temperature readings from a single diode without any amplification:

I think this will replace our use of thermistors on regulated loggers.

Happy to announce the latest iteration of our DIY underwater housings: with fewer parts and an easier assembly:

Be interesting to see how the students do assembling this new version.

1 Like

A 1284p based variation of our classroom logger with an RPi terminal board to accommodate the larger footprint. A ‘modules & jumper wires’ approach makes this kind of build variation for research ‘question specific’ prototypes quite easy to do:
1284-27_AddBreadboard-2 Building an ATmega 1284p based Data Logger | Underwater Arduino Data Loggers


Here’s a first look at doing something interesting with an ADS1115 ADC module. I wanted to push it to it’s max settings to see if it’s really usable for research level applications. The answer is a tentative yes, but only at the fastest 860 sample per second speed. And with small signals, EMI is more of a problem than the limitations of the ADC itself. I’m sure that’s not news to any analog hardware hackers out there, but I’m still learning this stuff as I go along.


Covid is making it hard to predict whether students will be in the lab, or working from their bedroom. In response to that uncertainty we’ve done an incremental update to the ‘Classroom Logger’ tutorial from 2019 which separates the soldering steps from the rest of the assembly. Instructors can add/remove those steps as need for whatever confounding situation they are dealing with at their institution this year. Though I have to say, it’s profoundly disagreeable to realize that this years crop of environmental monitoring students might not get the chance to learn how to solder.


Hi Ed,

Nice to see your project is still going on.

I wonder if you’ve considered using the MAX30205 for temperature measurement. This is good to 0.1 degC but only over a very small range, it being a human body temperature sensor. If you’ve tried this I’d be interested in your experience.


1 Like

We use si7051 as a cheap 0.1C calibration reference for our thermistors, but that’s the only high accuracy temp sensor I have experience with. After that we go to lab quality nist certified thermometers which start around $250 each.

1 Like

Hoping to spend time this winter updating some of our Arduino based prototypes, and many will need real-time output. With I2C OLED’s getting so cheap lately, there’s no reason to squash it all onto just one display

1 Like

We’ve been producing Excel tutorials to support Dr. Beddows students in Instrumentation, & Hydrology courses. Where those overlap with material in the Cave Pearl project we post them to YouTube. Two that might be of particular interest to the GOSH community are:

Derive empirical fit constants with Excel’s trendline

Using Excel’s Fast Fourier Transform tool to derive a tidal frequency spectrum

1 Like

In our continued effort to support STEM instructors we’ve developed an even simpler 2-module data logger that can be assembled in about 20 minutes and runs for more than a year on a CR2032 coin cell. It stores readings in EEprom memory and the data download is handled through the Arduino IDE’s serial monitor window. This may well be as minimal is it is possible to get with cheap eBay parts and still have a capable data logger that environmental monitoring students can modify and reprogram for their final projects:


Amazing to see news on this project since the first post back in 2018! :clap: :clap: :exploding_head: :tada: Thank you @TheCavePearlProject for sharing these updates.

My personal interest is in motion-triggered camera traps for wildlife observations, but I think I can learn lots from you in terms of rugged/weatherproof/waterproof casings.

1 Like