eleccoder 2021-08-01 12:22:37 +02:00
rodzic b504267d34
commit 1edc3d1def
2 zmienionych plików z 14 dodań i 8 usunięć

Wyświetl plik

@ -1,5 +1,7 @@
# raspi-pico-aprs-tnc # raspi-pico-aprs-tnc
A TX-only [TNC](https://en.wikipedia.org/wiki/Terminal_node_controller) (Terminal Network Controller) to generate the AFSK audio tones for [APRS](https://en.wikipedia.org/wiki/Automatic_Packet_Reporting_System) (Automatic Packet Reporting System) messages using a Raspberry Pi Pico microcontroller board. A TX-only [TNC](https://en.wikipedia.org/wiki/Terminal_node_controller) (Terminal Network Controller) to generate the [AFSK](https://en.wikipedia.org/wiki/Frequency-shift_keying#Audio_FSK) audio tones for [APRS](https://en.wikipedia.org/wiki/Automatic_Packet_Reporting_System) (Automatic Packet Reporting System) messages using a [Raspberry Pi Pico](https://en.wikipedia.org/wiki/Raspberry_Pi) microcontroller board.
An analog line-out audio signal will be produced at GPIO-pin 'GP0'. You can observe it by using a scope, listen to it by using an audio amp, or connect it to any RF transceiver to send it on the air (ham radio license required).
Basically, this is the data/signal flow: Basically, this is the data/signal flow:
@ -14,23 +16,27 @@ If you have already installed the Pico-SDK, set the `PICO_SDK_PATH` environment
## Hardware ## Hardware
We just need a simple low-pass filter to extract the AFSK-signal from the PWM signal. Just connect GPIO-pin 'GP0' to a 1k resistor and the latter to a 47 nF cap. We just need a simple band-pass filter to extract the AFSK-signal from the PWM signal:
The junction between the resistor and the cap is our signal output.
![band-pass](https://github.com/eleccoder/raspi-pico-aprs-tnc/doc/schematic/band_pass_filter.png)
## Build the application ## Build the application
``` ```
(cd into the clone dir) (cd into the cloned dir)
cmake -S . -B build cmake -S . -B build
cmake --build build cmake --build build
``` ```
## Run the application ## Run the application
``` ```
cd build cd build
(copy any of the flash files 'aprs_pico.uf2' or 'aprs_pico.elf' to the Pico board) (flash 'aprs_pico.uf2' or 'aprs_pico.elf' to the Pico board as usual)
``` ```
The GPIO-pin 'GP0' is the line-out for the analog AFSK-signal. You can observe it by using a scope, listen to it by using an audio amp, or connect it to an HT to bring it on the air (ham radio license required). The GPIO-pin 'GP0' is the line-out for the analog AFSK-signal. You can observe it by using a scope, listen to it by using an audio amp, or connect it to any RF transceiver to send it on the air (ham radio license required).
## Modify the application ## Modify the application
@ -38,9 +44,9 @@ To send an APRS message of your choice, you have to modify the *main()* function
## TODO (Aug 2021) ## TODO (Aug 2021)
- [x] Thorough evaluation
- [x] Send the APRS message on the console (USB or UART) rather than hard-coding - [x] Send the APRS message on the console (USB or UART) rather than hard-coding
- [x] Code documentation - [x] Code documentation
- [x] Show how to connect to a Baofeng HT - [x] Show how to connect to a Baofeng HT
- [x] PTT control for HTs - [x] PTT control for HTs
- [x] Scope screenshots
- [x] Schematic & Fritzings

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 13 KiB