Whisper OS

User Manual

A practical guide for flashing, pairing, and operating Whisper OS on supported mesh devices.

Current firmware

v1.3.4

Overview

Whisper OS turns small-screen mesh hardware into a usable messaging tool. The core idea is simple: the device should remain understandable in the field without a laptop, serial console, or guesswork.

Once installed, the device can handle on-device navigation, encrypted mesh messaging, contact browsing, radio status checks, and Bluetooth pairing with companion clients for faster text input and management.

Before You Start

Use a real USB data cable

Charge-only cables are the most common flashing failure. If your browser never sees the board, swap the cable first.

Use a desktop browser with Web Serial support

Chrome, Edge, Brave, and Opera work best for the web flasher. Safari and Firefox do not provide the same serial support.

Confirm your exact board family

ESP32 and nRF52 devices use different firmware formats and different flashing flows. Treat them as separate installation paths.

Prepare a companion client

After flashing, pair through the MeshCore mobile app or connect from Haikou in a browser that supports Web Bluetooth.

Supported Hardware

ESP32 Family

Typical examples include Heltec V3, Heltec V4, and Heltec T114. These boards flash raw binary images over a serial connection.

nRF52 Family

Typical examples include RAK4631, Wio Tracker L1, MeshTiny, GAT562 variants, and related community boards. These boards use a DFU package flow instead of direct raw flashing.

The final source of truth is always the device selector in the web flasher because supported targets expand over time.

Choose the Right Install Path

Whisper OS does not have a single universal flashing method. First principles here are straightforward: the microcontroller determines the update path, so the board family matters more than the product name.

ESP32

Uses .bin firmware and a direct serial flashing process. First-time installs usually require the merged image.

nRF52

Uses a .zip DFU package and often needs a one-time erase step when replacing older firmware stacks.

ESP32 Installation

1

Connect the board and open the flasher

Open the web flasher in a Chromium-based browser and let the page load before selecting a device.

2

Select version, board, and language

Choose the firmware version, your exact ESP32 board, and your preferred language so the correct build is resolved.

3

Use Merged for a clean first install

If the board is brand new or coming from different firmware, select the merged image. That writes bootloader, partitions, and app together.

4

Use Erase device only when you need a clean slate

Erase is useful for first-time installs and recovery, but it also wipes stored identity and pairing data.

5

Flash and wait for completion

Click Flash Device, pick the serial port shown by the browser, and do not unplug the board until the process completes.

6

Press reset after success

A manual reset is often required on ESP32 boards before Whisper OS boots for the first time.

nRF52 Installation

If the board previously ran other firmware, do the one-time FLASH_ERASE preparation step first. Skipping it is one of the most common reasons an nRF52 upgrade appears to succeed but boots into a broken state.

1

Erase the old SoftDevice if this is the first Whisper OS install

When the board previously ran other firmware, start with the FLASH_ERASE file from the flasher instructions. This clears the BLE stack area that often causes bad upgrades.

2

Enter bootloader mode

Most supported boards enter UF2 or DFU mode after a quick double-tap on the reset button.

3

Select the nRF52 build

Choose the version, nRF52 family, exact model, and language before starting the device update flow.

4

Use Enter DFU Mode if the board supports it

The web flasher can request DFU mode from some boards. If it fails, double-tap reset and continue manually.

5

Flash the ZIP package and wait

nRF52 boards receive a DFU package rather than a raw binary. Leave the cable connected until the board reboots by itself.

First Boot Checklist

Display renders correctly

You should see the Whisper OS boot sequence and a readable UI. Garbled text usually means the wrong hardware variant was selected.

Buttons or joystick respond

Basic navigation should work immediately. If input is dead, confirm the build matches the board and input hardware.

Status indicators appear

Battery and Bluetooth state should be visible from the initial screens. Missing status is a sign of incomplete startup.

Bluetooth PIN is available

If the device shows no BLE PIN when expected, the Bluetooth stack likely did not initialize cleanly.

Bluetooth Pairing

Whisper OS keeps field operation on the device and moves heavier text entry or management tasks to a companion client. Pairing is the bridge.

MeshCore mobile app

Enable Bluetooth on your phone, wake the device, scan from the app, select the Whisper device, then enter the 6-digit PIN shown on the device screen.

Haikou web client

Open /haikou in a browser with Web Bluetooth support, click connect, and choose the device from the browser prompt.

GPS Duty-Cycle Modes

Supported standby-capable boards can reduce GPS battery draw by switching between short awake windows and longer standby windows. The core idea is simple: keep GPS awake until the first valid fix, then spend more of the hour in standby instead of running the receiver continuously.

Added GPS duty-cycle types for supported standby-capable boards. Fast saves about 11.4% battery life, Basic 22.0%, Eco 30.1%, and Ultra Eco 33.6%. These values come from measured Heltec V4 GPS current, using about 105mA while active and 78mA while in GPS sleep.

ModeHow It WorksBest ForStandby PatternBattery Gain
RealtimeGPS stays awake continuously for the fastest continuous updates.Driving, live tracking, or bench testingNo standby0.0%
FastFrequent refreshes with a modest battery saving.Cycling, city movement, or short field runs72 sec awake + 48 sec sleep11.4%
BasicBalanced refresh rate and battery life.General outdoor use and day hikes72 sec awake + 168 sec sleep22.0%
EcoLonger standby windows to favor battery life.Long hikes, camp movement, and slower travel1 min awake + 9 min sleep30.1%
Ultra EcoLongest standby windows for maximum battery savings.Stationary beacons, overnight use, and battery-first tracking1 min awake + 49 min sleep33.6%

Troubleshooting

Board not detected by the browser

Replace the USB cable, try a different USB port, and close any desktop serial tools that may already be holding the device.

Flash succeeded but the device does not boot correctly

Repeat the install with the exact board target. For ESP32, use the merged image. For nRF52, repeat the erase step before reflashing.

Bluetooth pairing fails

Wake the device screen first, remove old pairings on the phone or computer, then pair again using the current on-screen PIN.

Messages are not moving across the mesh

Check radio status, confirm nodes share the same network settings, and verify the device is not stuck with stale settings from an older install.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

We use cookies for analytics. Learn more