OR OPEN RADIO · INSTALL
install guide

From the box to a playing cube
in fifteen minutes.

No soldering and no compiling: you buy the cube, flash the image straight from the browser (or with one terminal command) and connect it to Wi-Fi with your phone. Every step is below.

WHAT YOU NEED M5Stack Core2 cubeUSB-C data cableWindows / macOS computerhome Wi-Fi, 2.4 GHzBT speaker (optional)
YOUR COMPUTER USB-C DATA CABLE one esptool command → the system image lands on the cube THE CUBE CORE2 USB-C
STEP 01BUY

Buy the cube

M5Stack Core2 — one box with the screen, speaker, battery and both radios, ~€50. No soldering iron required for anything. Buy it from the official M5Stack store ↗ (ships worldwide), or in Poland from Botland ↗ (approx. 220 PLN, 24 h shipping). Every revision so far — v1.0, v1.1, v1.3 — runs the same file.

STEP 02IMAGE

Download the system image

A single .bin file with the whole system — no compiling, no development environments. Current release: 0.2.1 (a catalogue of 218 measured stations, a browser station console with an on-device QR code, automatic station logos).

Download open-radio-0-2-1.bin (2.4 MB)

SHA-256: 295ca3fdf9f9daf7a11ee979bc3371b2c79aaf48de5afe455668b72b23dc0546 (.sha256 file) ·

By downloading you accept the terms: GPL-3.0 license (full sources in the GitHub repository ↗), project name protected, no warranty. Full text: LICENSE-0-2-1.txt.

Previous release 0.1 (stable)

open-radio-0-1.bin (2.3 MB) · SHA-256: a075693cbc401ebadfc222befc53b899d17e9df564d6277c28d51f434f77b671 (.sha256)

STEP 03CABLE

Connect the cube to your computer

Use a USB-C cable that carries data (many “charging” cables have no data lines and the computer will see nothing). The cube shows up as a serial port through its CH9102 chip. If your system does not see it, install the driver from the M5Stack driver page ↗ (the “CH9102 Driver” section, Windows and macOS builds) and replug the cable.

STEP 04FLASH

Flash the image

▣ FROM THE BROWSER — THE MAIN PATH

Three moves, nothing to install: 1. open this page in Chrome or Edge on a computer, cube on the cable · 2. click the button and pick the port · 3. confirm erase and install — the page flashes the system and reboots the cube (~2 min).

This browser has no Web Serial — open in Chrome/Edge or expand the options below. Web Serial blocked — expand the options below.

In the port picker the cube may appear as an “Unnamed device”, “USB Single Serial”, cu.usbserial-… (macOS) or COM… (Windows) — the name comes from the cube's factory USB chip (CH9102), not from our system. Unplug other USB-serial devices and the cube will be the only entry.

Other options: stable release 0.1 and terminal install (esptool)

▣ RELEASE 0.1 FROM THE BROWSER

This browser has no Web Serial. Web Serial blocked.

Terminal (Safari/Firefox/Linux, or if you prefer the classic way). esptool is Espressif’s official tool. You install it once and use it with a single command:

▣ WINDOWS

  1. Install Python ↗ — tick “Add python.exe to PATH” in the installer.
  2. Open the Command Prompt (Start → type “cmd”) and install the tool:
    python -m pip install esptool
  3. Find the port number: Device Manager → Ports (COM & LPT) — e.g. COM5.
  4. Flash the image (swap COM5 and the file name for yours):
    python -m esptool --chip esp32 --port COM5 --baud 460800 write_flash 0x0 open-radio-0-2-1.bin

▣ MACOS

  1. Open Terminal (Spotlight → “Terminal”). Python 3 ships with the system.
  2. Install the tool:
    python3 -m pip install esptool
  3. Find the cube’s port:
    ls /dev/cu.*
    Look for an entry like /dev/cu.usbserial-XXXX or /dev/cu.wchusbserial-XXXX.
  4. Flash the image (swap the port and file name for yours):
    python3 -m esptool --chip esp32 --port /dev/cu.usbserial-XXXX --baud 460800 write_flash 0x0 open-radio-0-2-1.bin

After 1–2 minutes you will see Hash of data verified — the cube reboots on its own straight into the radio.

STEP 05FIRST BOOT

Connect to Wi-Fi with your phone

The cube brings up its own temporary setup network. On your phone: join the OpenRadio-Setup network and enter the one-time code shown on the cube’s screen. The portal opens by itself (if not, go to 192.168.4.1), add your home Wi-Fi there and you are done. The phone is no longer needed.

Right after that the cube asks about stations: you pick nine from a catalogue of 218 tested ones, and you can go through the list on a computer first. You change it later in the settings, with no reflashing.

STEP 06SPEAKER

Pair a Bluetooth speaker (optional)

The built-in speaker always plays first. Want better sound: put your BT speaker in pairing mode and tap scan on the cube’s Bluetooth screen — the speaker gets remembered and the two connect on their own from then on. A tip straight from our measurements: the cube likes to sit more than 2 m from the router, whose transmitter can drown out Bluetooth.

Common stumbles:
computer does not see the cube9 times out of 10 it is a cable with no data lines — grab another one; then the CH9102 driver (Step 03)
“Permission denied” / port busyclose the programs holding the serial port (Arduino IDE, serial monitors) and try again — no sudo needed
flash OK, but nothing playsunplug and replug the power (power-cycle); on the first station start the cube buffers for about 2 s
← Back to the cube page Build log
Tomasz Fiedoruk
who built this

Tomasz Fiedoruk — strategic advisor: AI, IT, marketing

Two AI agents wrote this system. I supervised it, and I answer for it. That's how I work for clients: I frame the decision, run the build and put my name on the result. Doing this since 2003, 8 systems in production, 47 projects under NDA.