Features
Software:
- User definable settings
- See table below.
- Single knob menu!
- Autostart
- Time to transmit countdown
- Full color display
- Easy to use menu and user / data editor
- Display can be turned off to save power.
- Display turns on for menus.
- SmartBeaconingTM ( HamHUD.net )
- Or preset, user editable, time between transmissions
- User selectable symbol including: House, Car, Motorcycle, Van, Truck, Bike, Balloon, Sailboat, Powerboat and School. More can be added to the code.
- Radio audio monitor:
- The Tracker can be connected to the radio’s audio output (speaker, packet connector etc.) and it will monitor the audio level and only transmit when no signal is detected. This functions in connection with you radio’s squelch that must be set correctly. There is a 5 second time out that overrides this feature. A setting of 0 (zero) will disable this feature… the radio will transmit without checking the radio’s audio.
- # of satellites
- V+ monitor
Overall:
- Universal radio I/O using Cat 5 cable.
- Fully isolated from the transceiver
Sketches:
3 independent sketches (programs) were written for this project:
- APRS GPS Receiver: This is a receive only sketch similar to the picture on top of Phase 2. (GitHub Link)
- APRS Tracker V 1.x: Basic tracker with no menu. All parameters; call, UTC offset etc. are hard coded. (GitHub Link)
- APRS Tracker V 2.x: V 1.x with a menu system for changing user parameters without recoding. (GitHub Link)
- Requires W2DEN+APRS_Tracker_2_EEPROM_Initiator to load the eePROM before first run.
Background:
This layout (phase 1, 2 etc.) is not exactly the order in which things were developed but separating out the software helps keep things compartmentalized, and easy to find.
First: you can find the latest build on my Github site https://github.com/W2DEN
With this project here: https://github.com/W2DEN/W2DEN_APRS_Tracker
Don’t worry about GitHub, hopefully I will create a quickie primer on how to utilize it. For now download the ZIP file, lower right corner of the GitHub site and extract it into a folder named W2DEN_APRS_Tracker. It should then show up as a sketch in your Arduino IDE.
The HUGE box and the tape, will be replaced in the near future. 😕 There will be a post on construction when I receive the new box.
Main Screen ( Fig 1 ):
This will appear once the program has loaded and a stable fix has been established.
Updates every second. The Tracker will only transmit while this page is present.
Date |
MM:SS |
Date: corrected by UTC Offset |
Count down until xmit |
Time |
MM:SS |
Time: corrected by UTC Offset |
Time between xmissionsSmartBeacon or constant |
Latitude | Degrees Decimal Minutes N o rS | ||
Longitude | Degrees Decimal Minutes E or W | ||
Miles Per Hour | MPH. what else you need to know? | ||
Heading | Heading, if moving | ||
# of Sats | V+ check |
# of birds heard | Warns below ~3.3v |
Main Menu ( Fig 2 ) :
Push the button and you are graciously escorted to the Main Menu
Rotate the button to highlight an option
Push the button to go there
- Return: back to the main screen
- Send/Return: send a packet then return to main screen
- User editable paramater Sub-Menus:
- Packet: call signs, SSID etc.
- AX.25: transmit delay, PTT/VOX etc.
- SmartBeacon: Speed, rates, times
- Display: On / Off ( not shown in Fig. 1 )
Packet Menu ( Fig 3 ) :
Highlight Packet on the Main menu and push the button and you are delivered to the Packet menu.
Displayed are data you can edit and the current value. The data is stored in eePROM so is restored when the Tracker is turned on.
Of course this works the same way. rotate the dial to highlight and click to select.
- Return: back to the Main Screen
- UTC: offset to correct the GPS UTC time and date. This is only for the display. No DST correction.
- Delay: time between transmissions if the SmartBeaconing is disabled. Time to first SB transmission.
- W2DEN1: Your location call sign
- SSID: Your location SSID
- APRS1: Destination call sign
- SSID: Destination SSID usually zero (0)
- Car1: The symbol for your location Car, House etc.
- Comment: 35 character comment transmitted with your packets.
Notes:
- Your Tracker will show what you have set.
AX.25 Menu ( Fig 4 ) :
This menu allows the setting of a number of parameters associated with the AX.25 protocol.
- Xmit Dly: milliseconds between PTT and the packet flag transmission
- # of Flags: The number of start byte flags (0x7e) (01111110) sent at the beginning of an AX.25 frame.
- VOX on: milliseconds to transmit the VOX tone to ‘key’ a VOX radio. 0 (zero) for off.
- VOX off: milliseconds between VOX tone and first AX.25 flag.
- PTT Pin: Hardware pin on the Teensy used for PTT. Fro VOX set to 0 (zero).
- Squelch: (not shown in Fig. 4) 0 to 1000. o (zero) disables the feature. The tracker will only transmit when the audio is below this level. You must set the radio’s squelch so APRS packets break the squelch. If the audio is not below this level the tracker will transmit after 5 seconds. Levels between 50 and 100 seem to work with most radios that were tested.
Smart Beacon Menu ( Fig 5 ) :
The W2DEN APRS Tracker Smart Beacon feature is based on HamHUD’s SmartBeacon® ( Link ).
This menu allowss for full user control of all of the Smart Beacon parameters.
- Enabled: Enabled turns the Smart Beaconing on. Disabled and the Tracker will transmit via the ‘ Delay’ setting in the packet menu.
- fSpd: Fast Speed (MPH). At or above this speed and the tracker transmits at the fRate.
- fRate: Fast Rate (seconds). Time between transmission when the Tracker is traveling at or above the fSpd.
- sSpd: Slow Speed (MPH). At or below this speed and the Tracker transmits at the sRate.
- sRate: Slow Rate (seconds). Time between transmissions when the Tracker is traveling at or below the sSpd. NOTE: When sSpd is active the current sRate will double after ever transmission until sRate is equal to or above the sRate then transmissions will be sent at the sRate.
- tTime: Turn Time (seconds). The minimum time between transmissions due to a turn.
- tAgle: Turn Angle (degrees). The minimum angle that will cause a turn transmission.
- Slope: A calculated value based on speed, turn time and turn angle to compensate for speed.
turn_threshold = tAgle + Slope / mph;
IF (heading_change_since_beacon > turn_threshold) AND
(secs_since_beacon> tTime)
A good write up on how this all works can be found here: http://wisconsinaprs.net/Smart%20Beaconing.htm
There are a number of editors in the W2DEN Tracker menu that allow the above parameters to be edited. The following will describe how to edit these parameters.
Numeric / Symbol Editor ( Fig 6 ) :
The numeric parameters can be changed using the numeric editor. These include: UTC, Delay, both SSIDs, All AX.25 and Smart Beaconing parameters.
The APRS symbols; car, house etc. are also edited in the same manor a a number.
All numeric parameters have minimums and maximums set in the code.
- Title:(UTC Offset) the top of the display will indicate which parameter you are editing
- Now: Displays the current value
- New: Displays the new value that will be stored.
- Rotate the control knob to select the new value you want for the current parameter.
- Push the control knob to accept the new value.
- If the New = Now the value will not be changed.
The lower portion of the display will give you some additional information about the parameter.
Alpha Field Editor ( Fig 7, 8, 9 & 10 ) :
The Alpha Field Editor allows compete editing of the Call fields (my call and Destination call) as well as the Comment field. Originally the call editor was different from the comment editor but the two have now been combined into a single, easy to use Alpha Field Editor.
Explanation:
- The display is in Landscape mode to handle the 35 comment characters.
- The title ‘Comment’, ‘My Call’, ‘Dest. Call’ is on top.
- Now: the current field contents.
- Note: For the ‘Now:’ comment filed the last ( 35th) character is cut off so this all fits on the display
- New: the new field with one character highlighted in white on blue.
- To edit:
- Rotate the control knob to highlight the letter to edit.
- Push the control knob to select the letter. The letter will turn to yellow on blue.
- Now rotate the knob to the desired new character.
- Push the knob to change to the new letter.
- repeat as needed.
- To save the new field contents:
- Rotating the control knob past the end of the ‘New:’ field will display the ‘Exit’ choices:
- Continue
- Exit
- Exit / Save.
- Click to choose the one you want.
- Rotating the control knob past the end of the ‘New:’ field will display the ‘Exit’ choices:
This new improved scheme for single control editing is far easier than the prior Call Editor.
—
User Defined Data:
Many published DIY APRS Trackers depend on hard coded constants to handle information such as UTC offset, Call, symbols etc. The W2DEN APRS Tracker 2 will store this data in EEPROM that is user editable via the menu system.
Note this uses the EEPROMex.h library
Here are definitions of these data:
Data | Byte | Type | Notes | |
Start | Length | |||
check | 0 | 1 | char | * if data is present |
UTC Offset | 1 | 1 | int8_t | Integer hours -12…14 (minutes to be added in the future) |
dTime | 2 | 2 | uint16_t | unit: seconds: Time between transmissions (default) |
source Call | 4 | 6 | String | A…Z, 0…9, / space padded char(32) |
source Call SSID | 10 | 1 | int8_t | 0…15 This is the call ID e.g. for a SSID of 5: W2DEN-5 |
dest. Call | 11 | 6 | String | A…Z, 0…9, / space padded |
dest. SSID | 17 | 1 | int8_t | 0…15 This is the destination call ID |
Symbol Set | 18 | 1 | String | “\” or “/” for primary or secondary |
Symbol1 | 19 | 1 | String | various( – house, > car etc) |
comment | 20 | 34 | String | a…z, A…Z, 0…9, some spec. chars. space padded |
Fast Speed2 | 55 | 2 | uint16_t | Smart Beacon mph 10 … 100 |
Fast Rate | 57 | 2 | uint16_t | Smart Beacon seconds 10 …600 |
Slow Speed | 59 | 2 | uint16_t | Smart Beacon mph 1 … 30 |
Slow Rate | 61 | 2 | uint16_t | Smart Beacon seconds 1000 … 5000 |
Min. Turn Time | 63 | 2 | uint16_t | Smart Beacon seconds 5 …, 30 |
Min. Turn Angle | 65 | 2 | uint16_t | Smart Beacon degrees 5 … 30 |
Turn Slope | 67 | 2 | uint16_t | Smart Beacon 200 … 300 |
axDelay | 69 | 2 | uint16_t | millisecond key down until packet starts |
axFlags | 71 | 2 | uint16_t | integer # of ax.25 preamble flags ( 7e ) to send |
axVoxOn | 73 | 2 | uint16_t | seconds VOX time on. 0 = use PTT |
axVOXSilent | 75 | 2 | uint16_t | seconds VOX silent until first flag |
pttPin | 77 | 2 | uint16_t | Teensy PTT pin # 0 = use VOX (normally = 13) |
tftOnOff | 80 | 1 | int9_t | =1 for display on, =0 for off |
squelch | 81 | 2 | uint16_t | 0 – 1000 with 0 (zero) disabling the squelch feature |
Notes: The user data is now functional.
- The current Symbols are: house, car, motorcycle, balloon, sailboat, power boat, bike, truck, van, school. More can be added via programming as needed.
- SmartBeaconing parameters.
References:
Some useful, for programing purposes, and perhaps interesting, for those who must know what goes on behind the scenes, information.
Some may end up on a separate post… we’ll see how it progresses.
- APRS Protocols
- V1.0 ( http://www.aprs.org/doc/APRS101.PDF )
- Addendum 1.1 ( http://www.aprs.org/aprs11.html )
- Addendum 1.2 ( http://www.aprs.org/aprs12.html )
- APRS Symbol Table:
- Explanation: ( http://www.aprs.org/symbols/symbolsX.txt )
- New Symbol Table: ( http://aprs.org/symbols/symbols-new.txt )
- Features:
- SmartBeaconingTM ( http://www.hamhud.net/hh2/smartbeacon.html )
<< Previous: Testing | Next: Enclosure >> |