ESP32AI.ME
Polish radio stations/noise for better sleep/ playing on my desk

Polish radio that
just plays.

A little cube for the shelf or the suitcase. Switch it on and RMF, ZET or Eska plays, at home and anywhere with Wi-Fi. Since release 0.2 you build the nine favourites yourself, out of 236 tested stations. At night the cube can hum quietly instead of playing. No fees, no accounts, no apps.

Air sensors — buy them only if you want them

The radio plays on its own and needs no add-on at all. But plug a small module into the socket on its side and the cube starts showing when the room has got stuffy — and writes "air the room" in plain words. It is a plug, nothing to solder, and the cube works out for itself what you attached.

CO2 159 zł · CO2L 239 zł · ENV Pro 99 zł · splitter for both 16.90 zł

See what each module gives →

open project · free system · what's new in 0.4.6 · build log for the curious

▣ SEE IT PLAY LOOP
plays on loopclick for sound
236 stations

You pick your own nine

RMF, ZET, Eska, Antyradio, Tok FM, Chillizet and two hundred more, every one verified by an actual connection. You set the nine favourites yourself and switch them with one tap on the screen.
Browse every station →

noise for sleep

A lullaby at night

White, pink or brown noise for falling asleep, in a small child’s room and for deep-focus work. This part works even without an internet connection.

0 fees

Buy once, play for years

The cube costs about €50 and the system is free. Nothing to subscribe to, nothing to sign up for, no ads. Plays through your Bluetooth speaker or its own.

who it is for

It keeps you company. That is the whole job.

For mom and dad

The grandkids set it up once, then it just plays. Three big buttons, zero computer fuss.

For Poles abroad

Polish mornings in Dublin, Oslo or Chicago. Any home or hotel Wi-Fi with a password will do; networks with a sign-in page will not.

For work

A backdrop that never distracts: your station or steady noise for deep focus.

For bedtime

The cube hums, the baby sleeps, and the phone stays in the kitchen where it belongs.

A small cube that gives your day a backdrop — music or noise — so living and working simply feel better.

I built it for my family abroad. Now it can be yours. — Tomek

FUN FACT

The system inside this cube was written by two AI agents, 4.65 billion tokens of work, with a human supervising it and answering for it.

Quite possibly one of the first home devices built this way. The build log is public. read what actually happened →

OPEN SOURCE

The whole system is free software (GPL-3.0), and its code lives publicly on GitHub.

The full corresponding source, with rebuild instructions, sits next to every download. Issues and patches welcome. github.com/fiedoruk/esp32ai-me-open-radio ↗

quick ones

Three questions you probably have

Which stations will it play?

You choose nine from a catalogue of 236 tested ones, from RMF to the parish station in your own town. The cube asks about them at first power-on, and you change them later in the settings.

But phone apps exist.

They do. Except a phone rings, notifies, and leaves the kitchen with you. The cube stays and plays.

What about my data?

The cube doesn't know what you're listening to — and has no one to tell. No accounts, no tracking. One exception since 0.4.6: when your router stops answering the radio's name lookups, the radio asks Cloudflare (1.1.1.1, then 1.0.0.1). Only then does Cloudflare see the names of the servers the radio looks up, station servers included, and your connection's public IP address.

the specifics

Common questions

These came from the first users, mostly about waiting, pairing and the battery.

Do I need a Bluetooth speaker?

No. The cube has its own speaker and plays from the first minute, though it can pause about every three seconds, on 0.4.6 as on 0.4.5. Bluetooth is an option for bigger and steadier sound; add it whenever you like.

How do I pair a Bluetooth speaker?

Put the speaker in pairing mode (usually hold its BT button until it blinks). On the cube, tap the status card on the main screen or open Settings → Bluetooth and choose “Scan speakers”. The cube remembers it for good. Works with standards-based Bluetooth Classic A2DP speakers; LE-Audio-only models don’t.

How long does connecting take?

Anywhere from a few seconds to a minute, depending on signal and the mood of the 2.4 GHz band. The cube keeps retrying by itself, so just give it a moment. It starts on its built-in speaker and switches to Bluetooth on its own once the speaker answers.

What happens when the internet dies?

The noise generator (white, pink, brown) keeps playing, because it is made inside the cube, not on the network. And the radio comes back by itself once the network is up. No reboots, no clicking.

How long does the battery last?

Measured on the device: about 2.5 hours of typical playback, close to three in favourable conditions (draw ~140 mA, ~190 mA at peaks). Dimming the screen adds only a little; the radio and Bluetooth cost the most. The battery is meant as a bridge for carrying the cube around and short outages. Day to day it lives on USB-C.

Does the cube update itself?

No, and it never will. There is no cloud and no account, so nothing changes while you sleep. You install a new version yourself from this site; the factory image erases your settings, and a cube already on 0.4.5 can take an update that keeps them.

Why are station logos missing at first?

The cube downloads them by itself in the background, in a few passes after boot. Until then stations wear clean monograms. They'll appear on their own, so do nothing.

The cube can’t see my Wi-Fi.

The cube joins 2.4 GHz networks (like most smart-home gear). Check that your router broadcasts the 2.4 GHz band under its own visible name.

What hardware does it run on?

The M5Stack Core2 cube. Field-confirmed across the whole line so far (v1.0 with AXP192, v1.1 with AXP2101 and v1.3) with the same single file. Every new revision gets tested as soon as I get one.

How do I change my nine stations?

Settings → System → Console. The cube shows a QR code, scan it with your phone and pick stations from the 236 catalogue in the browser. The session closes itself.

measured on our cube

Where it plays, and where it stops

Release 0.4.5 on one cube (Core2 v1.3), with one Bluetooth speaker (one row without it), one home router and RMF FM at 128 kb/s. We simulated the slow connections: a test build of the same code held back its own data on purpose. On the 0.4.6 bytes we have one run so far: 20 hours through a speaker without a restart, and after each of seven Wi-Fi protection blocks the sound came back after about a minute.

ConditionsWhat the cube doesMeasured on
Good Wi-Fi, signal −64 to −75 dBmPlays. Two hours through a Bluetooth speaker without a single gap, and no restart.the published update
No Bluetooth speaker: the cube’s own speaker, station data arriving in timePlays with short pauses. About every three seconds, in one test on 28 October. We have not checked whether 0.4.4 does the same.the published update
Weak Wi-Fi, down to −82 dBm (cube far from the router)Keeps going. 13.9 hours without a restart. The stream stopped six times and came back by itself each time.a test build, one night
A night on the published update, 21 hours, signal −83 to −61 dBmTwo restarts in the evening, then 12.8 hours without one. Twice (20:05 and 21:12) the speaker lost its link on weak signal and the cube restarted while reconnecting; each time it came back by itself with Wi-Fi, station and speaker in about 2 minutes. Then 12.8 hours without a restart, no memory errors, the speaker connected throughout. Eleven TKIP blocks of about 1–1.5 minutes; sound came back after each.the published update, one night
Bluetooth speaker switched off and onNo restart. 177 times across all our logs up to 28 October. The restart in the row above happens only when the link drops while the speaker is on.all logs up to 28 October
The router blocks Wi-Fi for a minute (its TKIP defence)About a minute of silence, then back by itself. Wi-Fi returns after about 64 s, sound after about 66 s. No restart, the Bluetooth speaker stays connected, and the setup network does not open.a test build 10×, the published file 1×
Station data arrives at 40 % of the speed it plays atPlays with breaks. The speaker connects and has sound after 7 s. About every minute and a half the station’s server closes the connection (20 times in 30 minutes), and the cube opens it again by itself.simulated
Data at about 36 %Plays with breaks. The speaker waits for data instead of being dropped, has sound 8 s after it connects, and the Bluetooth link holds.simulated
Data slower than about 34 %The station does not start. The cube needs 16 KiB within 3 seconds to begin. It tries the station’s other servers, stays silent, and disconnects the speaker because there is nothing to play.simulated
Update from 0.4.4, same network, same daySettings stay. 0.4.4 dropped the stream 6 times in 110 s and had no Bluetooth for 4 minutes. 0.4.5: no drops, Bluetooth after 62 s.the published update

What we did not measure

  • Other Core2 revisions, and a second Bluetooth speaker.
  • Other routers, or networks without TKIP. This is one home.
  • Other stations and bitrates: only MP3 at 128 kb/s. AAC and HLS are not supported.
  • A really slow connection in someone’s home. The 30–40 % rows were simulated with a limiter in a test build.
  • Running on battery, and add-on modules.
  • The browser update, a fresh install of 0.4.5, changing stations and pairing a new speaker.
how to get one

Three steps and it plays

No soldering, no programming. Really.

STEP 1

Buy the cube

A ready-made device, the M5Stack Core2, about €50. Screen, speaker and battery already inside, nothing to assemble.

M5Stack~€50 · maker's own store ↗ Botlandapprox. 220 PLN · ships from Poland ↗

Paid partnership · M5Stack pays me a commission when you buy through my link; Botland gives me devices to test.

STEP 2

Flash the system right here

Connect the cube to your computer with a USB-C cable, open this page in Chrome or Edge and click. Flashing takes two minutes; then Wi-Fi, speaker and stations — about fifteen in total.

This browser cannot do it, open in Chrome/Edge on a computer. Blocked, try Chrome/Edge.

free 0.4.6 system · other methods and the full guide →

STEP 3

Connect to Wi-Fi with your phone

The cube shows you a code, the phone does the rest, like setting up earbuds. Then it asks about stations: you pick your nine from a list you can go through in advance here. From then on: switch it on and it plays.

got a Bluetooth speaker? pair it with one tap

free systemno accounts, no subscriptionsopen projectfull guidetech details and 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. The name, the story and the distribution channel are mine too. That is how I built zenbox, the hosting brand I co-founded as CMO and took into Poland's top five. For clients I do the same: I frame the decision, set the brand and the messaging, run the build and put my name on the result. I've been doing this since 2003, 8 systems in production, 47 projects under NDA. I take on work, from a one-off consultation to running an entire build.