Plug a LoRa node into this computer with a USB cable, choose your board and
press one button. It installs OSHI Mesh: open-source firmware that stays fully Meshtastic-compatible and adds
reliable messaging for OSHI.
⚠️This browser can't talk to USB devices. Web Serial works in
Chrome, Edge, Brave, Opera and Arc on a computer — not in Safari or Firefox, and
not on iOS or Android. Open this page in one of those, or
see the other ways to get a node running.
Not connected.
Chip
—
MAC
—
Flash
—
Board
—
⚠️
⚠️
—
✓ Compatible with the Meshtastic network and apps · MeshCore through a bridge
—
—
✅Installed. Unplug the node and power it on, then open OSHI →
Settings → LoRa Node, or any Meshtastic app. It appears over Bluetooth within a few seconds.
Works with the networks that already exist
Meshtastic. Same radio settings, channels and encryption. An OSHI Mesh node
talks to Meshtastic nodes, relays their traffic, and the official Meshtastic apps still work with it.
Through Meshtastic relays. OSHI messages travel on their own encrypted
channel, so ordinary Meshtastic nodes (routers included) carry them onward without being able to read them. Only
nodes set to relay their own channels alone (LOCAL_ONLY, KNOWN_ONLY) will not.
Extra between OSHI Mesh nodes. Messages up to 11 KB split and reassembled, a
delivery receipt for the whole message, and messages kept on the radio until the recipient comes back.
MeshCore. A radio listens to one network at a time. To reach MeshCore, a site
runs the OSHI–MeshCore
bridge: one computer, two radios, one per network. The bridge is tested in software, not yet on air.
Open source. The firmware and the protocol are on
GitHub (GPL-3.0),
documented so other devices, firmwares and apps can use them.
When it is done, three things are left
Power the node on. Unplug it from the computer and give it power —
USB or a battery. It starts on its own.
Pair it in the OSHI app. On your iPhone: OSHI → Settings →
LoRa Node. The node shows up over Bluetooth within a few seconds; tap it.
Choose your region. A freshly flashed node starts with no region and
will not transmit at all — it pairs, reports "connected", and sends nothing. Pick your region
on that same screen and press Set region.
Region is a legal setting, not a preference: which
frequencies and what power a radio may use is decided by your country's regulator. OSHI suggests one
from your phone's locale and asks you to confirm it.
What this does, exactly
Reads the chip so it can refuse a board the firmware isn't for. A mismatched
image is how a node gets bricked, so this check is not skippable.
Erases the flash completely, then writes each image at the offset the firmware's
own installer specifies — never a guessed address.
Reads back what it wrote and compares, so "done" means verified rather than
"no error was thrown".
Boards that install a different way
Some very common nodes — the RAK WisBlock
boards, the LILYGO T-Echo, anything built on a Raspberry Pi Pico — use a different chip that the
button above cannot talk to. They are not harder to install; they just work another way, and no cable
trick will make the flasher on this page reach them.
Download the file for your board from the list below. It ends in
.uf2.
Plug the board in and press its reset button twice, quickly. A USB
drive appears on your computer, the way a memory stick does.
Drag the .uf2 file onto that drive. The board copies it, restarts
on its own and the drive disappears. That is the whole install — there is nothing to verify by hand.
Two boards are different again: the Wio-E5 and the RAK3172
are STM32, and their firmware is a raw .bin that needs STM32CubeProgrammer or a DFU tool. Neither a
browser nor a drag-and-drop drive can install it, so no file for them is offered here.
These files are built by OSHI from the public source code, from
the same version as the images above. Checksums are in SHA256SUMS.txt next to them.