Skip to content

Development Platforms

Three primary development approaches are available for the Wireless Tracker, each suited to different goals and experience levels.

Arduino / PlatformIO

Best for: Library ecosystem, familiar workflow, rapid development

Pros: Huge library ecosystem, familiar syntax, active community

Cons: Abstraction overhead, may hide hardware details

ESP-IDF

Best for: Production applications, low-level control

Pros: Full feature access, official support, best performance

Cons: Steeper learning curve, more verbose code

MicroPython

Best for: Rapid prototyping, education, scripting

Pros: Fast iteration, interactive REPL, easy to learn

Cons: Slower execution, higher memory usage

Use CaseRecommended
MeshtasticPre-built firmware
LoRaWAN projectsArduino/PlatformIO
GNSS developmentESP-IDF or Arduino
Quick prototypingMicroPython
Production devicesESP-IDF

PlatformIO provides a professional development environment with dependency management.

[env:heltec_wireless_tracker]
platform = espressif32
board = heltec_wireless_tracker
framework = arduino
monitor_speed = 115200
lib_deps =
heltec-automation/Heltec ESP32 Dev-Boards
  1. Install VS Code with PlatformIO extension
  2. Create new project with the configuration above
  3. Build and upload with Ctrl+Alt+U

The official Heltec library provides helper functions for common operations:

#include "HT_st7735.h" // TFT display
#include "LoRaWan_APP.h" // LoRaWAN stack
#include "HT_TinyGPS++.h" // GNSS parsing
// Display initialization
HT_st7735 display;
display.init();
display.clear();
display.drawString(0, 0, "Hello Tracker!");
// LoRa initialization
Mcu.begin(HELTEC_BOARD, SLOW_CLK_TPYE);
LoRaWAN.init(CLASS_A, ACTIVE_REGION);

If code upload fails, manually enter bootloader mode:

  1. Device not connected: Press and hold USER before plugging in USB
  2. Device already connected: Hold USER → Press RESET → Release RESET → Release USER

Timing requirement: Reset signal must be held for ≥10 ms.