Wiring

Because each Feather uses a different processor, there is some light wiring that needs to be done to configure the radio pins. In particular, an interrupt-capable pin is required for IRQ but there is no one irq pin that is the same on all the Feathers!

So, while MOSI/MISO/SCK are fixed, you will want to solder three short wires for CS, RST and IRQ

Here is our tested/suggested wiring configurations and code snippets for defining the pins

ESP8266 Wiring

The ESP does not have a lot of spare pins, and the SPI pins are taken, so here's what we've tested that works:

Download: file
#define RFM95_CS  2    // "E"
#define RFM95_RST 16   // "D"
#define RFM95_INT 15   // "B"
Download: file
#define RFM69_CS      2
#define RFM69_RST     16
#define RFM69_IRQ     15
#define RFM69_IRQN    digitalPinToInterrupt(RFM69_IRQ )

This leaves the I2C default pins (4 and 5) available

Feather 32u4

 The 32u4 doesn't have a lot of IRQs and the only ones available are on pins 0, 1, 2, 3 which are also the Serial RX/TX and I2C pins. So it's not great because you have to give up one of those pins.

Download: file
#define RFM95_CS  10   // "B"
#define RFM95_RST 11   // "A"
#define RFM95_INT 2    // "SDA" (only SDA/SCL/RX/TX have IRQ!)
Download: file
#define RFM69_CS      10   // "B"
#define RFM69_RST     11   // "A"
#define RFM69_IRQ     2    // "SDA" (only SDA/SCL/RX/TX have IRQ!)
#define RFM69_IRQN    digitalPinToInterrupt(RFM69_IRQ )

Feather M0

The Feather M0 is really easy to use, a ton of interrupts so wiring is easy

Download: file
#define RFM95_CS  10   // "B"
#define RFM95_RST 11   // "A"
#define RFM95_INT  6   // "D"
Download: file
#define RFM69_CS      10   // "B"
#define RFM69_RST     11   // "A"
#define RFM69_IRQ     6    // "D"
#define RFM69_IRQN    digitalPinToInterrupt(RFM69_IRQ )

Other Boards

For other boards like the ESP32 or nRF52, any pin can be an interrupt, so feel free to use any wiring setup you like!

This guide was first published on Aug 24, 2016. It was last updated on Aug 24, 2016. This page (Wiring) was last updated on Apr 17, 2019.