Skip to main content

Building an Environmental Sensor Node

Building an Environmental Sensor Node

This guide walks through assembling a production-ready environmental sensor node using the RAK WisBlock platform with the BME680 sensor, then configuring it for MeshCore firmware deployment.

Bill of Materials

  • RAK19007 WisBlock Base Board (v2)
  • RAK4631 WisBlock Core (nRF52840 + SX1262)
  • RAK1906 WisBlock Sensor (BME680)
  • LoRa antenna (868 MHz or 915 MHz depending on region), SMA-to-IPEX pigtail
  • 3.7 V LiPo battery (1000–3000 mAh) with JST 2.0 connector
  • Enclosure: Hammond 1591XXFLBK (120×65×40 mm) or RAK Unify Enclosure (100×75×38 mm)
  • 2× M16 IP68 cable glands
  • Silica gel desiccant packet (2 g)
  • Gore-Tex membrane vent plug (optional but recommended)

Assembly Steps

  1. Prepare the base board. The RAK19007 features three sensor slot connectors (Slot A, B, C/D). No soldering is required — all WisBlock modules use proprietary 40-pin or 24-pin board-to-board connectors. Press the RAK4631 core firmly onto the core slot until it clicks.
  2. Attach the BME680 sensor module. The RAK1906 fits Slot A (24-pin connector). Align the gold contacts and press until seated. The module sits flush with the base board surface.
  3. Connect the LoRa antenna. Attach the IPEX end to the U.FL connector on the RAK4631 (labelled LoRa). Ensure the antenna is fully connected before powering on to avoid PA damage. Route the SMA pigtail through a cable gland in the enclosure wall.
  4. Connect the battery. Plug the JST 2.0 LiPo connector into the battery port on the RAK19007. The onboard BQ25504 PMIC handles charging via the USB-C port. Balance protection and over-discharge cut-off are built in.
  5. Flash the firmware. Use the MeshCore SENSOR variant. Download the latest .uf2 file for RAK4631 SENSOR from the MeshCore releases page. Put the RAK4631 into bootloader mode (double-tap reset — the drive RAK4631 should appear), then drag-and-drop the .uf2 file.

Firmware Configuration

After flashing, connect over USB serial (115200 baud) or BLE to configure the node:

set telemetry_interval 900    # Send sensor data every 15 minutes
set gps_enabled 0             # Disable GPS for indoor/static nodes
set power_save 1              # Enable deep sleep between transmissions
set node_name "SensorNode-01"
save
reboot

The BME680 sensor is auto-detected via I2C bus scan on boot. Verify readings appear in the serial log: BME680: T=22.3C H=54.1% P=1013.2hPa IAQ=58. An IAQ value below 50 indicates good air quality; above 150 indicates moderate pollution.

Enclosure and Weatherproofing

Drill two M16 cable gland holes in the bottom face of the enclosure — one for the LoRa antenna SMA cable and one for a USB-C charging cable if periodic wired charging is desired. Thread the cable glands and tighten until the rubber grommet compresses around the cable. Place the desiccant packet inside and install the Gore-Tex vent plug on a side wall to allow pressure equalisation without moisture ingress. Apply silicone sealant around any remaining penetrations.

Mount the PCB assembly on the supplied standoffs inside the enclosure using M3 screws. Ensure the BME680 sensor on the RAK1906 faces toward the vent plug — airflow across the sensor significantly improves humidity response time and reduces self-heating error.

Label the outside of the enclosure with the node name, installation date, frequency region, and an emergency contact. Photograph the final assembly before sealing for maintenance records.

Commissioning Checklist

  • Antenna connected before power-on
  • Firmware version confirmed in boot log
  • Sensor readings visible in serial output
  • Node appearing in MeshCore network map within expected hop count
  • Telemetry packets visible at expected interval on a listener node
  • Enclosure sealed, cable glands tightened
  • Node name and installation date label affixed externally