Skip to the content
PCBKitNew board
4 layers63 × 50 mmLora bridge, the printed circuit board in 3D

Soil moisture monitoring system on LoRaWAN network

Size
63 × 50 mm
Copper layers
4
Thickness
1.6 mm
Parts
74
Nets
67
Pads
233
Tracks, vias
473, 285
Pours
5
Routed
Yes
KiCad
KiCad 5 (file 20200119)
Created
21 Sep 2019
Updated
23 Mar 2020

Overview

Lora bridge is an open-source printed circuit board by RainDrop-lora, from the RainDrop-lora/raindrop repository on GitHub, published under the Apache-2.0 licence. It is a 4-layer board of 63 × 50 mm with 74 parts on 67 nets, routed with 473 tracks and 285 vias.

It is built around the SN65HVD72D, RS485 and RFM95W-868S2. Its parts include 20 resistors, 15 capacitors, 9 diodes, 6 connectors and 5 transistors. It belongs with the radio and wireless and interfaces and adapters boards and the SAM D and SAM boards of this library.

Main components

3

README

Electronics/lora-rs485-bridge/README.md

LoRa - RS485 bridge

This is a board that is specifically designed to easily hook up RS485 and I2C sensors to LoRaWAN network.

Features

  • Arduino compatible (Adafruit Feather M0 based)
  • Low power:
    • Sleep current - 15uA
    • Message cost @ SF7 - 38mC (~190k messages from 4xAA battery)
    • Power switching for external I2C and RS485 sensors
  • ESD protection
  • Reverse polarity protection
  • Wide input voltage range (up to 12V)
  • Footprint for edge SMA antenna connector

Hardware resources

  • Connector J1 is power input, 12V max
  • Connector J4 is RS485 interface. VOUT on this connector is connected directly to the positive power input. Current of up to 500mA can be supplied from this connector. Q2 and Q1 form a high side switch to switch power to the connected RS485 bus. Digital pin 2 in Arduino environment can be used to switch power on and off.
  • Connector J3 is I2C interface. +3V3 on this connector is connected to the onboard +3V3 regulator. Up to 100mA can be supplied from this connector. R6 and R7 are I2C pullup resistors with the value of 4.7Ohm. Q7 is a switch that controls power to this connector. Digital pin 5 in Arduino environment can be used to controll this switch. Control logic is inverted, i.e. writing pin 5 HIGH will disconnect power to J3 and pullups, writing pin 5 LOW, will connect +3V3 to J3 and pullups.
  • SWD connector is provided for debugging and low level programming. 6-pin Tag-Connect connector can be used
  • Battery level is measured thru resistors R11, R12. Battery voltage is provided to this resistive divider when power to RS485 port is enabled. Voltage proportional to battery voltage is provided on analog pin A0. If using power supplies higher than 9V adjust values of resistors R11, R12 accordingly.
  • Led WAN is connected to digital pin 18
  • Led SENS is connected to digital pin 17
  • Led BATT is connected to digital pin 16
  • Button TEST is connected to pin A1
  • Button RESET is connected to RESET line of the microcontroller U2.

Power

The board is designed to be used with 4xAA 1.5V cells, actually physical dimensions of the board resemble a common cheap 4xAA holder. This strategy was chosen because for low power device it makes little sense to use recheargable batteries as you probably will not want to bring back device from field to charge it, it's much more practical to just change the batteries. 4xAA configuration allows to use up full capacity of AA cell - typically AA cells are totally flat at 0.8V, thus the circuit will stay fully operational till the batteries are flat - 0.8x4=3.2V while microcontroller works down to 2.5V and RFM69 module works down to 1.8V.

Nevertheless, power sources up to 12V can be used. Also rechargeable LiPo cells can be used.

Antenna

A SMA connector is available on board, a right angle SMA connector designed for 1.6mm thickness board can be fitted.

Nevertheless, a simple wire works just fine, I was able to transmit messages up to 10km away using a simple piece of wire as an antenna. Solder a piece of single core wire and cut it to a length for your frequency:

  • 868Mhz - 86.3mm
  • 915MHz - 81.9mm

Firmware

A working example firmware source code is provided. The firmware takes care of setting up radio module, sleep, querying sensors and formatting payload and transmission.

Programming environment setup

A tutorial provided by Adafruit for Feather M0 boards can be followed for the programming environment setup. In a nutshell:

  • Use Arduino IDE version 1.8 or higher
  • Add this line to Additional Boards Manager URLs in preferences dialog: https://adafruit.github.io/arduino-board-index/package_adafruit_index.json
  • In the Boards Manager add support for Arduino SAMD Boards version 1.6.11 or later
  • In the Boards Manager add support for Adafruit SAMD Boards
  • In Tools->Board menu choose Feather M0; that's it, you are ready to go

Libraries used

  • arduino-lmic -- you can add it via Arduino Library manager, but cloning the git repo is strongly recommended to get all the latest fixes
  • RTCZero -- can be installed from Arduino Library manager

Indication and UI

Three leds are provided on the board called WAN, SENS and BATT. It is up to the user to decide how exaclty to use them, but general guidance is that WAN led displays radio activity, SENS led provides sensor activity or status indication and BATT led provides battery status indication.

RESET and TEST buttons are available. RESET button resets the microcontroller, also it can be used to enter the bootloader mode for firmware upload. If sleep is utilised in the firmware, doubleclick the RESET button to enter the bootloader.

TEST button usage is up to the user.

Serial port is availale via USB-CDC interface, it can be used for debug messages, command line interface or other uses to be decided by the user. Note that in sleep mode USB is disconnected, disable sleep in the firmware to use the serial port.

Parts

74
QtyValueFootprintReferences
91MResistor_SMD:R_0603_1608MetricR3, R4, R8, R9, R16, R17, R19, R21, R24
91uCapacitor_SMD:C_0603_1608MetricC3, C4, C5, C6, C8, C9, C12, C13, C14
51kResistor_SMD:R_0603_1608MetricR1, R13, R14, R15, R25
44.7uCapacitor_SMD:C_0603_1608MetricC7, C10, C11, C16
4MountingHoleMounting_Holes:MountingHole_3.2mm_M3_DIN965H1, H2, H3, H4
4Q_PMOS_GSDPackage_TO_SOT_SMD:SOT-23Q1, Q3, Q4, Q7
3D_TVS_x2_AACmiceuz-lib:SC89D1, D4, D9
3LEDLED_SMD:LED_0603_1608MetricD6, D7, D8
2150Resistor_SMD:R_0603_1608MetricR5, R10
222pCapacitor_SMD:C_0603_1608MetricC1, C2
24.7kResistor_SMD:R_0603_1608MetricR6, R7
2FiducialFiducials:Fiducial_1mm_Dia_2mm_OuterFID1, FID2
110kResistor_SMD:R_0603_1608MetricR12
11N4148Diode_SMD:D_SOD-123D3
120kResistor_SMD:R_0603_1608MetricR11
132.768Crystals:Crystal_SMD_3215-2pin_3.2x1.5mmY1
17.6VDiode_SMD:D_SOD-323D2
1ANTmiceuz-lib:SMA_6.35_EdgeMountJ2
1ATSAMD21G18A-AUTPackage_QFP:TQFP-48_7x7mm_P0.5mmU2
1D_TVSDiode_SMD:D_SOD-123FD5
1LOGOmiceuz-lib:catnipG***
1NCP718TO_SOT_Packages_SMD:SOT-23-5U4
1Q_NMOS_GSDPackage_TO_SOT_SMD:SOT-23Q2
1RFM95W-868S2miceuz-lib:RFM95U3
1SN65HVD72Package_SO:SOIC-8_3.9x4.9mm_P1.27mmU1
1SWDmiceuz-lib:TC2030-MCP-NLJ5
1SW_ResetButton_Switch_SMD:SW_Push_1P1T_NO_6x6mm_H9.5mmSW2
1SW_TestButton_Switch_SMD:SW_Push_1P1T_NO_6x6mm_H9.5mmSW1
1Thermistor_PTCFuse:Fuse_1206_3216MetricTH1
1USB microConnectors_USB:USB_Micro-B_Vertical_Molex-105133-0001J9
1batteryTerminalBlock_MetzConnect:TerminalBlock_MetzConnect_Type101_RT01602HBWC_Pitch5.08mmJ1
1i2cTerminalBlock_MetzConnect:TerminalBlock_MetzConnect_Type101_RT01604HBWC_Pitch5.08mmJ3
1rs485TerminalBlock_MetzConnect:TerminalBlock_MetzConnect_Type101_RT01604HBWC_Pitch5.08mmJ4

The 70 most common of 74 parts.

Questions

How big is the Lora bridge PCB?

It measures 63 × 50 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Lora bridge use?

74 parts, built around the SN65HVD72D, RS485 and RFM95W-868S2. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Lora bridge KiCad files?

From the RainDrop-lora/raindrop repository on GitHub, at the commit this page was made from: the board is Electronics/lora-rs485-bridge/lora-bridge.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Lora bridge design in my own project?

Its repository publishes it under the Apache-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

More from RainDrop-lora/raindrop

1
  • 2 layers27.9 × 20.3 mmRfm95-breaktout, the printed circuit board in 3D

    Rfm95-breaktout

    RainDrop-lora/raindrop

    Soil moisture monitoring system on LoRaWAN network

    5 parts10Apache-2.0

Similar boards

  • 2 layers100 × 149.5 mmRs485-moist sensor pannel, the printed circuit board in 3D

    Rs485-moist sensor pannel

    Miceuz/rs485-moist-sensor

    Digital (RS485 - based) soil moisture and temperature sensor

    170 parts74Apache-2.0
  • 2 layers25.2 × 60.5 mmRs485-breakout, the printed circuit board in 3D

    Rs485-breakout

    Miceuz/rs485-breakout

    A tiny development board to quickly prototype RS485/Modbus devices

    33 parts2Apache-2.0
  • 2 layers240 × 125 mmController, the printed circuit board in 3D

    Controller

    Technariumas/smalsiukas

    The conversion of a forklift truck to a line following robot.

    277 partsApache-2.0
  • 2 layers50.8 × 20.3 mmPmod rs485, the printed circuit board in 3D

    Pmod rs485

    Agilack/pmod

    This repository holds multiple PMOD modules projects

    11 parts10
  • 4 layers66.3 × 40.2 mmCm4 drone, the printed circuit board in 3D

    Cm4 drone

    dridri/bcflight

    Raspberry Pi based drone flight controller and remote control

    56 parts175GPL-3.0
  • 4 layers83 × 109 mmD4 small pcb panel, the printed circuit board in 3D

    D4 small pcb panel

    unsurv/unsurv-offline

    Offline portable GNSS device based on the ESP32

    522 parts72