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”.
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.
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”.
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.
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.
Two ways to do it. Option A handles everything from the browser — no Python, no terminal.
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.
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:
COM5./dev/cu.usbserial-XXXX or /dev/cu.wchusbserial-XXXX.After 1–2 minutes you will see Hash of data verified — the cube reboots on its own straight into the radio.
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.
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.