Chengdu Ebyte produces a line of LoRa radio modules for a variety of frequency ranges, power levels and interface types (SPI, UART etc).
I bought some E32-433T30D modules from AliExpress for use on the 70cm amateur band. These modules feature a Semtech SX1278 modem IC, an STM8L151G6 microcontroller and a 1W (30dBm) power amplifier.
The stock firmware uses a proprietary command set and over the air frame structure, but GitHub user isavitsky has written replacement firmware for these modules that allows them to behave as an amateur KISS TNC, meaning you can use them with the wealth of existing software developed for amateur packet radio and APRS over the last 30 odd years.
You can see his firmware in action here
I built a handful of carrier boards for these modules to suit the 40-pin Raspberry Pi Hat form factor.
Nothing fancy here; TXD and RXD on the module are connected to the Pi's UART pins. M0, the configuration pin is connected to +3.3V via a 3.3K pullup resistor, with a jumper to ground to bring up the module's configuration menu. The AUX line (flow control) is left unconnected, and M1 (flow control polarity selection) is tied to ground.
The module has 3.3V logic, but it's powered by 5V due to the high powered RF amplifier. The module won't work if either digital input pins (M0, M1) are left floating.
An assembled board is shown below. The case is a HighPi clear case, available from Core Electronics and other vendors. This case features convenient snap-off sections located in just the right spot for the radio module.