Arduino APRS [AVR]

Automatic Packet Reporting System (APRS) is an amateur radio-based system for real time tactical digital communications of information of immediate value in the local area.

In its most widely used form, APRS is transported over the AX.25 protocol using 1200 baud Bell 202 audio frequency-shift keying (AFSK) on frequencies located within the amateur 2-meter band.

The messages are usually relayed via radio to internet connected stations that send the data to the APRS-IS network.

The purpose of this project is to implement an APRS tracker using an Arduino 2009.

This device can be used to periodically send a message through a radio AFSK channel and log the received messages to a serial port (UART).

Hardware Requirements

  • 1 Arduino Duemilanove board
  • 1 Ham VHF Radio
  • a few common electronic components

Software Requirements

BeRTOS components used for this project:

  • Device drivers: UART
  • AFSK module
  • AX25 protocol

Implementation

The hardware schematic is reported below:

bertos aprs schematic

From the software's point of view, BeRTOS already provides all the required drivers and libraries to decode and encode the AFSK communications as well as loggin messsages to the Arduino UART port.

The application uses a single process to poll for incoming messages on the AFSK channel, decode, and log them to the UART. Finally, it periodically sends out a message via radio back to the AFSK channel.

Download BeRTOS SDK!

  • With BeRTOS SDK you can generate and edit directly a sample project and setup your work environment in a few click! Download it now!