N7WDZ

← All projects

LoRa APRS Tracker

N7WDZ-21: a battery-powered LoRa APRS tracker in a waterproof case, with a plug-in solar panel for longer trips

Yellow waterproof case with a short antenna, held by magnets on a silver car roof, with a small solar panel plugged into its side
Ready to roll: the tracker and its solar panel held on the car roof by magnets

APRS trackers send their GPS position over the radio every so often, so their travels show up on maps like aprs.fi. This one does it with LoRa, a long-range, very low-power radio mode, on the 433 MHz (70 cm) band. Its packets are picked up by LoRa iGates, including my own N7WDZ-25, and passed on to the APRS internet network.

Inside the yellow case is a LILYGO LoRa32 board running the free CA2RXU LoRa APRS Tracker firmware, a GPS module, a two-way booster that raises the transmit power to about 2.3 watts, and a 10,000 mAh battery. The firmware uses smart beaconing: it sends more often while driving and on every turn, and only now and then while parked, which keeps the track accurate without wasting battery. For multi-day trips a small 6-volt solar panel plugs into a waterproof port on the side.

The firmware holds three profiles, each with its own SSID and its own beacon settings: fast, medium and slow. The fast profile gives the most detailed track, and the slow one saves the most battery on long trips. I can switch between them from the tracker's menu with the select button. Right now it's running as N7WDZ-21.

433 MHzLoRa APRS
~2.3 Wtransmit power
10,000 mAhLiPo battery
2½–4 dayswithout sun
18.5 × 8 × 6 cmwaterproof case

Video

Video coming soon I'm putting together a video of the build, from the parts on the bench to the first track on the map.

How it's wired

Block diagram: the battery feeds a master switch, which feeds the LILYGO board, a 5-volt boost converter for the booster, and the external charge port. The GPS runs off the LILYGO board. The radio signal goes from the board through the booster to the antenna. The optional solar panel and CN3791 charger plug into the charge port. Tracker case always carried Solar accessory plug in when needed 5 V 5 V + data Battery10,000 mAh LiPo Master switchcuts everything LILYGO LoRa32radio + firmware Boost3.7 V → 5 V Charge portM16, waterproof GT-U7 GPSposition fixes AB-IOT-433two-way booster Antenna433 MHz Solar panel6 V, 5 W CN3791MPPT charger Power Radio (RF)

The LILYGO board can charge the battery through its USB port, and it powers the GPS from its 5-volt pin. The booster needs more current than the board can supply, so it gets its own boost converter that raises the battery's 3.7 volts to a steady 5 volts. At 5 volts the booster puts out about 2.3 watts, compared with 1.4 watts straight off the battery.

The solar panel started out built into the case, but it made the box much bigger than it needed to be, and most trips don't need it. Now the panel and its CN3791 MPPT charger are one separate unit, with the charger sealed in heat-shrink right on the cable, that plugs into the waterproof charge port on the side of the case.

The build

A 6-volt solar panel, a boxed 10,000 mAh battery, the LILYGO board, the booster and the boost converter laid out on a cutting mat
The main parts: solar panel, 10,000 mAh battery, LILYGO board, booster and boost converter
Close-up of the tiny boost converter, the LILYGO LoRa32 board and the AB-IOT-433 booster with its SMA connectors
Boost converter, LILYGO LoRa32 T3 v1.6.1 and the AB-IOT-433 two-way booster
Small blue CN3791 charger board with a red and black JST lead on each end
The CN3791 solar charger, before it was sealed into the panel's cable
Small black GT-U7 GPS module held in a hand, with four wires soldered to it
The GT-U7 GPS module, wired up
Open yellow case: the booster and LILYGO board on a black 3D-printed plate in the bottom, the GPS in the lid
Everything in place on a 3D-printed mounting plate, with the GPS in the lid
Close-up of the LILYGO board's screen and the booster, joined by a short coax jumper
The LILYGO board feeds the booster through a short coax jumper
Closed yellow case with a gray latch and a short black antenna on top
Closed up, with the antenna on top
End of the yellow case showing a round black waterproof connector with a cap
The waterproof M16 charge port for the solar panel
Bottom of the case with two large rubber-coated mounting magnets, next to the solar panel with mounting magnets on its frame
Rubber-coated magnets hold the case and the solar panel in place

On the map

Map of the Las Vegas valley with a green track line looping through the northwest, and red LoRa iGate markers around town
A drive around the northwest valley, drawn from the tracker's beacons. The red diamonds are LoRa iGates that can hear it. Map data © OpenStreetMap contributors.

Parts

Battery life

Estimated time on a full charge with no sun. Driving uses more power because the tracker transmits much more often.

UseAverage drawRuntime
Parked (a beacon every 15–30 min)about 105 mAabout 4 days
Driving (a beacon every 30–60 s)about 145–155 mAabout 2½ days

In full sun the 5-watt panel puts back up to about 0.8 amps.

Wiring the GPS and button

The T3 v1.6.1 has no GPS or user button of its own, so both are added by hand. These pins match the firmware's "LoRa32 v2.1/1.6.1 + GPS (DIY)" board setting.

FromTo LILYGO pinNotes
GPS VCC5VWorks on battery alone, no USB needed
GPS GNDGND
GPS TXDGPIO 34The board receives GPS data here
GPS RXDGPIO 12A boot "strapping" pin; first suspect if boot problems ever show up
Push buttonGPIO 15 + GNDSelect button for screens, the menu and switching profiles

Lessons learned

Links

Credits

The LoRa APRS Tracker firmware is by Ricardo Guzman, CA2RXU, and is free and open source. Thanks to the LoRa APRS community on Discord for confirming the GPS and button pins. The map above is from the LoRa APRS map by EA2RCF Radioclub Foronda.

← All projects