Arduino APRS Tracker

An APRS tracker is easy to build these days.

I had decided to build one for portable use (plan is to be used on hiking, but also in my car) powered from Lithium Ion battery and with all components on 3.3V. Transmit of APRS messages is done through a UV-5R.

The tracker is powered from my favorite Panasonic NCR18650 3400mAH through a MCP1700-3302E LDO regulator, plenty of juice for daily use.

GPS is a Adafruit Ultimate GPS Breakout – 66 channel w/10 Hz updates ( not that i need 10 Hz, 1 Hz update is more than enough but i had in stock from a different project, so why not ? (i love it)

Arduino is a Pro Mini 3.3V 8 MHz (actually a clone of Deek-Robot Pro Mini)

Up and running


Bought a Kenwood cable to avoid the mess with the 2.5 and 3.5 mm audio connectors
Added also a TP4056 Lithium Cell Charger Module with Battery Protection to charge it through USB

I have started working with the schematic of MicroModem ( but i have modified LibAPRS

As long as GPS has a FIX it submits my location every two minutes and i have a button for a single shot APRS update.

Now with SmartBeaconing support (check the relevant branch on github)

The idea is to create a complete unit with a DRA818V with USB charging.
DRA818V is still on my desk… i have “trouble” designing a good low pass filter for VHF.

Schematic (breadboard version)

Remember power supply needs to be 3.3V

Arduino APRS tracker schematic (for the breadboard version)

Documentation has not been finalized yet and i use multiple libraries making it a bit difficult to handle everything

I have uploaded my working version to github

Remember to change the APRS_CALLSIGN to your call sign

You will need these libraries
libAPRS (modified)
SimpleTimer is included in the project (delete your version from Arduino/Libraries)


Oh yes !!! We do have also PCB ready credits to aronaut. Thank you !!!

Bill of Materials (breadboard version)

R1 1K
R2 2K2
R3 3K9
R4 8K2
R5 270
R6 10K trimmer
R7 1K
R8 10K
C1 100nF
C2 4.7uF/16V
1x GPS Module
1 x push button
1 x Arduino Pro Mini 3V3 8MHz
Q1 2N2700/BS170

For using without a an external power supply
1 x Panasonic NCR18650 3400mAH (or your favorite 18650)
1 x 18650 socket
1 x MCP1700-3302E

Bill of Materials (PCB version)

Includes the 18650 socket+TP4056

241 Comments on “Arduino APRS Tracker

  1. Billy my ideas for perfect baloon tracker in your project
    Altitiude above sea level in APRS report
    2x BME280 sensors in APRS telemetry
    Battery voltage in APRS telemetry

  2. I try to upload your heavy job to my board but after verification I receive info : “APRS_setSpeed was not declared in this scope”

  3. Tell me please, I put your firmware on the tracker based on Arduino Pro Mini 3.3V 8 MHz and gps module NEO-6M-0-001, the tracker aprs transmits, but for some reason the SmartBeaconing system does not work, something in your firmware needs to be enabled or the GPS module not suitable for work. I put the firmware from here:
    I can not figure out how to make it work, the coordinates are transmitted by the tracker when updating after 2 minutes. And when turning, turning and changing speed, nothing. I will be grateful for your help.

    • Hi,

      I just checked both pictures, there is no conversion in my code , we get the output directly from TinyGPS.
      Could you please be so kind and do a test the test_with_gps_device.ino from the TinyGPS library ?

      73, SV1QFV

  4. Billy
    According Your next aprs nice project … ( not possible to comment there )
    Not better use diferent low pass filter ? – please see – easy to make and prepare. LFCN-160+ very difficult to get ( expensive item + expensive delivery ) – If You have cheap source for it please let know
    Please consider

  5. Hola te consulto cada cuantos minutos emite la posicion o hoy que oprimir el boton para que lo haga, saludos LU7FDV

Leave a Reply

Your email address will not be published. Required fields are marked *