This guide serves as a flexible reference for setting up a portable weatherproof multi-sensor temperature logger for yourself. Feel free to adapt the components and approaches to suit your needs.
- Arduino Uno board
- DS18B20 temperature sensor(s)
- 4.7K Ohm resistor
- Breadboard (400 points minimum)
- Jumper wires
- Micro SD card reader with SPI interface
- Micro SD card (and adapter if needed)
- RTC (Real-Time Clock) module with LIR2032 battery
- M12 Compression cable glands
- USB power bank
- 2L leak-proof food container (modifiable)
- 3-Pin terminal block (modifiable)
Please note that you can customize these instructions to better suit your setup. However, ensure to update the pin connections in the code accordingly. Refer to the Customizing the Code document for details.
-
Begin by connecting the RTC module to the breadboard. Ensure it is the first component on the circuit as it didn't work for me otherwise - probably can fix it with better voltage adjustments but a quick workaround was making it the first component on the ciruit.
- Pin Connections:
- VCC to positive terminal (breadboard)
- GND to negative terminal (breadboard)
- SDA to A5 (Arduino Analog Input)
- SCL to A4 (Arduino Analog Input)
- Pin Connections:
-
Strip the ends of the DS18B20 temperature sensor wires and attach them to the 3-pin terminal block(s). This step may require careful wiring.
A 4.7K Ohm resistor needs to be connected in between the positive and the signal wires to generate the signal for the reading. Simply connect the sensors in series, and everything else should function properly.
- Wire Connections:
- Yellow (Signal) to D8 (Arduino Digital Input)
- Red to positive terminal (breadboard)
- Black/Brown to negative terminal (breadboard)
- Wire Connections:
-
Connect the SD card module.
- Pin Connections:
- VCC to positive terminal (breadboard)
- GND to negative terminal (breadboard)
- SO to D12 (Arduino Digital Input)
- SI to D11 (Arduino Digital Input)
- SCK to D13 (Arduino Digital Input)
- CS to D10 (Arduino Digital Input)
- Pin Connections:
-
Connect the Arduino's 5V pin to the positive and GND pin to the negative terminal of the breadboard.
Close-up of the breadboard wiring at this stage:
-
Connect the Arduino to your computer via USB and upload the provided Arduino code using Arduino IDE.
-
After uploading successfully, open the Serial Monitor to make sure everything is working as expected. You should see some messages appearing on the Serial Monitor confirming the setup. If you have a different number of sensors or if it's the first time setting up the RTC, the messages might vary slightly, but look out for key messages like "sensor found," "SD initialization," and "successful write."
You might get some errors if the used Arduino Libraries are not present, follow instructions here on how to install libraries
When wired neatly, all components fit onto the half of a 800 pin breadboard so a 400 pin breadboard would be sufficient, but I ended up using the empty half of my 800 pin breadboard as a place to secure the Arduino unit itself - there are no conenctions from the unit directly to the board apart from the above mentioned conenctions through jumper wires.
-
Find a suitable weatherproof container that will fit your components. I used a leak-proof food box as it was cost-effective, provided very easy access, and transperency was a plus to see the remaining battery without opening it. Make sure to consider anything you might want to add/change later on and factor these in for the size you will go for.
-
Position your components into the chosen box and decide what are the best positions. Once decided, use the screws of the cable galnds to mark the circles for where the sensor cable(s) will pass through. Carefully drill through these to create a nice clean opening and install the cable glands into place. Take the cable(s) through the gland(s) and tighthen the glands to estanlish a solid weatherproof connection.
-
Place the power bank into it's position and connect it to the Arduino unit using a USB cable - a 90 degree angled one can work better here.
- Close the lid and you have your portable weatherproof tempereture logger ready to go!
- Ensure proper wiring and connections to avoid any malfunctions.
- Cellotaping jumper wires and their connectors can increase the stability of connections and saves space.
- The number of DS18B20 temperature sensors can be increased or decreased as per your requirements - just keep adding the sensors in series and modify the box and code as needed.
- The power bank I used displays remianing battery when in use,so it didn't require any further solution to track when it needs swapping (for long operation period). If you don't have one with that feature it could be possible to implement other solutions using some other components in between and extra code to indicate low battery.
- Customize the Arduino code as per specific requirements or additional features.