explaingit

maur3ra/thinknode-ttnmapper

Analysis updated 2026-05-18

2C++Audience · ops devopsComplexity · 4/5Setup · hard

TLDR

Firmware that turns the ThinkNode M1 hardware device into a portable GPS mapper for TTNMapper, a community project tracking LoRaWAN network coverage.

Mindmap

mindmap
  root((ThinkNode TTNMapper))
    What it does
      GPS fix to LoRaWAN uplink
      TTNMapper coverage mapping
      Session restore on reboot
    Tech stack
      C++ firmware
      PlatformIO build
      nRF52840 and SX1262 radio
    Use cases
      Bike or car coverage tests
      Gateway range comparison
    Audience
      LoRaWAN hobbyists
      Requires ThinkNode M1 hardware

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Map LoRaWAN gateway coverage while biking or driving around a city.

USE CASE 2

Test how far a specific gateway's radio range actually reaches.

USE CASE 3

Compare signal reception from multiple locations for network planning.

USE CASE 4

Build a low power battery driven GPS tracker with an e-paper status display.

What is it built with?

C++PlatformIOLoRaWANnRF52840

How does it compare?

maur3ra/thinknode-ttnmapper9veedz/4leggedspiderbotakashsingh3031/striver-sde-challenge-2023
Stars222
LanguageC++C++C++
Last pushed2023-06-19
MaintenanceDormant
Setup difficultyhardhardeasy
Complexity4/54/51/5
Audienceops devopsvibe coderdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires specific ThinkNode M1 hardware, PlatformIO, and your own TTN LoRaWAN join keys.

No license information was provided in the README.

In plain English

This project turns a small hardware device called the Elecrow ThinkNode M1 into a portable mapping tool for a wireless network called The Things Network, or TTN. TTN is a long range, low power radio network that hobbyists and organizations use for things like sensors, and TTNMapper is a community project that maps how far that network's coverage actually reaches, by having people carry a device around and record where it can send signals from. The firmware, meaning the software that runs directly on the device, gets a GPS location fix, then sends that location over the LoRaWAN radio network in a format TTNMapper understands. It remembers its network login session in the device's internal storage, so restarting it does not force a fresh login each time, which the README notes makes startup faster and avoids a specific technical problem with repeated logins. The device also has a small e-paper screen that shows status information, plus buttons that control the screen and its backlight, and it can display battery voltage. The device decides when to transmit based on three triggers: getting its first GPS fix, a regular timer, or having moved a set distance since its last transmission, with a minimum wait time between transmissions so it does not send too often. Field testing described in the README confirmed that session restore, first fix sending, periodic sending, and movement based sending all worked, along with successful reception by nearby radio gateways. Building the firmware uses a tool called PlatformIO, and the project includes scripts to package the compiled firmware into a UF2 file and copy it onto the device while it is in a special reset mode. Network login keys are kept in a separate, uncommitted file so they are not accidentally shared. The README lists known issues plainly: the e-paper screen flickers on full refresh, battery readings are a bit noisy, and occasional bad GPS readings can slip through if quality filtering is too loose. Planned next steps include tighter GPS filtering, less screen flicker, and support for different movement profiles like walking or driving.

Copy-paste prompts

Prompt 1
Walk me through flashing this ThinkNode TTNMapper firmware onto an Elecrow ThinkNode M1.
Prompt 2
Help me set up my LoRaWAN secrets.h file with my own TTN join keys for this project.
Prompt 3
Explain how the movement and periodic transmission triggers work in this firmware's config.h.
Prompt 4
Show me how to build and create a UF2 firmware file with PlatformIO for this project.

Frequently asked questions

What is thinknode-ttnmapper?

Firmware that turns the ThinkNode M1 hardware device into a portable GPS mapper for TTNMapper, a community project tracking LoRaWAN network coverage.

What language is thinknode-ttnmapper written in?

Mainly C++. The stack also includes C++, PlatformIO, LoRaWAN.

What license does thinknode-ttnmapper use?

No license information was provided in the README.

How hard is thinknode-ttnmapper to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is thinknode-ttnmapper for?

Mainly ops devops.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.