🌳 Outdoor LoRa-GPS tracker with E-Ink display 🔑

power 18650
wireless LoRa,
sensor GPS, E-Ink
mcu SAMD21G18
bom items 82
bom cost USD $78.93
vendors 6
completed July 2022

Mechanical sizes

Item Height Width Depth Weight
Waveshare 1.54inch E-Ink display module display 48.0 mm 33.0 mm mm 24 g
HopeRF RFM95 LoRa module LoRa 16 mm 16 mm 1.8 mm 2 g
CDTop PA1010D GPS module LoRa 10 mm 10 mm 6.8 mm 2.75 g

Sub-system design

Subsystem design


  1. Device - Oak, the entire electronics with embedded firmware and associated software
  2. Local node - Current node that the user is holding, which is setup as a current node for LoRa peer-to-peer communication
  3. Peer node - Peer node, another node that the device is setup as a destination for LoRa peer-to-peer communication
  4. Haversine distance - Distance between the 2 nodes that has a GPS fix within 5 seconds of each other

User Stories

First-time user

As a first-time user, I want to configure the 2 nodes with addresses 0xAA and 0xBB so that they can communicate with each other via LoRa.


As a user, I want to know my current node does not have any GPS fix yet so that I know I need to wait for a possible GPS fix.

As a user, I want to see the current latitude-longitude so that I know my current location.

As a user, I want to see my latitude-longitude with a relative time ago so that I know my last GPS fix time.

As a user, I want to see the Haversine distance with the peer node so that I know how far away is the peer node.

As a user, I want to see the Haversine distance with a relative time ago so that I know how far away was the peer node when both nodes had a GPS fix.

Power overview

Power source

4200mAh 18650 button-top battery

Battery life

14 hours

Charging duration

14 hours
Just plug in the USB cable to the Oak PCB that has the 18650 battery in the holder at the back. RED Charging LED will light up when charging. The battery will be fully charged when the RED Charging LED turns off.

Charging the battery

The multimeter with data logging feature was hooked up to the test points of VBAT and GND. It took about 11 hours to fully charge the battery with the on-board charging circuit.

Charging Setup
Charging Setup
Charging graph

Measuring battery life

Two types of firmware was uploaded to measure the longest possible and shortest possible battery life:

  1. Longest possible: Blinky LED was 19 hours
  2. Shortest possible: Demo was 14 hours
Charging Setup
Charging Setup
Example of a discharging graph