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. Official M5Stack store ↗ (ships worldwide) or your local electronics distributor — search for “M5Stack Core2”.

STEP 02IMAGE

Download the system image

A single .bin file with the whole system — no compiling, no development environments.

Download open-radio-0-1.bin (2.3 MB)

SHA-256: a075693cbc401ebadfc222befc53b899d17e9df564d6277c28d51f434f77b671 (.sha256 file) ·

By downloading you accept the terms: GPL-3.0 license (source on request, full repo coming), project name protected, test release with no warranty. Full text: LICENSE-0-1.txt.

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

Two ways to do it. Option A handles everything from the browser — no Python, no terminal.

▣ OPTION A — FROM THE BROWSER (EASIEST)

Open this page in Chrome or Edge on a computer (Safari and Firefox lack Web Serial). Cube connected via cable → click the button → pick the port from the list → the page flashes the image and reboots the cube on its own.

This browser has no Web Serial — open in Chrome/Edge or use option B. Web Serial blocked — use option B.

Option B — 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-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-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.

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