Heltec Vision Master E290

Heltec Automation

433 / 470-510 / 863-870 / 902-928 MHz MHz Semtech SX1262 (HT-RA62) ESP32

The Heltec Vision Master E290 (HT-VME290) is an E-Ink development kit featuring a 2.90-inch black-and-white E-Ink display (296x128 pixels) and an ESP32-S3R8 microcontroller with Wi-Fi and Bluetooth. The optional LoRa module is based on the Semtech SX1262 (HT-RA62) and is compatible with Meshtastic and LoRaWAN. The board features a USB-C port, an SH1.25-2 battery interface with an integrated charge controller, boot, reset, and custom buttons, as well as a 2x20-pin header for Raspberry Pi compatibility. In deep sleep mode, power consumption is only about 18 µA, and the display remains visible for up to 180 days after a power outage.

Hardware Specifications

MCU

ESP32

RAM

-

Flash

-

Display

E-Ink (2.9)

Button Count

3

Has LEDs

false

Weight

-

Dimensions

-

LoRa Specifications

LoRa Chip

Semtech SX1262 (HT-RA62)

Frequency Band

433 / 470-510 / 863-870 / 902-928 MHz MHz

Max. TX Power

-

Antenna Type

U.FL/IPEX

Connectivity

WiFi

true

Bluetooth

true

GPS

false

Power

USB Type

USB-C

Battery Connector

SH1.25-2

Solar Support

false

Power Consumption (Idle)

-

Power Consumption (TX)

-

Firmware Support

Room Server v1.18.0 28.09.2025 Release

Release notes: https://blog.meshcore.io/2026/10/15/release-1-18-0

BLE Companion v1.9.0 28.09.2025 Release

Change log:
BLE pin fix (now visible for longer)
nRF boards: new ExtraFS support (more storage, max contacts increase to 350)
nRF boards: better FS corruption detection
New boards: RAK Wismesh Tag, WIO Tracker L1, T-Echo Lite, Heltec V4
offline message queue now discards old channel messages if full
Core: reciprocal path send re-tries

USB Companion v1.9.0 28.09.2025 Release

Change log:
BLE pin fix (now visible for longer)
nRF boards: new ExtraFS support (more storage, max contacts increase to 350)
nRF boards: better FS corruption detection
New boards: RAK Wismesh Tag, WIO Tracker L1, T-Echo Lite, Heltec V4
offline message queue now discards old channel messages if full
Core: reciprocal path send re-tries

Repeater v1.18.0 02.10.2025 Release

Release notes: https://blog.meshcore.io/2026/10/15/release-1-18-0

Repeater v1.15.0-evo_0.1.21 17.03.2026 Release

⚠️ Check that radio.rxgain(on) and flood.advert.base (0.308) are set correctly after flashing! ⚠️

This build is based on official MeshCore 1.15.0 dev branch (as of 25-May-2026 and additionally includes the following unmerged upstream PRs/changes:

Additional changes:
  • Flood adverts are disabled (flood.advert.interval set to 0) by default
  • :new: modified PR1810 to not block flood adverts but only PAYLOADTYPEGRPTXT and PAYLOADTYPEGRPDATA so that some limited flood advert distribution can be managed via PR2553 to support e.g. observer maps.
Changelog:
  • Based on dev v1.15.0 as of 25-May-2026
Full Changelog: https://github.com/mattzzw/MeshCore-Evo/compare/v1.15.0-evo0.1.20...v1.15.0-evo0.1.21
Repeater PowerSaving17.1 27.03.2026 Release

Built for long off-road adventures and harsh winter conditions

  • Based on MeshCore 1.17.1 mainline.
  • Developed by IoTThinks and tested by our supportive MeshCore friends.
  • Contribution to MeshCore: By IoTThinks%20is%3Apr%20author%3A%40IoTThinks).
  • Source code: https://github.com/IoTThinks/MeshCore/tree/PowerSaving-v17
  • With contributions from Dom4n and MeshCore friends
Want to Support PowerSaving?
Support the development via ![Sponsor](https://www.paypal.com/ncp/payment/6FGWJJVC572VL) Buy MeshCore boards with discount coupon
Custom Development and Partnership
If you want custom development for your projects, Contact Us Looking for Partnership? Discuss Partnership
Instruction:
  • Flash Custom Firmware as in INSTRUCTION. 👈
  • Scroll down to bottom to download uf2 / upgrade.bin to upgrade or freshInstall-merged.bin for new devices. 👈
  • Heltec v4 bin files is for both Heltec v4.2 and v4.3.
  • Heltec v4.3 and T096 have two options FEM RXgain on and FEM Rxgain off.
  • If for board build or support, please ask us at GITHUB or Discord
  • Complete Guides in Wiki: Check the PowerSaving Wiki for more details

Quick Usage

Repeaters / Room servers
All PowerSaving features are disabled by default and persisted across reboots. PowerSaving: powersaving on, powersaving off and powersaving GPS PowerSaving: powersaving on then gps on and gps. RX PowerSaving: set radio.rxps balanced and get radio.rxps. Repeaters with RXPS enabled are less affected by noises from cell towers. It may due to LoRa RX only wakes up periodically. Added Battery voltage and PowerSaving status to repeater OLED Set dark theme for Heltec T096. For Heltec v4.3, 4.3R8, T096 and Tracker v2, you may set FEM off to save 10mA: set radio.fem.rxgain off
BLE / USB Companions
All PowerSaving features are enabled by default. GPS PowerSaving is enabled when you enable Position in MeshCore app. Added uptime for all companions. Set dark theme for Heltec T096. For Heltec v4.3, 4.3R8, T096 and Tracker v2, you may use femoff version to save 10mA.
Change Logs:
17 Oct 2026: PowerSaving 17.1.7
  • Xiao S3 Wio: Added support for GPS and GPS PowerSaving. Changed battery measurement pin from D0 to D1.
07 Oct 2026: PowerSaving 17.1.6
  • Defaults for New / Fresh Install: powersaving on, set radio.fem.rxgain off and set radio.rxps balanced. You can change the settings by CLIs.
16 Sep 2026: PowerSaving 17.1.5
  • Disabled automatic light sleep for USB Companion on ESP32 for better serial connectivity.
15 Sep 2026: PowerSaving 17.1.4
  • Imported a fix for RAK 3401 battery variant from MeshCore dev. If there is no GPS module, 5V power to the LoRa 1W will be floating and unable to provide maximum TX power as expected. Thanks Mr. Martenumberto for your discovery and persistence.
  • Added BSEC for BME680 on RAK 3401
13 Sep 2026: PowerSaving 17.1.3
  • (Repeater) RXPSv2: Better power consumption for "set radio.rxps balanced". You can now use "set radio.rxps max". All CLIs are at RXPS CLIs
  • (Companion) RXPSv2 is enabled by default with powersaving on.
  • (Repeater) Added support of button press for ESP32 repeaters with powersaving on
  • (Repeater) Fixed crash if doing "gps" on ESP32 repeaters without GPS module
  • (Companion) Moved uptime to below battery icon. Shifted dots left.
  • (Repeaters and sensors) Added "If GPS on after powersaving on", telemetry request will trigger GPS update"
  • (Sensors) Added MCU temperature
  • (Sensor) Added PowerSaving for sensor firmware
  • Added Tracker v2 and T-Deck
  • Added heltec
trackerv2companionradiousbfemoff and heltectrackerv2companionradiousb_femon
  • Added board MKE-S3 (Vietnam)
  • 10 Sep 2026: In case you can not see the "uptime" clearly in companions, please upgrade to PowerSaving 17.1.3
    • 05 Sep 2026: You are advised to reboot repeaters / room servers after on/off or changing RXPS settings. Thanks Mr. Gordon for extensive testing.
    Enjoy MeshCore with PowerSaving. 👍
    BLE Companion pre-release-Heltec-E213-Wireless-Paper-E290 11.06.2026 Release
    v1.16_0611 pre-release for Heltec E213, Wireless Paper and E290
    • New device: Heltec Vision Master E213 — full support (Companion, Repeater, Room Server).
    The Heltec Vision Master E213 is now fully supported. It is an ESP32-S3 based board with a 2.13" e-ink display, SX1262 LoRa radio, and a USB-C port. The complete companion UI runs on the e-ink display — Quick Send, Contacts, Settings, Saved Locations, GPS Trace, and message preview. Repeater and Room Server firmware are also provided.

    Notable characteristics:

    • Always-on e-ink display — no screen timeout; the display retains its content indefinitely without power.

    • Native multilingual text — Latin, Cyrillic, and Greek scripts render natively.

    • I2C sensor support — environment sensors (temperature, humidity, pressure...) can be connected via the QuickLink I2C port.

    • Two user buttons — the second button (GPIO21) makes navigation faster: press it to scroll up in any list, or to go back/exit any menu.

    • New devices: Heltec Wireless Paper and Heltec Vision Master E290 — full support (Companion, Repeater, Room Server).

    Two new e-ink boards are now supported:
    • Heltec Wireless Paper — ESP32-S3 with a 2.13" e-ink display (same resolution as E213), SX1262 LoRa radio, and a compact form factor. Shares the same companion UI and firmware variants as E213.
    • Heltec Vision Master E290 — ESP32-S3R8 with a larger 2.9" e-ink display (296×128), SX1262 LoRa radio, and a QuickLink I2C port for external sensors. The companion UI adapts automatically to the wider, taller display — showing more message lines and better-spaced layouts compared to the 2.13" boards.
    Repeater MeshCore-low-power-v1.18.dev_1031 11.06.2026 Release
    v1.181031
    • New: most of what the app sets can now be done on the node. (Companion)
    • Contacts: favourites, Remove contact, Reset path, Share contact, and a person's Permissions (Telemetry, Location, Environment, Remote CLI). See [Display Guide](CompanionDisplayGuide.md#contact-action-screen).
    • Channels: + Add channel at the end of the conversation list (Public, and with the CardKB hashtag and private channels), Share and Invite in a channel's menu, Join channel on a received invite and Join #sos on a message naming a hashtag channel. See [Display Guide](CompanionDisplayGuide.md#channels).
    • Settings: now in groups, with Auto-add and the telemetry settings added. Changes are saved when you leave Settings. See [Display Guide](CompanionDisplayGuide.md#settings-page).
    • TerminalCLI: commands for the rest (auto-add, telemetry, position, flood scope, radio tuning, erase), and TerminalCLI in a person's menu for a node that allows you Remote CLI. See [Companion TerminalCLI Commands](CompanionTerminalCLICommands.md).
    • New: warning before messages or contacts run out of room. (Companion)
    The node warns once when 20 places are left, counting places an older entry can give up, and alerts each message or contact lost once it is full.
    • New: radio presets on the node. (Companion)
    Settings → Radio → Preset lists the region presets of the MeshCore app, then up to five of your own saved with set radio.custom.<N>; the header shows the selected one's frequency, bandwidth, SF and CR, and long press uses it. TX power stays as it is; Settings → Radio → TX Power picks it from a list in 3 dB steps. The config portal has the same Preset list in its Radio section and a Custom Radio Presets section for C1 to C5, which are included in backup/restore. See [Display Guide](CompanionDisplayGuide.md#radio-preset-screen).
    • Changed: the Radio page shows the link instead of the settings. (Companion)
    One row for the preset and TX power, then noise floor, RSSI / SNR of the last packet, packets received / sent, airtime and receive errors. Long press opens Preset, TX Power, RxGain and RxDuty. See [Display Guide](Companion
    DisplayGuide.md#radio-page).
    • New: GPS interval and mode on the node. (Companion)
    Long press on the GPS page opens GPS on/off, Interval (Always, 30s up to 1h) and Mode (which satellite systems are used). Mode is shown only when the GPS takes it: the built-in GPS of boards such as Heltec V4 and T096, or an ATGM336H on the GPS header. See [Display Guide](Companion
    DisplayGuide.md#gps-page-optional).
    • Changed: the HT-CT62 keeps up to 250 contacts (was 350). (Companion, HT-CT62)
    This leaves enough memory for Bluetooth. If your node has more than 250 contacts, remove the ones you don't need before updating. Otherwise, on the first start the node keeps your favourites, then the most recently heard contacts, and removes the rest together with their messages. Restoring a backup with more than 250 contacts does the same.
    • New: LoRa radio off. (Companion)
    Settings → LoRa Radio or radio off; an icon in the Home header shows it, and a restart turns the radio back on.
    • New: repeater and room server tools. (Companion)
    A repeater's menu has Ping (zero hop) and Trace path, a repeater's or room server's menu Request status. A login with no reply over the stored path is retried once by flood. See [Display Guide](Companion
    DisplayGuide.md#path-trace-screen).
    • New: sensor contacts. (Companion)
    Sensors appear in the contact list with a pulse trace icon; their menu has Request telemetry and, with the CardKB, TerminalCLI. A sensor answers telemetry only after you have logged in to it once with its admin password.
    • New: Refresh Frequency for e-ink screens. (Companion, e-ink)
    Settings → Display → Refresh Frequency sets after how many screen changes a full refresh cleans the screen, done once you stop pressing keys: 1, 5, 10 (default), 15 or 30. Leaving Settings no longer does a full refresh of its own; opening the CardKB message composer does one. Switching pages is also faster.
    • Fix: text on e-ink screens faded. (Companion, Repeater, Room Server — E213, E290, Wireless Paper)
    Text that stays on screen, such as the header and battery icon, no longer turns faint after a while, and new text is no longer darker than the rest.
    • New: type messages in other languages with the CardKB. (Companion)
    Settings → Input Languages adds Belarusian, Kazakh, Russian, Ukrainian, US-International (accented letters for French, German, Spanish and other Latin-script languages) and Vietnamese (Telex) to English. In the message editor, Tab switches between them. On an OLED, set Message Font to Large to see accents and non-Latin letters. See [Display Guide](Companion
    DisplayGuide.md#typing-in-other-languages).
    • New: Delete all messages. (Companion)
    The Home menu has Delete all messages: it deletes every message on the node, in RAM and in flash. Contacts, channels and settings are kept. See [Display Guide](Companion
    Display_Guide.md#home-page).
    • Fix: the app got no reply to CLI commands once the node's message store was full. (Companion)
    When the node held as many messages as it can keep, replies to TerminalCLI commands from the app, and to commands sent from the app to a repeater or room server, never reached the app.
    Room Server MeshCore-low-power-v1.18.dev_1031 11.06.2026 Release
    v1.181031
    • New: most of what the app sets can now be done on the node. (Companion)
    • Contacts: favourites, Remove contact, Reset path, Share contact, and a person's Permissions (Telemetry, Location, Environment, Remote CLI). See [Display Guide](CompanionDisplayGuide.md#contact-action-screen).
    • Channels: + Add channel at the end of the conversation list (Public, and with the CardKB hashtag and private channels), Share and Invite in a channel's menu, Join channel on a received invite and Join #sos on a message naming a hashtag channel. See [Display Guide](CompanionDisplayGuide.md#channels).
    • Settings: now in groups, with Auto-add and the telemetry settings added. Changes are saved when you leave Settings. See [Display Guide](CompanionDisplayGuide.md#settings-page).
    • TerminalCLI: commands for the rest (auto-add, telemetry, position, flood scope, radio tuning, erase), and TerminalCLI in a person's menu for a node that allows you Remote CLI. See [Companion TerminalCLI Commands](CompanionTerminalCLICommands.md).
    • New: warning before messages or contacts run out of room. (Companion)
    The node warns once when 20 places are left, counting places an older entry can give up, and alerts each message or contact lost once it is full.
    • New: radio presets on the node. (Companion)
    Settings → Radio → Preset lists the region presets of the MeshCore app, then up to five of your own saved with set radio.custom.<N>; the header shows the selected one's frequency, bandwidth, SF and CR, and long press uses it. TX power stays as it is; Settings → Radio → TX Power picks it from a list in 3 dB steps. The config portal has the same Preset list in its Radio section and a Custom Radio Presets section for C1 to C5, which are included in backup/restore. See [Display Guide](CompanionDisplayGuide.md#radio-preset-screen).
    • Changed: the Radio page shows the link instead of the settings. (Companion)
    One row for the preset and TX power, then noise floor, RSSI / SNR of the last packet, packets received / sent, airtime and receive errors. Long press opens Preset, TX Power, RxGain and RxDuty. See [Display Guide](Companion
    DisplayGuide.md#radio-page).
    • New: GPS interval and mode on the node. (Companion)
    Long press on the GPS page opens GPS on/off, Interval (Always, 30s up to 1h) and Mode (which satellite systems are used). Mode is shown only when the GPS takes it: the built-in GPS of boards such as Heltec V4 and T096, or an ATGM336H on the GPS header. See [Display Guide](Companion
    DisplayGuide.md#gps-page-optional).
    • Changed: the HT-CT62 keeps up to 250 contacts (was 350). (Companion, HT-CT62)
    This leaves enough memory for Bluetooth. If your node has more than 250 contacts, remove the ones you don't need before updating. Otherwise, on the first start the node keeps your favourites, then the most recently heard contacts, and removes the rest together with their messages. Restoring a backup with more than 250 contacts does the same.
    • New: LoRa radio off. (Companion)
    Settings → LoRa Radio or radio off; an icon in the Home header shows it, and a restart turns the radio back on.
    • New: repeater and room server tools. (Companion)
    A repeater's menu has Ping (zero hop) and Trace path, a repeater's or room server's menu Request status. A login with no reply over the stored path is retried once by flood. See [Display Guide](Companion
    DisplayGuide.md#path-trace-screen).
    • New: sensor contacts. (Companion)
    Sensors appear in the contact list with a pulse trace icon; their menu has Request telemetry and, with the CardKB, TerminalCLI. A sensor answers telemetry only after you have logged in to it once with its admin password.
    • New: Refresh Frequency for e-ink screens. (Companion, e-ink)
    Settings → Display → Refresh Frequency sets after how many screen changes a full refresh cleans the screen, done once you stop pressing keys: 1, 5, 10 (default), 15 or 30. Leaving Settings no longer does a full refresh of its own; opening the CardKB message composer does one. Switching pages is also faster.
    • Fix: text on e-ink screens faded. (Companion, Repeater, Room Server — E213, E290, Wireless Paper)
    Text that stays on screen, such as the header and battery icon, no longer turns faint after a while, and new text is no longer darker than the rest.
    • New: type messages in other languages with the CardKB. (Companion)
    Settings → Input Languages adds Belarusian, Kazakh, Russian, Ukrainian, US-International (accented letters for French, German, Spanish and other Latin-script languages) and Vietnamese (Telex) to English. In the message editor, Tab switches between them. On an OLED, set Message Font to Large to see accents and non-Latin letters. See [Display Guide](Companion
    DisplayGuide.md#typing-in-other-languages).
    • New: Delete all messages. (Companion)
    The Home menu has Delete all messages: it deletes every message on the node, in RAM and in flash. Contacts, channels and settings are kept. See [Display Guide](Companion
    Display_Guide.md#home-page).
    • Fix: the app got no reply to CLI commands once the node's message store was full. (Companion)
    When the node held as many messages as it can keep, replies to TerminalCLI commands from the app, and to commands sent from the app to a repeater or room server, never reached the app.
    Repeater v1.0.1 17.05.2026 Release

    Full Changelog: https://github.com/MichTronics/MeshCoreNG/compare/bridge-tcp-v1.0.5...repeater-v1.0.1

    Room Server v1.0.1 17.05.2026 Release

    Full Changelog: https://github.com/MichTronics/MeshCoreNG/compare/bridge-tcp-v1.0.5...room-server-v1.0.1

    Automatic sync from different repositories