There's quite a few ways to connect to The Things Network with CircuitPython. You can use a Feather RFM9x (an all-in-one), a breakout or FeatherWing and a CircuitPython-compatible board, or a Python Linux computer/board. 

Wiring with a Feather M0 RFM9x

Attaching an Antenna

Your Feather M0 does not come with an antenna, but there are two ways of wiring one up.

For this guide, and to keep the build cost-effective, we soldered a small, 82mm wire to the ANT pad.

  • Antenna Options and installation instructions are detailed on this product's learn guide's antenna options page. 
  • Note: Antenna length differs between regions, make sure you cut the antenna to the correct length for your region.

Wiring

Make the following connections between the SI7021 and the Feather RFM9x:

  • Feather 3V to SI7021 VIN
  • Feather GND to SI7021 GND
  • Feather SCL to SI7021 SCL
  • Feather SDA to SI7021 SDA

 

Wiring with a Radio Featherwing

Make the following connections between the Radio FeatherWing and the Si7021:

  • Wing 3V to SI7021 VIN
  • Wing GND to SI7021 GND
  • Wing SCL to SI7021 SCL
  • Wing SDA to SI7021 SDA

 

The pins for IRQ (RFM9x's DIO0 Pin) and CS are configurable. We provide a few lettered pins. Solder them together like so with some short jumper wires:

  • Wing CS to Wing D
  • Wing IRQ to Wing E

Wiring a LoRa Radio Transceiver Breakout

Attaching an Antenna

These radio breakouts do not have a built-in antenna. Instead, you have three options for attaching an antenna. For most low cost radio nodes, a Wire antenna works great. If you need to put the radio into an enclosure, soldering in a UFL connector. and using a uFL to SMA adapter will let you attach an external antenna. You can also solder an SMA edge-mount connector directly.

Wiring a CircuitPython-Compatible Board with a LoRa Breakout

Make the following connections between the RFM Breakout and the board:

  • Board 3V to Radio VIN
  • Board GND to Radio GND
  • Board SCK to Radio SCK
  • Board MOSI to Radio MOSI
  • Board MISO to Radio MISO
  • Board D5 to Radio G0
  • Board D6 to Radio CS

Make the following connections between the Si7021 and the board:

  • Board 3V to Si7021 VIN
  • Board GND to Si7021 GND
  • Board SCL to Si7021 SCL
  • Board SDA to Si7021 SDA

Python Computer Wiring with a LoRa Breakout

Since there's dozens of Linux computers/boards you can use we will show wiring for Raspberry Pi. For other platforms, please visit the guide for CircuitPython on Linux to see whether your platform is supported

Here's the Raspberry Pi wired with a RFM9x Breakout and a SI7021:

Connect the Raspberry Pi to the SI7021 Sensor

  • Pi 3V3 to SI7021 VIN
  • Pi GND to SI7021 GND
  • Pi SCL to SI7021 SCL
  • Pi SDA to SI7021 SDA

Make the following connections between the RFM breakout and the Raspberry Pi:

  • Pi 3V to Radio VIN 
  • Pi GND to Radio GND
  • Pi SCK to Radio SCK
  • Pi MOSI to Radio MOSI
  • Pi MISO to Radio MISO
  • Board D5 to Radio G0
  • Board D6 to Radio CS

All wired up? Let's move on to setting up The Things Network for TinyLoRa.

This guide was first published on Dec 06, 2018. It was last updated on Dec 06, 2018.
This page (Wiring) was last updated on Oct 24, 2020.