ProMini LoRaWAN Node

Release status: stable

/images/promini_lorawan_node/ProMini-0.2-PCB.jpg
Description A LoRaWAN node based on the Arduino ProMini and the RFM95 LoRa module.
Last Version  0.2 (2019-10-22)
Platform  Arduino ProMini
License  CC BY-SA 4.0
Download  GitHub
Shop  Tindie

A LoRaWAN node based on the Arduino ProMini and the RFM95 LoRa module. Based on the original design by Doug Larue, but with some additional options:

  • u.FL antenna connector
  • Grove connector for I2C (can also be used for analog or digital signals)
  • Circuitry to measure input voltage

Parts

Note: Antenna and LoRaWAN module are dependent on the local frequency band used for LoRaWAN. The selected items are meant for 868Mhz, which is the frequency band for Europe

Part

Partnumber

Source

Notes

PCB

ProMini LoRaWAN Node PCB v0.2

Tindie

Arduino

Pro Mini, 3.3V, 8Mhz

DigiKey
Amazon US
Amazon DE
AliExpress

Antenna

868Mhz SMA

DigiKey
Amazon US
Amazon DE
AliExpress

Antenna Connector

SMA Edge mount

DigiKey
Amazon US
Amazon DE
AliExpress

u.FL surface mount

DigiKey

To connect an SMA antenna, you will need a matching pigtail

LoRa Module

RFM95 868Mhz

DigiKey
Amazon US
Amazon DE

Battery Holder

2x AA

AliExpress

Case

Abzweigdose 75x75

Hardware store 1, [https://www.hornbach.de/shop/Spelsberg-Abzweigkasten-SD7-75x75-mm-33290701/6060827/artikel.html?]

Input voltage measurement

MOSFET

Q1: BSS 84

Reichelt

Resistors

R1: 100k 0805

Reichelt

R2: 150k 0805

Reichelt

max input voltage for this R2/R3 combination: 16V

R3: 10k 0805

Reichelt

Capacitor

C1: 100nF

Reichelt

Attention - Common mistakes

We’ve made our fair share of mistakes already, so you don’t have to. Keep the following things in mind:

  • If you want to use the I2C connector, make sure to solder pins A4 and A5 on the Arduino to the PCB. They are located a bit inside the module, not on the outside, and most Arduinos don’t ship with the necessary pin headers for these two pins, so they are easy to miss.
  • Put your FTDI programmer into 3.3V mode before programming your node.
  • Make sure you have an antenna connected to the board before powering it up. Otherwise your radio module might be damaged

Software

LMiC

To use the LMIC library with this PCB, use the following pin settings:

const lmic_pinmap lmic_pins = {
  .nss = 10,
  .rxtx = LMIC_UNUSED_PIN,
  .rst = LMIC_UNUSED_PIN,
  .dio = {4, 5, LMIC_UNUSED_PIN}
};

Also, some cheap Arduino ProMini boards have somewhat inaccurate timing, so it’s recommended to tell the library to compensate for that by adding the following line in your setup() routine:

LMIC_setClockError(MAX_CLOCK_ERROR * 1 / 100);

Project Ideas

Weather Station

Add a temperature and humidity sensor and watch the weather anywhere you like.

Example with a BME280 sensor (connected via I2C) to measure temperatue, humidity and atmospheric pressure: Source Code

Field Test Node

Add a display (I2C) and a few buttons to create a field test node similar to the Adeunis Field Test Device

Camper Van Monitor

Node with GPS, temperature and PIR sensor to “watch” your campervan while you’re away. Powered from your start or solar battery, which you can also monitor while you’re at it

Other examples

  • TijnOnlijn has created a few examples with different sensors and put the code up on GitHub
  • The folks at TTN Den Bosch created a sketch generator for ProMini-RFM95 LoRaWAN nodes. Make sure to choose the “RFM95 LMIC pins (10, 0, 4, 5, 7)” option for the radio: Code Generator, TTN Forums thread

Additional information

Roadmap

License

  • Licensed under Creative Commons Attribution-ShareAlike 4.0 Unported License (CC BY-SA 4.0)
  • Original work by Doug Larue