Thanks to visit codestin.com
Credit goes to docs.iroh.computer

Skip to main content
Send data to and from any device running anywhere, big or small: cloud servers, tablets, or embedded systems. The core peer-to-peer technology is open source and built on open standards, so you’re never locked in.

Operating Systems

iroh supports all major operating systems.

Hardware

iroh is regularly tested on a wide range of hardware, from servers to microcontrollers. For hardware you don’t see here, or to integrate your custom hardware into our testing frameworks on every iroh release, contact us.

Microcontrollers

iroh can run as a full QUIC endpoint on microcontrollers, using the same endpoint IDs, tickets, and protocols as it would on a server. What a device can do mostly comes down to its available RAM and flash:
  • RAM. With PSRAM, a device has room for the relay client and pkarr address lookup. That means you can connect to it from anywhere, including from a browser via WebAssembly.
  • Without PSRAM (~512 KiB internal SRAM), the relay client and pkarr address lookup won’t fit. You can still connect on the local network using a long ticket that includes the device’s IP address, or discover it by endpoint ID with mDNS. Browsers can’t connect this way because they don’t support mDNS or direct UDP.
  • Flash. Devices with less than 8 MiB of flash need our reduced-dependency build of iroh. Common 4 MiB development boards fit with a little size tuning (opt-level = "z", panic = "immediate-abort", and -Os on the ESP-IDF side), with no custom partition table required.

ESP32

The RISC-V variants (ESP32-C*, ESP32-P*) build with stock Rust. Xtensa (ESP32, ESP32-S3) needs the esp Rust toolchain. The ESP32-P4 has no radio of its own. WiFi comes from an ESP32-C6 companion over ESP-Hosted.
You’ll find working firmware for every variant above, along with a desktop CLI and browser (WebAssembly) client, in iroh-esp32-examples. For a complete example, see iroh-smart-fan: a PSRAM ESP32 that reads a temperature sensor and drives a fan over irpc, with controls available from a terminal or browser.

RP2350: Pico 2 and Presto

iroh also runs on the RP2350, found in the Raspberry Pi Pico 2 and the Pimoroni Presto (RP2350B, RM2 radio, 8 MiB PSRAM). Relay and address lookup are enabled, so you can connect to these boards from anywhere. These chips don’t yet have an upstream Rust std target, so we built one. It uses nightly Rust with a custom Cortex-M33 target, the Pico SDK for startup, USB, and the radio, FreeRTOS for threads, newlib, and lwIP for networking. iroh builds on top without modification. To use a microcontroller in production, contact us for licensing, support, and access to the Pico/Presto examples.

Network Transports

If there is a transport you need that is not listed, contact us.