AtlasCube

Smart desk display for makersss

Join the AtlasCube community on Facebook Build photos, wiring help, firmware news and early looks at what is coming next. Questions get answered there fastest. Join the group →
esp32-s3 internet-radio audio-streaming bluetooth sd card wifi lvgl touchscreen mqtt esp-now podcast voice-control iot embedded firmware ota auto-update
⚡ Flash firmware

If you have the hardware: install firmware over USB in Chromium-based browsers via WebSerial.

Wiring diagrams

How to connect it: one diagram per supported panel, with the IR and button variants — and the drawio sources.

Get it on Google Play Android app

Remote control for AtlasCube — available on Google Play.

▶ Live web UI demo

Runs entirely in your browser — no device needed. State is stored locally.

GitHub

Project under active development — browse the source code and follow progress.

Wallpapers

Download display-ready artwork made for every supported AtlasCube resolution.

 Voice commands

Control AtlasCube by voice from the Android app — full command list in all supported languages.

Controller

The hardware pilot — a battery-powered ESP32-C6 screen that drives the radio over ESP-NOW.


Features

Audio

  • Internet radio — MP3, AAC, FLAC
  • HLS (.m3u8) live streams
  • ICY metadata display
  • Playlist — up to 512 stations
  • Station logos — artwork per station, looked up on Radio Browser or uploaded from your own file, converted in the browser and stored on the SD card
  • Podcasts — an episode plays as a finite stream with its title on screen and resumes where you left off; the Android app is the catalog
  • SD music player — local files with ID3 tags, shuffle / repeat
  • Network Music — plays MP3s straight off a NAS, a spare box with nginx on it, or any other HTTP server the radio can reach, browsing its folders on the device or in the web player, with the track length read from the file itself. Needs a server that answers directory requests with JSON over plain http://the setup page has a complete nginx config to paste
  • 10-band parametric EQ
  • Mono downmix for single-speaker builds
  • Bluetooth A2DP sink + HFP hands-free
  • Codecs: LDAC, aptX HD, aptX LL, aptX, SBC, AAC
  • External QCC5125 module, BT 5.1
  • 74HC157D I2S mux — hardware source switching via GPIO

Display & UI

  • LVGL GUI on ILI9341 320×240, ST7789V 320×240, ST7796U 480×320, ILI9488 480×320 TFT, CO5300 240×296 AMOLED, or SSD1322 256×64 mono OLED — selected at compile time
  • Clock, radio, playlist, EQ, settings screens
  • Audio VU meter — real-time FFT spectrum on the radio screen
  • Analog needle VU — two independent L/R needle meters overlaid on the wallpaper, so meter faces can be part of the background image
  • Stereo bar VU — two L/R bars with optional peak-hold, placed and coloured per screen
  • Dark and light themes
  • Rotary encoder + capacitive touch (CST816D or FT6336U) or resistive touch (XPT2046)
  • Push-buttons with configurable actions — up to ten buttons, each wired straight to a GPIO and GND with no extra parts. Short and long press are separate actions, so ten buttons cover twenty commands: playback, volume, mute, source switching, jumping to a screen, or menu navigation for a build with no rotary encoder at all. Pick the pins on the setup page, pick the actions in the web UI
  • 180° flip, colour inversion and independent touch orientation — all live from the web UI, for panels mounted upside-down or wired differently
  • Swipe gestures to switch screens; swipe-up opens settings / playlist
  • Tap-to-show on-screen controls overlay (play/pause, vol±, prev/next)
  • Visual widget layout editor with grouped controls and semantic previews
  • Theme-aware, adjustable background plates keep labels and station information readable over wallpapers
  • Wallpaper from SD or an internet JPEG URL — a different one per screen, presets, scheduled refresh, save to SD, and adjustable dimming
  • Online wallpaper gallery — browse artwork matching your panel resolution and install it to the device without leaving the layout editor
  • Custom boot splash logo from SD
  • Photo slideshow from SD
  • Screensavers — clock hands, starfield, fireworks, plasma, Game of Life, blank, Dim, or Dashboard

Weather

  • Optional current temperature and conditions on the home screen
  • Weather Icons with day/night condition variants
  • Open-Meteo works without an API key
  • OpenWeatherMap available as an alternative provider
  • Coordinates and refresh interval configured from the web UI

Events & notifications

  • Birthdays, namedays, reminders
  • Recurring: daily / weekly / monthly / yearly
  • Phone calendar mirror — the Android app pushes your upcoming entries to the device, read-only
  • Fullscreen alert + buzzer melody
  • Playback schedule — start radio or SD music with an optional stop time
  • Voice notifications — play a recorded clip from SD at a set time
  • Programmable notification tunes

Connectivity

  • WiFi with captive-portal setup (AP mode), or type the password on the device itself
  • HTTP + WebSocket server on-device
  • Web UI served from SPIFFS — no cloud
  • mDNS — reachable at <hostname>.local, so the app and your browser find it without an IP
  • NTP with configurable timezone
  • MQTT — radio control + up to 6 widgets (toggle / slider / label) on a dedicated on-device screen
  • OTA firmware update from the web UI — dual-slot with rollback + firmware backup (16 MB builds)
  • Automatic updates — the device checks for a new release at boot and, after an on-screen confirmation, installs new firmware and refreshes the web UI by itself

Remote control

  • Android app — available on Google Play: playback, playlist, events, equalizer, layout editor and a podcast browser
  • Voice commands from the phone — English, Polish, Czech, German, French, Hungarian and Hindi
  • Hardware pilot over ESP-NOW — a battery-powered remote that never joins the WiFi, so a button press acts immediately instead of waiting for a connection; it can browse and play the SD card and read the radio's settings and diagnostics
  • MQTT commands from any automation system
  • One documented command set behind all of them — web UI, app, pilot and MQTT speak the same protocol

Setup & maintenance

  • Runtime pin map — every GPIO is configured on the device's own setup page and stored in flash, so one firmware binary drives any wiring, no rebuild
  • Diagnostics — memory and PSRAM use, chip temperature, firmware and web-UI versions, MQTT broker state; on screen and as a copyable report in the web UI
  • One-file backup — export settings, theme, events, MQTT config, layout and station list as a single JSON and restore it later; no SD card needed
  • SD file manager in the browser — browse, upload, rename, move and delete, with inline preview of display images
  • SPIFFS ⇄ SD copy tool for backing the device up to the card
  • Built-in text editor for the configuration and web files

Dashboard screensaver

  • Ambient display polling any JSON HTTP/HTTPS endpoint and rendering a single value
  • Configurable title, URL, JSON path, suffix, and poll interval
  • HTTPS out of the box via ESP-IDF certificate bundle
  • Ships with NBP USD/PLN rate; point it at weather, crypto, home automation, GitHub stats, …

Coming soon

  • Enclosure — 3D-printed case in design; runs on the custom AtlasCube PCB as well as bare dev boards
  • Web melody editor — in-browser tool for composing buzzer tunes
  • Infrared remote — a €1 receiver on one GPIO, taught the keys of any spare TV remote; the keys map onto the same action list the push-buttons already use

Device screens

Clock — dark Clock — light Clock — dark Clock — light
Clock
Radio — dark Radio — light Radio — dark Radio — light
Radio
Playlist — dark Playlist — light
Playlist
Settings — dark Settings — light
Settings
Event notification — dark Event notification — light
Event notification
Equalizer
Equalizer
Bluetooth
Bluetooth
Diagram ILI9341/ST7796
Diagram with ILI9341/ST7796
Diagram CO5300
Diagram with CO5300
Diagram SSD1322
Diagram with SSD1322

Web UI

Web UI — home Home
Web UI — SD player SD Player
Layouts edit Layouts editor
Web UI — playlist Playlist
Web UI — bluetooth Bluetooth
Web UI — display Display
Web UI — dim & wake Dim & Wake
Web UI — weather Weather
Web UI — MQTT MQTT
Web UI — screensaver Screensavers
Web UI — theme Theme
Web UI — tools Tools
Web UI — system, updates and backup System & updates
Web UI — file manager File manager
Web UI — file editor Editor
Web UI — events Events
Web UI — equalizer Equalizer

Android app

App — radio Radio
App — playlist Playlist
App — bluetooth Bluetooth
App — device Device
App — more More
App — settings Device settings
App — events Events
App — layout editor Layout editor
Get it on Google Play