Hardware Sanity Check: Agricultural Node with RAK19007, RAK5804, Capacitive soil moisture sensor v1.2 & DS18B20

  • What product do you wish to discuss?
    RAK4631 Core Module, RAK19007 Base Board, RAK5804 IO Extension Module

  • What firmware are you using?
    Arduino BSP (Planning phase - no firmware written yet)

  • What firmware version?
    N/A (Hardware concept check before purchase)

  • Computer OS?
    Windows 11 (Arduino IDE 2.x planned)

  • What Computer OS version?
    Windows 11 Pro

  • How often does the problem happen?
    N/A (Pre-purchase hardware validation)

  • How can we replicate the problem?
    N/A (No issue yet - seeking advice before building)

  • Provide source code if custom firmware is used or link to example:
    N/A (Planning phase - will use RAK Arduino examples as base)

PROJECT DESCRIPTION:

Hello RAK Community,

I am planning an agricultural field test with autonomous LoRaWAN sensor nodes.
The nodes will be deployed outdoors with solar + battery power. I want to avoid
soldering and plan to use Wago 221 splicing connectors for sensor connections.

MY PLANNED SETUP (per node):
─────────────────────────────
β€’ Base Board: RAK19007 (WisBlock Base Board 2nd Gen)
β€’ Core: RAK4631 (EU868 frequency)
β€’ IO Module: RAK5804 (IO Extension Module)
β€’ Power: 5V Solar Panel (max 5.5V Voc) + 3.7V LiPo Battery (3000mAh+)
β€’ Enclosure: IP67 weatherproof box
β€’ Antenna: 868 MHz fiberglass antenna with pigtail

SENSORS:
─────────────────────────────

  1. Capacitive Soil Moisture Sensor V1.2 (Analog output, 3.3V compatible)
  2. DS18B20 Temperature Sensor (waterproof probe, 1-Wire protocol)

WIRING CONCEPT (via Wago 221 clamps, no soldering):
─────────────────────────────
I plan to connect the RAK5804 to the sensors using Wago clamps:

β€’ Soil Moisture VCC β†’ 3.3V from RAK5804
β€’ Soil Moisture GND β†’ GND from RAK5804
β€’ Soil Moisture Analog-Out β†’ AIN1 on RAK5804

β€’ DS18B20 VCC β†’ 3.3V from RAK5804
β€’ DS18B20 GND β†’ GND from RAK5804
β€’ DS18B20 Data β†’ IO1 on RAK5804
β€’ 4.7kΞ© Pull-Up Resistor β†’ Between 3.3V and DS18B20 Data (in Wago clamp)

POWER MANAGEMENT:
─────────────────────────────
β€’ Nodes will sleep between measurements (target: 15-30 min interval)
β€’ Need to survive winter with limited sunlight (Germany/Europe)
β€’ Gateway will be offline (local LoRaWAN server, no internet)

MY QUESTIONS:

  1. Is the RAK5804 the right choice to read an analog sensor (AIN1) and a
    digital 1-Wire sensor (IO1) simultaneously with the RAK4631?

  2. Are there any known issues with this specific hardware combination
    (RAK19007 + RAK4631 + RAK5804)?

  3. For the DS18B20: Is IO1 on the RAK5804 suitable for 1-Wire protocol,
    or should I use a different GPIO pin?

  4. Power consumption: Has anyone tested deep sleep current with this setup?
    I need to ensure the node can survive 7+ days without sun.

  5. Alternative: Would RAK5811 (Analog Input Module) + RAK13002 (GPIO) be
    more reliable for this use case? (I prefer screw terminals over Wago if
    it’s more robust)

  6. Any recommendations for the local LoRaWAN gateway setup? I plan to use
    a RAK7289 with internal network server and local data logging.

ADDITIONAL NOTES:

β€’ Region: EU868 (Germany)
β€’ Duty Cycle: Will stay within 1% limit (sending every 15-30 minutes)
β€’ Initial Deployment: 2 nodes + 1 gateway (proof of concept)
β€’ Full Scale: 30 nodes + 2 gateways
β€’ Data: Local storage only (no internet/cloud)

Thanks in advance for your advice! Any corrections to my hardware plan are
greatly appreciated before I place the order.

Best regards,
Magro

Welcome to RAK forum @Magro ,

Thanks for considering WisBlock on this project. To answer your questions:

  1. This will work ok. No issue on using AIN1 and IO1 together.
  2. Combining these three modules has no issue - 1 core, 1 base and 1 interface.
  3. I am not aware that DS18B20 works now in RAK4631-R (need to tag @beegee for confirmation). If it doesn’t work, you have to get RAK4631 with Arduino BSP.
  4. Deep sleep is supported by RAK4631 (RUI3 or Arduino). As for 7days it will depend on the sleep and active current. On RAK5804, if you utilize the 3.3V_S which can be disconnected by IO2, you can fully disconnect your two sensors during sleep but will require resoldering a resistor on the RAK5804.
  5. Your current setup (RAK19007 + RAK4631 + RAK5804) will work and much simpler IMHO.
  6. RAK7289 is ok.
1 Like

I am not sure whether I tested the DS18B20 with RUI3 and RAK4630, but there is an example for the RAK3372 (STM32WLE5 MCU) and the DS18B20 in our RUI3-Best-Practices repository.
The RAK3372 would have an even lower sleep current than the RAK4631 and could be a good choice if you do not need BLE/Bluetooth. But the RAK3372 is only supported by RUI3. We do not have support for an Arduino BSP for it.

1 Like

I did a quick test on RAK4631-R and zero readings.

image

Combination possible will be

RAK4631 (Arduino BSP) + DS18B20 with Onewire library
RAK3172 (RUI3) + DS18B20 with microDS18B20 library

1 Like

Hi @carlrowan and @beegee,

Thanks for the helpful replies! Here’s our updated node setup based on your feedback:

Node hardware (Γ—2):

  • RAK4631 Core (Arduino BSP, not RUI3) β†’ DS18B20 via standard OneWire library
  • RAK19007 Base Board
  • RAK5804 IO Extension (AIN1 = soil moisture, IO1 = DS18B20)
  • Waterproof DS18B20 probe
  • Capacitive soil moisture sensor v1.2
  • 3.7V LiPo + 5V solar panel
  • EU868 antenna

Follow-up questions:

  1. Since the zero-reading test was on the RAK4631-R, is the standard RAK4631 (Arduino BSP) with the classic OneWire library confirmed working with DS18B20? Since the hardware is identical, we just want to confirm it’s firmware-specific, not a hardware issue.

  2. On the resistor re-soldering for fully disconnecting 3.3V_S via IO2 on the RAK5804: I have limited soldering experience. Is that resistor fine-pitch enough to be risky for a beginner, or manageable with a basic iron and patience? Would you recommend skipping it and accepting the higher sleep current instead?

  3. For the gateway: we’re running a Raspberry Pi alongside it in the field (no internet/WiFi, maybe cellular as backup) to log data locally. Is the RAK7289V2 a good fit given its built-in local network server, or would another model integrate more cleanly with a local Pi setup? Any pointers on getting data from the gateway onto the Pi’s storage without internet would help a lot.

Thanks again for your support on this!

Best,
Magro

Long time ago (2024) I tested DS18B20 on a RAK4631, but I don’t remember the results.

Here is the PlatformIO project (I am not using Arduino IDE, sorry).
But should compile once your rename the β€œsrc/main.cpp” file to an .INO file.
Library used at that time was robtillaart/DS18B20

DS18B20-Arduino.zip (1.7 KB)

Hi @Magro ,

Quick test on RAK4631 (Arduino BSP) confirmed to work on the classic OneWire library via IO1.

Only two change on the default example Wire.h to avoid compilation error for Serial then setting the IO pin.

image

image

It should work as well on robtillaart/DS18B20 since it also uses OneWire library.

Hi!

Thanks again for the detailed help.
But before we place the order: since this is our first project with RAK/WisBlock, how would you personally configure a solar-powered agricultural field test like this?

If there’s no better alternative setup you’d suggest, we’ll go ahead and order the components as planned (RAK19007 + RAK4631 (Arduino BSP) + RAK5804 + solar/LiPo + RAK7268) and start testing once the hardware arrives.

Thanks again for your time and support!

Best regards,
Magro

For a commercial system for agriculture sensors, I would go for

These components build a reliable agriculture sensor eco system, independent of permanent power supply with the solar battery.
Easy to setup, ready for LoRaWAN with optional fallback to cellular communication.

But of course that is a little bit more expensive.