/Remote-Sensor-Node

TU714 Final Year Project

Primary LanguageC++

Remote-Sensor-Node

An ultlra-low-power LoRaWAN sensor node based on the MCCI LMIC Library. This repository contiains the source code, 3D CAD, the electronic schematics and some images of the project.

Sensor node outdoors

Features

  • Down to 8μA sleep current without SD card holder (4mA with SD card holder)
  • 10 minute transmission interval
  • 6km range achieved to a public gateway from ground level

Project overview

Code Setup

The project firmware can be compiled and uploaded using either the Arduino IDE or PlatofrmIO.

N.B. THE CODE WILL NOT RUN UNLESS A COMPATIBLE RADIO IS HOOKED UP CORRECTLY. SEE SCHEMATIC FOR MORE DETAILS

Using Arduino IDE

  • Arduino IDE files are located in sensor_node_arduino

  • Open the file sensor_node_arduino.ino

  • Install the following libraries. Make sure to install all dependencies when prompted

    ClosedCube HDC1080 (By ClosedCube)
    LowPower (By  LowPowerLab)
    MCCI LoRaWAN LMIC library (By Terry Moore)
    RV-3028-C7 (By Macro Yau)
    
  • Locate your Arduino sketchbook. It's path can be found in the Arduino IDE preferences menu

  • Navigate to the LMIC project config folder and edit "lmic_project_config.h" to match the example Project Config below

    (Located in <YOUR_SKETCHBOOK_DIR>/libraries/MCCI_LoRaWAN_LMIC_library/project_config/lmic_project_config.h)

    More configuration info can by found in the LMIC library documentation

  • Select Arduino Pro Mini 8MHz from the tools menu and you are ready to upload

  • Open the serial monitor and set the baud rate to 115000 bps

Using PlatformIO (PIO)

Clone this repository and download the VS Code editor if you don't have it already. Next install the PlatformIO extension. Once complete open this repository in VS Code and follow the steps below

  • From VS Code open PIO if not already open

  • From the Home tab of PIO click "Open Project"

  • Select this repository

  • Once open, edit this file to match the example Project Config below

    (Located in <WHERE_YOU_CLONED_THIS>/Remote-Sensor-Node/.pio/libdeps/promini/MCCI LoRaWAN LMIC library/project_config/lmic_project_config.h)

  • Libraries should be automatically installed

  • On the bottom of the screen hit the arrow pointing right to upload

  • Click on the plug icon to open the serial monitor. Follow the instructions to set the baud rate to 115000 bps

Project Config

// project-specific definitions
#define CFG_eu868 1 // Select the right config for your region
#define CFG_sx1276_radio 1 // Select the right config for your radio
#define DISABLE_PING
#define DISABLE_BEACONS
#define DISABLE_JOIN
#define LMIC_DEBUG_LEVEL 0
#define USE_IDEETRON_AES

To Do

  • Properly archive KiCAD and F360 files
  • Git submodules for PCB libs
  • Battery monitoring
  • Add STL files for 3D print
  • Make a BOM
  • Custom PCB
  • Radiation shield for sensors

Project Blog

Solar Powered Sensor

Development Videos

YouTube Playlist

Live Data

Tingspeak

Sensor Data