Skip to content

Board Comparison

This page is meant to help you choose a board, not just list every technical detail.

If you only want a quick answer:

  • for a roof-mounted or set-and-forget MQTT repeater, start with heltec_v4, heltec_v4_tft, Station_G2, or T_Beam_S3_Supreme_SX1262
  • for an app-first Wi-Fi companion, headless boards are fine and often simpler
  • if you want an onboard screen people will actually use, prefer TFT boards
  • if you want a low-power status screen, prefer e-paper boards

The tables below are built from the repo's PlatformIO board metadata and variant build flags.

  • Target is the short board name used in this comparison page. Release filenames and local build commands still use the full env names such as heltec_v4_repeater_mqtt.
  • MCU shows the chip family only. Actual runtime clock can vary by env and board configuration.
  • RAM is the MCU's built-in RAM.
  • PSRAM is extra memory on some boards. More PSRAM usually means more headroom for UI, MQTT, and future features.
  • GPS uses โœ… when present and is blank when absent.
  • SD uses โœ… when the board is currently known to support the SD-backed archive path in EastMesh, ๐Ÿงช when the hardware likely supports TF/microSD but the board-specific integration still needs validation, and is blank when there is no current SD/archive support note.

Start Here

  • Pick an ESP32-S3 board with 16MB flash and PSRAM if you want strong overall headroom for MQTT plus UI: heltec_v4_tft, heltec_v4, Station_G2, LilyGo_TBeam_1W.
  • Pick a TFT board if this will be used as a human-facing companion or field node: heltec_v4_tft, heltec_tracker_v2, LilyGo_TDeck, Heltec_T190.
  • Pick e-paper if you want a status screen with lower idle draw and less frequent refresh: Heltec_E213, Heltec_E290, Heltec_Wireless_Paper, ThinkNode_M5.
  • Pick a headless board if this is mainly a fixed MQTT gateway and screen space is not useful: RAK_3112, Generic_E22, Meshimi, Xiao_C6.
  • Pick a headless Wi-Fi companion if the phone app will be the primary UI anyway: RAK_3112_companion_radio_wifi, Xiao_S3_WIO_companion_radio_wifi, Station_G2_companion_radio_wifi.
  • Pick a GPS-capable board if location-aware/mobile use matters: the T-Beam family, heltec_tracker_v2, Heltec_v3, heltec_v4, Station_G2, ThinkNode_M5.
  • If you want the most conservative, older radio family choices, the SX1276 boards are LilyGo_TLora_V2_1_1_6, Tbeam_SX1276, and Heltec_v2.

Additional Signals

If you are deciding between otherwise similar boards, these target-level settings often matter more than flash alone.

  • CPU cfg is the runtime clock MeshCore sets for that target. default means MeshCore does not override the board's default clock.
  • TX cfg is MeshCore's configured LORA_TX_POWER, not guaranteed antenna output. Boards with a PA or RF front-end may radiate much more than the configured value suggests.
  • Power is how the target exposes power in the repo: ADC batt, PMU, custom 2S, fixed/ext, or none.
  • Extras lists notable RF or peripheral extras exposed by the target, such as PA/FEM, RF switch, BME280, NeoPixel, or ext ant.
Target CPU cfg TX cfg Power Extras
Ebyte_EoRa-S3 default 22 dBm cfg ADC batt
Generic_E22_sx1262 default 22 dBm cfg ADC batt RF switch
Generic_E22_sx1268 default 22 dBm cfg ADC batt RF switch
Heltec_E213 default 22 dBm cfg ADC batt
Heltec_E290 default 22 dBm cfg ADC batt
Heltec_T190 default 22 dBm cfg ADC batt
heltec_tracker_v2 160 MHz 9 dBm cfg* ADC batt PA/FEM
Heltec_v2 default 20 dBm cfg ADC batt
Heltec_v3 80 MHz 22 dBm cfg ADC batt
heltec_v4 80 MHz 10 dBm cfg* ADC batt PA/FEM
heltec_v4_tft 80 MHz 10 dBm cfg* ADC batt PA/FEM
Heltec_Wireless_Paper default 22 dBm cfg ADC batt
Heltec_Wireless_Tracker 80 MHz 22 dBm cfg none
Heltec_WSL3 80 MHz 22 dBm cfg ADC batt
LilyGo_T3S3_sx1262 default 22 dBm cfg ADC batt
LilyGo_T3S3_sx1276 default 20 dBm cfg ADC batt RF switch
LilyGo_TBeam_1W default 22 dBm cfg* custom 2S PA/FEM
LilyGo_TDeck default 22 dBm cfg ADC batt
LilyGo_Tlora_C6 default 22 dBm cfg none RF switch
LilyGo_TLora_V2_1_1_6 default 20 dBm cfg ADC batt
M5Stack_Unit_C6L default 22 dBm cfg none RF switch
Meshadventurer_sx1262 default 22 dBm cfg ADC batt RF switch
Meshadventurer_sx1268 default 22 dBm cfg ADC batt RF switch
Meshimi default 22 dBm cfg none ext ant
nibble_screen_connect default 22 dBm cfg none NeoPixel
RAK_3112 80 MHz 22 dBm cfg ADC batt
Station_G2 default 7 dBm cfg* fixed/ext PA/FEM
Station_G2_logging default 7 dBm cfg* fixed/ext PA/FEM
T_Beam_S3_Supreme_SX1262 default 22 dBm cfg PMU BME280
Tbeam_SX1262 default 22 dBm cfg PMU
Tbeam_SX1276 default 20 dBm cfg PMU
ThinkNode_M2 default 22 dBm cfg ADC batt
ThinkNode_M5 default 22 dBm cfg ADC batt
WHY2025_badge default 22 dBm cfg none
Xiao_C6 default 22 dBm cfg none RF switch
Xiao_S3_WIO default 22 dBm cfg none RF switch

* These targets use a PA or RF front-end, so effective output can be much higher than the configured LORA_TX_POWER.

repeater_mqtt Boards

This table includes all repeater MQTT targets currently defined in variants/eastmesh_mqtt/platformio.ini.

Target MCU RAM PSRAM Flash LoRa Display GPS SD
Ebyte_EoRa-S3 ESP32S3 512 KB 2 MB 4 MB SX1262 OLED (SSD1306)
Generic_E22_sx1262 ESP32 520 KB No 4 MB SX1262 None
Generic_E22_sx1268 ESP32 520 KB No 4 MB SX1268 None
Heltec_E213 ESP32S3 512 KB 8 MB 16 MB SX1262 E-paper (2.13")
Heltec_E290 ESP32S3 512 KB 8 MB 16 MB SX1262 E-paper (2.9")
Heltec_T190 ESP32S3 512 KB 8 MB 16 MB SX1262 TFT (ST7789)
heltec_tracker_v2 ESP32S3 512 KB No 8 MB SX1262 TFT (ST7735) โœ…
Heltec_v2 ESP32 520 KB No 8 MB SX1276 OLED (SSD1306)
Heltec_v3 ESP32S3 512 KB No 8 MB SX1262 OLED (SSD1306) โœ…
heltec_v4 ESP32S3 512 KB 2 MB 16 MB SX1262 OLED (SSD1306) โœ…
heltec_v4_tft ESP32S3 512 KB 2 MB 16 MB SX1262 TFT (ST7789) โœ…
Heltec_Wireless_Paper ESP32S3 512 KB No 8 MB SX1262 E-paper (2.13")
Heltec_Wireless_Tracker ESP32S3 512 KB No 8 MB SX1262 TFT (ST7735) โœ…
Heltec_WSL3 ESP32S3 512 KB No 8 MB SX1262 None โœ…
LilyGo_T3S3_sx1262 ESP32S3 512 KB 2 MB 4 MB SX1262 OLED (SSD1306) ๐Ÿงช
LilyGo_T3S3_sx1276 ESP32S3 512 KB 2 MB 4 MB SX1276 OLED (SSD1306) ๐Ÿงช
LilyGo_TBeam_1W ESP32S3 512 KB 8 MB 16 MB SX1262 OLED (SH1106) โœ… โœ…
LilyGo_TDeck ESP32S3 512 KB No 16 MB SX1262 TFT (ST7789) โœ… ๐Ÿงช
LilyGo_Tlora_C6 ESP32C6 512 KB No 4 MB SX1262 None
M5Stack_Unit_C6L ESP32C6 512 KB No 4 MB SX1262 None โœ…
Meshadventurer_sx1262 ESP32 520 KB No 4 MB SX1262 OLED (SSD1306) โœ…
Meshadventurer_sx1268 ESP32 520 KB No 4 MB SX1268 OLED (SSD1306) โœ…
Meshimi ESP32C6 512 KB No 4 MB SX1262 None
nibble_screen_connect ESP32S3 512 KB No 4 MB SX1262 OLED (SSD1306)
RAK_3112 ESP32S3 512 KB No 8 MB SX1262 None โœ…
Station_G2 ESP32S3 512 KB 8 MB 16 MB SX1262 OLED (SH1106) โœ…
Station_G2_logging ESP32S3 512 KB 8 MB 16 MB SX1262 OLED (SH1106) โœ…
T_Beam_S3_Supreme_SX1262 ESP32S3 512 KB 8 MB 8 MB SX1262 OLED (SH1106) โœ… โœ…
Tbeam_SX1262 ESP32 520 KB No 4 MB SX1262 OLED (SSD1306) โœ…
Tbeam_SX1276 ESP32 520 KB No 4 MB SX1276 OLED (SSD1306) โœ…
ThinkNode_M2 ESP32S3 512 KB No 4 MB SX1262 OLED (SH1106)
ThinkNode_M5 ESP32S3 512 KB No 4 MB SX1262 E-paper (GxEPD) โœ…
WHY2025_badge ESP32C6 512 KB No 4 MB SX1262 None
Xiao_C6 ESP32C6 512 KB No 4 MB SX1262 None
Xiao_S3_WIO ESP32S3 512 KB No 8 MB SX1262 None โœ…

SD notes:

  • โœ… means the board is currently known to work with the SD-backed archive path in EastMesh.
  • ๐Ÿงช means the board hardware likely supports TF/microSD, but the EastMesh board-specific integration still needs validation before it should be treated as supported.
  • For the current stats archive, a 4 GB FAT32 microSD card is more than sufficient. Larger cards are also supported.

companion_radio_wifi Boards With A Display

These are the Wi-Fi companion targets that have a display configured for local status, setup help, or occasional direct interaction.

Target MCU RAM PSRAM Flash LoRa Display GPS
Heltec_v2 ESP32 520 KB No 8 MB SX1276 OLED (SSD1306)
Heltec_v3 ESP32S3 512 KB No 8 MB SX1262 OLED (SSD1306) โœ…
heltec_tracker_v2 ESP32S3 512 KB No 8MB SX1262 TFT (ST7735) โœ…
heltec_v4 ESP32S3 512 KB 2 MB 16MB SX1262 OLED (SSD1306) โœ…
heltec_v4_tft ESP32S3 512 KB 2 MB 16MB SX1262 TFT (ST7789) โœ…
LilyGo_TBeam_1W ESP32S3 512 KB 8 MB 16MB SX1262 OLED (SH1106) โœ…
LilyGo_TLora_V2_1_1_6 ESP32 520 KB No 4 MB SX1276 OLED (SSD1306) โœ…
nibble_screen_connect ESP32S3 512 KB No 4MB SX1262 OLED (SSD1306)
Station_G2 ESP32S3 512 KB 8 MB 16MB SX1262 OLED (SH1106) โœ…
T_Beam_S3_Supreme_SX1262 ESP32S3 512 KB 8 MB 8MB SX1262 OLED (SH1106) โœ…
ThinkNode_M2 ESP32S3 512 KB No 4MB SX1262 OLED (SH1106)
ThinkNode_M5 ESP32S3 512 KB No 4MB SX1262 E-paper (GxEPD) โœ…

companion_radio_wifi Headless Boards

These are the Wi-Fi companion targets that rely on the companion app as the primary interface. For many users, this is the best everyday option.

Target MCU RAM PSRAM Flash LoRa GPS
Heltec_WSL3 ESP32S3 512 KB No 8 MB SX1262 โœ…
RAK_3112 ESP32S3 512 KB No 8 MB SX1262 โœ…
Xiao_S3_WIO ESP32S3 512 KB No 8 MB SX1262 โœ…

Practical Picks

  • Best all-round MQTT repeater with screen and overall headroom: heltec_v4_repeater_mqtt, heltec_v4_tft_repeater_mqtt, Station_G2_repeater_mqtt, LilyGo_TBeam_1W_repeater_mqtt.
  • Best MQTT repeater if you want a simple headless install: RAK_3112_repeater_mqtt, Generic_E22_sx1262_repeater_mqtt, Meshimi_repeater_mqtt, Xiao_C6_repeater_mqtt.
  • Best low-power display MQTT builds: Heltec_E213_repeater_mqtt, Heltec_E290_repeater_mqtt, Heltec_Wireless_Paper_repeater_mqtt, ThinkNode_M5_Repeater_mqtt.
  • Best companion choices if you want the richest local UI: heltec_v4_tft_companion_radio_wifi and heltec_tracker_v2_companion_radio_wifi.
  • Best companion choices if you want maximum memory headroom: T_Beam_S3_Supreme_SX1262_companion_radio_wifi, Station_G2_companion_radio_wifi, LilyGo_TBeam_1W_companion_radio_wifi.
  • Best companion choices if you are happy with an app-first, mostly headless setup: RAK_3112_companion_radio_wifi, Xiao_S3_WIO_companion_radio_wifi, Station_G2_companion_radio_wifi.
  • Best companion choices if you prefer OLED over TFT: T_Beam_S3_Supreme_SX1262_companion_radio_wifi, heltec_v4_companion_radio_wifi, LilyGo_TBeam_1W_companion_radio_wifi.