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 interrupt pin that is consistent across all Feather boards!
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. For LoRa radio projects:
#define RFM95_CS 2 // "E" #define RFM95_RST 16 // "D" #define RFM95_INT 15 // "B"
And for RFM69 projects:
#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. Here’s a pinout that works for LoRa radio projects:
#define RFM95_CS 10 // "B" #define RFM95_RST 11 // "A" #define RFM95_INT 2 // "SDA" (only SDA/SCL/RX/TX have IRQ!)
And for RFM69 radio projects:
#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. This works for LoRa radio projects:
#define RFM95_CS 10 // "B" #define RFM95_RST 11 // "A" #define RFM95_INT 6 // "D"
And for RFM69:
#define RFM69_CS 10 // "B" #define RFM69_RST 11 // "A" #define RFM69_IRQ 6 // "D" #define RFM69_IRQN digitalPinToInterrupt(RFM69_IRQ )
Page last edited March 08, 2024
Text editor powered by tinymce.