# lora_aprs_node_pico
A simple LoRa APRS module which can be used as a remote data logger and/or remote I/O controller. See my website for more information: [https://www.meezenest.nl/mees-elektronica/RPi-pico-LoRa-APRS.html](https://www.meezenest.nl/mees-elektronica/RPi-pico-LoRa-APRS.html). It is an evolution of another project of mine: [https://www.meezenest.nl/mees-elektronica/aprs_telemetry.html](https://www.meezenest.nl/mees-elektronica/aprs_telemetry.html)

This program is written for the RP2040 C++ SDK.

## Supported Hardware
 * RP2040 boards
    * Raspberry Pi Pico
 * Semtech SX1276/77/78/79 based LoRa boards

### Default Pinout

| Raspberry Pi Pico | Semtech SX1278 |
| ----------------- | -------------- |
| 3.3V | VCC |
| GND | GND |
| GPIO 18 | SCK |
| GPIO 19 | MOSI |
| GPIO 16 | MISO |
| GPIO 7 | DIO0 / G0 |
| GPIO 8 | NSS / CS |
| GPIO 9 | RESET |
| GPIO 10 | DIO1 / G1 |

Default pinout can be overrided with the setPins() function

## Installation

1. Download this repo
2. Set `PICO_SDK_PATH` to included pico-sdk
```sh
export PICO_SDK_PATH="path to pico-sdk"
```
3. Create `build` directory then run `cmake` and `make`:
```sh
mkdir build
cd build
cmake ..
make
```
## Notes
I added the pico-sdk to prevent compatibility issues. Probably not a recommended practice, but there you go!

## References
This project is based on the works of [akshayabali](https://github.com/akshayabali/LoRa-RP2040) which is based on the LoRa Library for Arduino:[sandeepmistry/arduino-LoRa](https://github.com/sandeepmistry/arduino-LoRa)
