# Adafruit Radio Bonnets with OLED Display - RFM69 or RFM9X

## Overview

![](https://cdn-learn.adafruit.com/assets/assets/000/069/641/medium800/adafruit_products_LoRaBonnetTop.jpg?1547844709)

The latest Raspberry Pi computers come with WiFi and Bluetooth, and now you can add even more radio options with the Adafruit Radio Bonnets! Upgrade your Raspberry Pi with a radio so it can communicate over very long distances. These bonnets plug right into your Pi and give you long range wireless capabilities to remote nodes that may be battery powered. Or, you can create Internet gateways with ease.

You not only get a radio module, but also a 128x32 OLED display for status messages and three buttons you can use for creating a custom user interface or sending test messages. All of the above is supported with our Python libraries so you can send or receive radio data with other matching modules. With the LoRa Radio Bonnet, you send data to a LoRaWAN gateway, or even set up your own single channel LoRaWAN-to-Internet gateways.

![](https://cdn-learn.adafruit.com/assets/assets/000/069/643/medium800/adafruit_products_LoRaBonnetTopAngle.jpg?1547844730)

Compared to the 2.4 GHz WiFi/Bluetooth radios on the Pi already, these modules run at 433 or 900 MHz (sub-GHz). You can't send data as fast but you can send data a lot farther. These packet radios are simpler than WiFi or BLE, you don't have to associate, pair, scan, or worry about connections. All you do is send data whenever you like, and any other modules tuned to that same frequency (and, with the same encryption key) will receive. The receiver can then send a reply back. The modules do packetization, error correction and can also auto-retransmit so its not like you have worry about everything but less power is wasted on maintaining a link or pairing.

These modules are great for use with other microcontrollers with matching radios (like say our [RadioFruit Feathers](https://www.adafruit.com/?q=radiofruit%20feather)), say if you want a sensor node network or transmit data over a campus or town. The trade off is you need two or more radios, with matching frequencies.

![](https://cdn-learn.adafruit.com/assets/assets/000/069/642/medium800/adafruit_products_LoRaBonnetBack.jpg?1547844719)

## Radio Modules & Frequency Variants

These radio modules come in&nbsp;four variants&nbsp;(two modulation types&nbsp;and two frequencies):

- The first variant is the **RFM69 Radio** Bonnet. RFM69's are easiest to work with, and are well known and understood. It is available in **433MHz** or **900MHz** frequency ranges
- The second variant is the **LoRa Radio** Bonnet - an exciting and more powerful radio module, but also more expensive. It is available in **433MHz** or **900MHz** frequency ranges

Here are the four bonnets you can choose from. All radios are sold individually and can only talk to radios of the same part number. E.g. RFM69 900 MHz can only talk to RFM69 900 MHz, LoRa 433 MHz can only talk to LoRa 433, etc.

1. **RFM69 @ 433 MHz** - basic packetized FSK/GFSK/MSK/GMSK/OOK radio at 433 MHz for use in Europe ITU 1 license-free ISM, or for amateur use with restrictions (check your local&nbsp; amateur regulations!)
2. **RFM69 @ 900 MHz** - basic packetized FSK/GFSK/MSK/GMSK/OOK radio at 868 or 915 MHz for use in Americas ITU 2 license-free ISM, or for amateur use with restrictions (check your amateur regulations!)
3. **RFM9x @ 433 MHz** - LoRa capable radio at 433 MHz for use in Europe ITU 1 license-free ISM, or for amateur use with restrictions (check your local amateur regulations!)
4. **RFM9x @ 900 MHz** - LoRa capable radio at 868 or 915 MHz for use in Americas ITU 2 license-free ISM, or for amateur use with restrictions (check your local amateur regulations!)

**Please note!** The 900 MHz radio version, can be used for either 868MHz or 915MHz transmission/reception. The exact radio frequency is determined when you load the software since it can be tuned around dynamically.

The radio modules themselves have the same pinout so the PCB is the same, but the library usage and wiring may vary. All use SPI for interfacing, and there are CircuitPython libraries available for both.

## RFM69 Specs

- SX1231 based module with SPI interface
- Packet radio with ready-to-go Arduino libraries
- Uses the license-free ISM bands
- +13 to +20 dBm up to 100 mW Power Output Capability (power output selectable in software)
- 50mA (+13 dBm) to 150mA (+20dBm) current draw for transmissions
- Range of approx. 350 meters, depending on obstructions, frequency, antenna and power output
- Create multipoint networks with individual node addresses
- Encrypted packet engine with AES-128

## RFM9x Specs

- SX127x LoRa®&nbsp;based module with SPI interface
- Packet radio with ready-to-go Arduino libraries
- Uses the license-free ISM bands
- +5 to +20 dBm up to 100 mW Power Output Capability (power output selectable in software)
- ~300uA during full sleep, ~120mA peak during +20dBm transmit, ~40mA during active radio listening.
- Our initial tests with default library settings: over 1.2mi/2Km line-of-sight with wire quarter-wave antennas. ([With setting tweaking and directional antennas, 20Km is possible](http://forum.anarduino.com/posts/list/46.page#2854)).

Each bonnet comes fully assembled and ready to go. You can attach an antenna via the uFL connector, or cut and solder on a small piece of wire (any solid or stranded core is fine) in order to create your antenna.

# Adafruit Radio Bonnets with OLED Display - RFM69 or RFM9X

## Pinouts

Info: 

# Radio Module Pins

There's a radio module on each bonnet, which we connect to the Raspberry Pi SPI port plus some extra pins for controlling.

**We connect the radio module to a set of default pins that match our code and examples, you can cut the solder traces on the bottom and re-wire them but the code/examples will need to be updated as well.**

Each radio has the same pin names and connections. Its easiest to see the pin numbering on the bottom.

![](https://cdn-learn.adafruit.com/assets/assets/000/069/723/medium800/adafruit_products_RadioBonnetRadioModulePins.jpg?1548093203)

The two sets of pins here are broken out from the radio module. The defaults are:

- **RST** - Radio reset pin, connected to **GPIO25** on the Pi. It's pulled high by default which is reset. Pull LOW to turn on the radio.
- **CS** - Radio SPI Chip Select pin, connected to SPI **CE1** on the Pi
- **CLK** - Radio SPI Clock pin, connected to SPI **SCLK** on the Pi
- **DI** - Radio SPI data in pin, connected to SPI **MOSI** on the Pi
- **DO** - Radio SPI data out pin, connected to SPI **MISO** on the Pi
- **DIO0** - Radio digital IO #0 pin, we use this for status or IRQs. It's required for all our examples. Connected to **GPIO 22** on the Pi
- **DIO1** - Radio digital IO #1 pin, we use this for status. This is not used for our basic CircuitPython code, but is used by some more advanced libraries. You can cut this trace if you want to use the Pi pin for other devices. Connected to **GPIO 23** on the Pi
- **DIO2** - Radio digital IO #2 pin, we use this for status. This is not used for our basic CircuitPython code, but is used by some more advanced libraries. You can cut this trace if you want to use the Pi pin for other devices. Connected to **GPIO 24** on the Pi
- **DIO3** - Radio digital IO #3, not connected or used at this time.
- **DIO4** -&nbsp;Radio digital IO #3, not connected or used at this time.

# 128x32 OLED
![](https://cdn-learn.adafruit.com/assets/assets/000/069/721/medium800/adafruit_products_RadioBonnetFrontOLED.jpg?1548019786)

This bonnet comes with a 128x32 pixel OLED! **The OLED is connected via I2C**.

- **SCL** is connected to SCL on the Pi.
- **SDA** is connected to SDA on the Pi.

# Buttons
![](https://cdn-learn.adafruit.com/assets/assets/000/069/719/medium800/adafruit_products_RadioBonnetFrontButtons.jpg?1548019656)

This bonnet comes with 3 buttons below the OLED. In order from left to right:

- **Button 1** : Connected to **GPIO 5** on the Pi
- **Button 2** : Connected to **GPIO 6** on the Pi
- **Button 3** : Connected to **GPIO 12** on the PI

# Adafruit Radio Bonnets with OLED Display - RFM69 or RFM9X

## Antenna Options

The Radio Bonnets do not have a built-in antenna. Instead, they have three options for attaching an antenna - for most low cost radio nodes, a wire works great. If you need to put the radio into an enclosure. We also include a uFL connector, pre-soldered, so you can use a uFL to SMA adapter to let you attach an external antenna. You can also solder an SMA edge-mount connector directly

## Wire Antenna

A wire antenna, aka "quarter wave whip antenna" is low cost and works very well! You just have to cut the wire down to the right length.

![](https://cdn-learn.adafruit.com/assets/assets/000/069/814/medium800/adafruit_products_4072_iso_demo_2019_01.jpg?1548276760)

Cut a stranded or solid core wire the the proper length for the module/frequency

- **433 MHz** &nbsp;- 6.5 inches, or 16.5 cm
- **868 MHz** &nbsp;- 3.25 inches or 8.2 cm
- **915 MHz&nbsp;** - 3 inches or 7.8 cm

Strip a mm or two off the end of the wire, tin and solder into the&nbsp; **ANT** &nbsp;pad.

## uFL Antenna

If you want an external antenna that is a few inches away from the radio, you'll want a uFL antenna. The radio bonnets have a uFL connector soldered on already -&nbsp;[you'll also need a uFL to SMA adapter](https://www.adafruit.com/products/851)&nbsp;(or whatever adapter you need for the antenna you'll be using, SMA is the most common

Of course, you will also need an antenna of some sort, that matches your radio frequency. We have an antenna kit available which works well with the Radio Bonnet:&nbsp;

Warning: 

## SMA Edge-Mount Antenna

These strong edge connectors are used for many 'duck' antennas, and can also be panel mounted

You'll need an SMA (or, if you need RP-SMA for some reason) Edge-Mount connector with 1.6mm spacing

The SMA connector 'slides on' the top of the PCB

![adafruit_products_feather_2-SMA_onPCB.jpg](https://cdn-learn.adafruit.com/assets/assets/000/069/798/medium640/adafruit_products_feather_2-SMA_onPCB.jpg?1548269706)

You'll need an SMA (or, if you need RP-SMA for some reason) Edge-Mount connector with 1.6mm spacing

The SMA connector 'slides on' the top of the PCB

![adafruit_products_feather_3-SMA_solder2.jpg](https://cdn-learn.adafruit.com/assets/assets/000/069/799/medium640/adafruit_products_feather_3-SMA_solder2.jpg?1548269735)

![adafruit_products_feather_4-SMA_solder1.jpg](https://cdn-learn.adafruit.com/assets/assets/000/069/801/medium640/adafruit_products_feather_4-SMA_solder1.jpg?1548269767)

![adafruit_products_feather_3-SMA_solder1.jpg](https://cdn-learn.adafruit.com/assets/assets/000/069/802/medium640/adafruit_products_feather_3-SMA_solder1.jpg?1548269799)

Use plenty of solder to make sure you have a good strong mechanical connection. The duck antennas are long and make great levers, so they could pry apart the solder joints if not soldered well

![adafruit_products_feather_5-SMA_finished.jpg](https://cdn-learn.adafruit.com/assets/assets/000/069/803/medium640/adafruit_products_feather_5-SMA_finished.jpg?1548269812)

# Adafruit Radio Bonnets with OLED Display - RFM69 or RFM9X

## RFM69 Raspberry Pi Setup

This guide assumes that you've gotten your Raspberry Pi up and running, and have CircuitPython installed.

- [If you have not done this yet, visit the installation guide **here** and come back when you're set up.](https://learn.adafruit.com/circuitpython-on-raspberrypi-linux/installing-circuitpython-on-raspberry-pi)

## Installing CircuitPython Libraries

We're running CircuitPython on the Raspberry Pi, installing the libraries for radio communication is simple.

To **install the library for the display** , **enter the following into the terminal:**

**`pip3 install adafruit-circuitpython-ssd1306`**

You'll also need to **install the framebuf module** in order to write to the display.&nbsp;

`sudo pip3 install adafruit-circuitpython-framebuf`

To install the library for the **RFM69HCW** Module, **enter the following into the terminal:**

**`sudo pip3 install adafruit-circuitpython-rfm69`**

### RFM69 Connection Test!
Warning: 

The following code is for checking if the RFM69 radio is set up for transmitting and receiving. **Save the code on your Pi** as **`rfm69_check.py`**.

https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/pi_radio/rfm69_check.py

To use the code, enter the following in your terminal:

`python3 rfm69_check.py`

You'll also want to download the font file, **`font5x8.bin`,** and copy it&nbsp;into the same directory as the script:

[font5x8.bin](https://github.com/adafruit/Adafruit_CircuitPython_framebuf/blob/master/examples/font5x8.bin)
If you want to download this file to your Raspberry Pi via the command line, enter the following `wget` command into your terminal:

```auto
wget -O font5x8.bin https://github.com/adafruit/Adafruit_CircuitPython_framebuf/blob/main/examples/font5x8.bin?raw=true
```

Now to check the setup:

The radio should display that a RFM69 module is detected. Pressing each of the buttons should display different text on the screen.

If it can't detect a RFM69 module, the screen will display&nbsp;`RFM69: ERROR`

![](https://cdn-learn.adafruit.com/assets/assets/000/069/795/medium800thumb/adafruit_products_ezgif.com-video-to-gif.jpg?1548269034)

With everything working, let's move on to using the radio.

# Adafruit Radio Bonnets with OLED Display - RFM69 or RFM9X

## Sending Data with the RFM69

Warning: 

To demonstrate how the RFM69 module sends packets, we'll build an example where one radio transmits (the Pi) and the other radio connected to a Feather receives the incoming transmission.&nbsp;

## RFM69 and CircuitPython

It's easy to use the RFM69HCW radio with CircuitPython and the&nbsp;[Adafruit CircuitPython RFM69](https://github.com/adafruit/Adafruit_CircuitPython_RFM69)&nbsp;library.&nbsp; This library allows you to easily write Python code that sends and receives packets of data with the radio.

Be careful to note **&nbsp;this code is for the RFM69 radio only** &nbsp;and&nbsp; **will not&nbsp;work with the RFM9X LoRa radios!**

You'll also need another radio with a RFM69HCW Module to run the example below. Make sure you have two of the **same type of radio** (i.e: RFM69HCW) **and the same frequency** (i.e: 915MHz).

## CircuitPython Transmitter/Receiver Example

Below is an example of using the RFM69HCW to transmit, or receive from, another RFM69HCW radio. Save this as&nbsp; **radio\_rfm69.py** &nbsp;on your Raspberry Pi.&nbsp;

https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/pi_radio/radio_rfm69.py

To run the example, **enter the following into the terminal** :

**`python3 radio_rfm69.py`**

You'll also want to download the font file, **`font5x8.bin`,** and copy it&nbsp;into the same directory as the script:

[font5x8.bin](https://github.com/adafruit/Adafruit_CircuitPython_framebuf/blob/master/examples/font5x8.bin)
Both of the radios will listen for a new incoming packet. When they receive a new packet, they'll print the text from the packet to the display and to the terminal.

Press any of the three buttons to send data between radios. Pressing button a will send a packet with data 'Button A!' to the other radio, and so on!

To send a packet using the Pi, **press Button A**. You should see the text change to _Sent Packet!_

![](https://cdn-learn.adafruit.com/assets/assets/000/069/796/medium800thumb/adafruit_products_ezgif.com-video-to-gif_%281%29.jpg?1548269271)

# Adafruit Radio Bonnets with OLED Display - RFM69 or RFM9X

## LoRa Raspberry Pi Setup

This guide assumes that you've gotten your Raspberry Pi up and running, have CircuitPython installed, and are using a virtual environment.&nbsp;

If you have not done this, please follow the steps in this guide below,

- [https://learn.adafruit.com/circuitpython-on-raspberrypi-linux/installing-circuitpython-on-raspberry-pi](https://learn.adafruit.com/circuitpython-on-raspberrypi-linux/installing-circuitpython-on-raspberry-pi)

## Installing CircuitPython Libraries

We're running CircuitPython on the Raspberry Pi, installing the libraries for radio communication is simple.

If you on Raspberry Pi OS Bookworm or newer, please start by configuring a virtual environment (VENV). If you do not know how to do this, follow this link:&nbsp;[https://learn.adafruit.com/python-virtual-environment-usage-on-raspberry-pi/basic-venv-usage](https://learn.adafruit.com/python-virtual-environment-usage-on-raspberry-pi/basic-venv-usage)

Once the virtualenv is set up, to&nbsp; **install the library for the display** , **enter the following into the terminal:**

**`sudo pip3 install adafruit-circuitpython-ssd1306`**

You'll also need to **install the framebuf module** in order to write to the display.&nbsp;

`sudo pip3 install adafruit-circuitpython-framebuf`

To install the library for the **RFM9x** Module, **enter the following into the terminal:**

**`sudo pip3 install adafruit-circuitpython-rfm9x`**

You'll also want to download the font file, **`font5x8.bin`,** and copy it into the same directory as the script

` wget https://github.com/adafruit/Adafruit_CircuitPython_framebuf/raw/main/examples/font5x8.bin`

[Click to download font5x8.bin](https://github.com/adafruit/Adafruit_CircuitPython_framebuf/blob/master/examples/font5x8.bin)
Make sure the font file is 1282 bytes long, if not something went wrong with the download

![](https://cdn-learn.adafruit.com/assets/assets/000/096/258/medium800/raspberry_pi_image.png?1603405641)

### RFM9x Connection Test!
Warning: 

The following code is for checking if the RFM9x radio is set up for transmitting and receiving. **Save the code on your Pi** (save this to a location you can remember, like your Desktop or Downloads folder)&nbsp;as **`rfm9x_check.py`**.

https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/pi_radio/rfm9x_check.py

To use the code, copy and paste the following command into your terminal:

`python3 rfm9x_check.py`

Now to check the setup:

If the RFM9x/RFM69 is **detected** , the OLED will display **Detected**. You can test&nbsp; the buttons by pressing them.

![raspberry_pi_bonnet_test.gif](https://cdn-learn.adafruit.com/assets/assets/000/069/466/medium640thumb/raspberry_pi_bonnet_test.jpg?1547664932)

 **If the wiring of the radio module is incorrect** &nbsp;-&nbsp;the display will show&nbsp; **ERROR**. Check over your wiring on the Wiring Page and re-run the test. You may also need to ensure the correct CircuitPython library is installed for the module.&nbsp;

&nbsp;

**If the OLED does not turn on** &nbsp;-&nbsp;first check that it is wired correctly. Then, make sure you enabled I2C from&nbsp;`raspi-config`&nbsp;and installed the required libraries (`adafruit-circuitpython-framebuf`_and_&nbsp;`adafruit-circuitpython-ssd1306`).

![pi_a___b___2__3_IMG_0773.jpg](https://cdn-learn.adafruit.com/assets/assets/000/068/581/medium640/pi_a___b___2__3_IMG_0773.jpg?1546449242)

With everything working, let's move on to using the radio.

Warning: If you are using a Pi 5 and receive a "lgpio.error: 'GPIO busy" error try the following.

## Pi 5 GPIO busy&nbsp;

disable one-wire:

&nbsp;

```terminal
sudo raspi-config nonint do_onewire 1
```

disable CE0 / CE1:

```terminal
curl -fsSL https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/main/raspi-spi-reassign.py -o raspi-spi-reassign.py
sudo -E env PATH=$PATH python3 raspi-spi-reassign.py --ce0=disabled --ce1=disabled
```

# Adafruit Radio Bonnets with OLED Display - RFM69 or RFM9X

## Sending Data with LoRa

Warning: 

![](https://cdn-learn.adafruit.com/assets/assets/000/068/479/medium800/pi_a___b___2__3_Lora_logo.png?1546282915 LoRa Logo via lora-alliance.org)

The RFM9x is a more expensive module than the RFM69, but it has a trick - _LoRa_. LoRa is a spread spectrum modulation technique patented by [Semtech](https://www.semtech.com/). It allows your packets to be sent over farther distances (a few km in a city like New York and around 40km in a rural area).

It's also a low power protocol with batteries lasting in the year range, instead of a few days with WiFi. This is made possible by only powering up the LoRa radio when packets are being sent, instead of keeping the radio always-on (like the WiFi radio on your cell phone).

When building a project which uses LoRa, keep in mind that only a few hundred bytes per-transmission can be sent, and that each transmission will cause the battery life to decrease.

If a LoRa project involves a lot of sensors, expect to cram a lot of data into a small packet which is transmitted infrequently.

## RFM9x and CircuitPython

It's easy to use the RFM9x LoRa radio with CircuitPython and the&nbsp;[Adafruit CircuitPython RFM9x](https://github.com/adafruit/Adafruit_CircuitPython_RFM9x)&nbsp;module.&nbsp; This module allows you to easily write Python code that sends and receives packets of data with the radio. &nbsp;

Be careful to note **this library is for the RFM9x&nbsp;(RFM95/96/97/98) Radio**&nbsp;_ **only** _ and&nbsp; **will not** &nbsp; **work** with the RFM69.

To demonstrate how the RFM9x LoRa module sends packets, we'll build an example where we send and receive data between two radios.

## CircuitPython Transmitter/Receiver Example
Below is an example of using the RFM9x to transmit, or receive from, another RFM9x radio. Save this as&nbsp; **radio\_rfm9x.py** &nbsp;on your Raspberry Pi.&nbsp;

https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/pi_radio/radio_rfm9x.py

You'll also want to download the font file, **`font5x8.bin`,** and copy it&nbsp;into the same directory as the script:

[font5x8.bin](https://github.com/adafruit/Adafruit_CircuitPython_framebuf/blob/master/examples/font5x8.bin)
To run the example, **enter the following into the terminal** :

**`python3 radio_rfm9x.py`**

Both of the radios will listen for a new incoming packet. When they receive a new packet, they'll print the text from the packet to the display (and to the terminal).

Press any of the three buttons to send data between radios. Pressing button a will send a packet with data 'Button A!' to the other radio, and so on!

![](https://cdn-learn.adafruit.com/assets/assets/000/069/604/medium800thumb/raspberry_pi_rx_tx_oo.jpg?1547825778)

# Adafruit Radio Bonnets with OLED Display - RFM69 or RFM9X

## LoRaWAN Node Guide

# Adafruit Radio Bonnets with OLED Display - RFM69 or RFM9X

## LoRaWAN Pi Gateway Guide

# Adafruit Radio Bonnets with OLED Display - RFM69 or RFM9X

## Downloads

# Files

**RFM9x**

- [SX127x Datasheet](https://cdn-shop.adafruit.com/product-files/3179/sx1276_77_78_79.pdf)- The RFM9X LoRa radio chip itself
- [RFM9X](https://www.hoperf.com/data/upload/portal/20190801/RFM96W-V2.0.pdf) - The radio module, which contains the SX1272 chipset
- [FCC Test Report](https://cdn-shop.adafruit.com/product-files/3078/LoRa_RFM95-915S2%2813dBm%29_FCC.pdf)
- [ETSI Test Report](https://cdn-shop.adafruit.com/product-files/3078/etsireport_RFM95-868S2%2811dBm%29.pdf)
- [RoHS Report](https://cdn-shop.adafruit.com/product-files/3078/rohs_CAN14-015141-02_EC_15137200_F.PDF)

**RFM69**

- [SX1231 Datasheet](https://cdn-shop.adafruit.com/product-files/3076/sx1231.pdf) - The RFM69 radio chip itself
- [RFM69HCW datasheet](https://cdn-shop.adafruit.com/product-files/3076/RFM69HCW-V1.1.pdf)[- contains the SX1231 datasheet plus details about the module](https://cdn-learn.adafruit.com/assets/assets/000/031/659/original/RFM95_96_97_98W.pdf?1460518717)
- [RoHS Test Report](https://cdn-shop.adafruit.com/product-files/3076/CAN14-015141-02_EC_15137200_F.PDF)
- [RoHS Test Report](https://cdn-shop.adafruit.com/product-files/3076/CAN15-031854-04_EC_15983075_F.PDF)
- [REACH Test Report](https://cdn-shop.adafruit.com/product-files/3076/CAN15-031854-07_EC_15983075_F.PDF)
- [ETSI Test Report](https://cdn-shop.adafruit.com/product-files/3076/RFM69HCW-868S2-ETSI.pdf)
- [FCC Test Report](https://cdn-shop.adafruit.com/product-files/3070/p3070p3076_RFM69HCW-915S2-FCC.pdf)

**Radio Bonnet**

- [Schematic and board files on GitHub](https://github.com/adafruit/Adafruit-Radio-Bonnet-PCB) (Pinouts and layout are the same for all four radio versions)

# Fab Print

(Pinouts and layout are the same for all four radio versions)

![](https://cdn-learn.adafruit.com/assets/assets/000/069/653/medium800/adafruit_products_Adafruit_LoRa_Radio_Bonnet_Fab_Print.png?1547848919)

# Schematic

(Pinouts and layout are the same for all four radio versions)

![](https://cdn-learn.adafruit.com/assets/assets/000/069/654/medium800/adafruit_products_Adafruit_LoRa_Radio_Bonnet_Sch.png?1547848929)


## Primary Products

### Adafruit LoRa Radio Bonnet with OLED - RFM95W @ 915MHz

[Adafruit LoRa Radio Bonnet with OLED - RFM95W @ 915MHz](https://www.adafruit.com/product/4074)
The latest Raspberry Pi computers come with WiFi and Bluetooth®, and now you can add even more radio options with the Adafruit Radio Bonnets! Upgrade your Raspberry Pi with a LoRa/LoRaWAN radio so it can communicate over very long distances. These bonnets plug right into your Pi and give...

In Stock
[Buy Now](https://www.adafruit.com/product/4074)
[Related Guides to the Product](https://learn.adafruit.com/products/4074/guides)

## Featured Products

### Adafruit LoRa Radio Bonnet RFM96W @ 433MHz

[Adafruit LoRa Radio Bonnet RFM96W @ 433MHz](https://www.adafruit.com/product/4075)
The latest Raspberry Pi computers come with WiFi and Bluetooth, and now you can add even more radio options with the Adafruit Radio Bonnets! Upgrade your Raspberry Pi with a LoRa / LoRaWAN radio, so it can communicate over very long distances. These bonnets plug right into your Pi and give you...

No Longer Stocked
[Buy Now](https://www.adafruit.com/product/4075)
[Related Guides to the Product](https://learn.adafruit.com/products/4075/guides)
### Adafruit RFM69HCW Transceiver Radio Bonnet - 868 or 915 MHz

[Adafruit RFM69HCW Transceiver Radio Bonnet - 868 or 915 MHz](https://www.adafruit.com/product/4072)
The latest Raspberry Pi computers come with WiFi and Bluetooth®, and now you can add even more radio options with the Adafruit Radio Bonnets! Upgrade your Raspberry Pi with a sub-GHz radio transceiver, so it can communicate over long distances. These bonnets plug right into your Pi and...

Out of Stock
[Buy Now](https://www.adafruit.com/product/4072)
[Related Guides to the Product](https://learn.adafruit.com/products/4072/guides)
### Adafruit RFM69HCW Transceiver Radio Bonnet - 433 MHz

[Adafruit RFM69HCW Transceiver Radio Bonnet - 433 MHz](https://www.adafruit.com/product/4073)
The latest Raspberry Pi computers come with WiFi and Bluetooth, and now you can add even more radio options with the Adafruit Radio Bonnets! Upgrade your Raspberry Pi with a sub-GHz radio transceiver, so it can communicate over long distances. These bonnets plug right into your Pi and give you...

No Longer Stocked
[Buy Now](https://www.adafruit.com/product/4073)
[Related Guides to the Product](https://learn.adafruit.com/products/4073/guides)
### Adafruit Radio Bonnets with OLED - RFM69 or LoRa

[Adafruit Radio Bonnets with OLED - RFM69 or LoRa](https://www.adafruit.com/product/4087)
The latest Raspberry Pi computers come with WiFi and Bluetooth®, and now you can add even more radio options with the Adafruit Radio Bonnets! Upgrade your Raspberry Pi with an RFM69 or LoRa / LoRaWAN radio, so it can communicate over very long distances. These bonnets plug right into your...

Out of Stock
[Buy Now](https://www.adafruit.com/product/4087)
[Related Guides to the Product](https://learn.adafruit.com/products/4087/guides)
### SMA to uFL/u.FL/IPX/IPEX RF Adapter Cable

[SMA to uFL/u.FL/IPX/IPEX RF Adapter Cable](https://www.adafruit.com/product/851)
This RF adapter cable is super handy for anyone doing RF work. Often times, small electronics save space by having a pick-and-placeable u.FL connector (also called uFL, IPEX, IPAX, IPX, MHF, and AM). But most antennas have SMA or RP-SMA connectors on them. This little cable will bridge the...

In Stock
[Buy Now](https://www.adafruit.com/product/851)
[Related Guides to the Product](https://learn.adafruit.com/products/851/guides)

## Related Guides

- [LoRa and LoRaWAN Radio for Raspberry Pi](https://learn.adafruit.com/lora-and-lorawan-radio-for-raspberry-pi.md)
- [Feather + Raspberry Pi Weather Monitoring Network with LoRa or LoRaWAN](https://learn.adafruit.com/multi-device-lora-temperature-network.md)
- [Single Channel LoRaWAN Gateway for Raspberry Pi](https://learn.adafruit.com/raspberry-pi-single-channel-lorawan-gateway.md)
- [Automatic Naughty Cat Detector using Lobe](https://learn.adafruit.com/naughty-cat-detector-using-microsoft-lobe.md)
- [Adafruit SCD-40 and SCD-41](https://learn.adafruit.com/adafruit-scd-40-and-scd-41.md)
- [Using the Slamtec RPLIDAR on a Raspberry Pi](https://learn.adafruit.com/slamtec-rplidar-on-pi.md)
- [Dancing Inflatables: Make your Holiday Display Move](https://learn.adafruit.com/dancing-inflatables-make-your-holiday-display-move.md)
- [Adafruit Monochrome 1.12" 128x128 OLED Graphic Display](https://learn.adafruit.com/adafruit-monochrome-1-12-in-128x128-oled.md)
- [Adafruit AS7343 14-Channel Light / Color Sensor Breakout](https://learn.adafruit.com/adafruit-as7343-14-channel-light-color-sensor-breakout.md)
- [NES Emulator for Arcada](https://learn.adafruit.com/nes-emulator-for-arcada.md)
- [Adafruit Wii Nunchuck Breakout Adapter](https://learn.adafruit.com/adafruit-wii-nunchuck-breakout-adapter.md)
- [Adafruit MPR121 12-Key Capacitive Touch Sensor Gator Breakout](https://learn.adafruit.com/adafruit-mpr121-gator.md)
- [Adafruit QT Py ESP32-C3 WiFi Dev Board](https://learn.adafruit.com/adafruit-qt-py-esp32-c3-wifi-dev-board.md)
- [MASLOW: an Open WiFi Detector with Adafruit Pro Trinket and CC3000](https://learn.adafruit.com/wifi-hotspot-finder-adafruit-pro-trinket-cc3000.md)
- [Adafruit Qualia High Res Displayport Desktop Monitor](https://learn.adafruit.com/qualia-high-res-displayport-desktop-monitor.md)
