Skip to content

About

Volumio Remote Control on an ESP32 CYD 2.8" (Cheap Yellow Display)

Resources

Stars

4 stars

Watchers

1 watching

Forks

Repository files navigation

Volumio Player - CYD 2.8"

A remote display + touch transport controls for a Volumio box, running on a "CYD" (Cheap Yellow Display) 2.8" ESP32 board - ESP32-2432S028R. ST7789 TFT Driver was used.

A browser based setup for ST7789 is supported, check the Setup section below.

VolumioRemote

Arduino IDE sketch.

Hardware

  • ESP32 CYD (Cheap Yellow Display) — 2.8" 240×320 TFT with XPT2046 touchscreen
  • The board used and tested is the ST7789-based CYD. Earlier boards used an ILI9341 driver. Included are both ILI9341 and ST7789 drivers. Copy the correct one to your TFT_eSPI folder in your Arduino libraries and rename it to User_Setup.h.
CYD_Back

Features

  • Wifi signal strength
  • Looks for Volumio.local (or IP address)
  • Retrieves album art from iTunes API or Discogs (via token)
  • Uses familiar Volumio controls for play/stop and volume
  • Web Radio - display station, album art, artist and song title
  • Web Radio mode - progress bar is a volume slider
  • USB - displays artist, album art, song title, album info
  • Supports web radio and USB navigation for selection
  • Log into VolumioRemote.local (or IP) to set preferences
  • Calibration built in for touch screen (first run or via Preferences)
  • Uses Discogs free API to retrieve album artwork (sign in to Discogs to get free API; no subscription required)
  • Screen saver when idle for selected minutes (saves burn in)
  • Multi-language supported: English, French, German, Spanish, Dutch, Portuguese
  • Captive portal for easy Wifi setup on LAN

Select Source

Touch the lined icon opposite corner of the wifi display. Select from any web radios you have saved in Volumio's Favorite Radios, USB, your favourite playlists. When playing from USB, providing the song was saved with artist/album Volumio Remote will look for the album cover. An album cover that can't be found will display a "no clue" graphic. Selecting any song in a USB song list or Playlist will play that list and stop, it does not repeat ad nauseam.

mainWind

and from a USB drive:

playlist

USB/Playlist Player

The USB/Playlist play section mirrors the way Volumio works in a web browser. If you press the > beside a folder it will play all the items in that folder. Selecting a song inside a folder will play all the songs in that folder (and any folders within that list of songs same as Volumio).

sources

Board settings (Arduino IDE)

  • Board: ESP32 Dev Module
  • Partition Scheme: No OTA (2MB APP/2MB SPIFFS)

Libraries

  • TFT_eSPI is in this repository for ST7789 driver
  • TFT_eSPI
  • ArduinoJson
  • HTTPClient
  • WebServer
  • ESPmDNS
  • WiFiManager

Language Selection

Open Language.h and uncomment the language you want:

#define LANG_EN   // English  (default)
//#define LANG_FR   // French
//#define LANG_DE   // German
//#define LANG_ES   // Spanish
//#define LANG_NL   // Dutch
//#define LANG_PT   // Portuguese

Note the language setting does NOT translate the songs or albums that Volumio gives it. It is for the VolumioRemote user interface.

Setup

🚀 Quick Install (no Arduino IDE needed)

Note this install is for the ST7789 driver!

Click here to install VolumioRemoteCYD from your browser

Works in Chrome, Edge, Opera, or recent Firefox on desktop. Not supported in Safari. Plug in your CYD over USB, pick your language, and click Install.


1. Download and rename the sketch folder

Download the zip from GitHub and extract it. GitHub will produce a folder called "VolumioRemoteCYD-master" or "VolumioRemoteCYD-main". Remove the "-master" or "-main" from the folder/directory name. This must be done before the sketch is loaded into the Arduino 2.3.x IDE.

2. Select the correct board and partition scheme

See board settings above.

3. Flash the sketch to the CYD

This must be done first so the data folder contents will then upload properly.

4. Upload the LittleFS data folder contents

Graphics and fonts are contained in the data folder. Use the following to assist with uploading the data folder contents.

Arduino IDE 1.x

Install the ESP32 LittleFS upload plugin (if needed):

Arduino IDE 2.x

Install the separate upload tool (if needed):

⚠️ The serial monitor must be closed before uploading the data partition.

Preferences

Log into VolumioRemote.local (or the IP) and there will be settings for your remote player.

Preferences

Navigate to Discogs and sign up. It's a no cost service and allows AlbumArt to be retrieved. Once signed in:

  • Top right: View My Profile
  • When that shows, a Settings icon will show on the right, click it
  • Click on developers from the options on the left
  • Click the Generate new token button
  • Copy that token and paste into VolumioRemote and use Update button to save it

Enable the iTunes toggle. Again it uses a public API, no sign up or registration required.

Select your screen saver and timeout for it to activate.

Should the need ever arise to calibrate the touch screen, it can be directly from the Preferences. All it does is require you to touch the screen according to the corner marker it shows. Unless something changes, it's a one and done.


VolumioRemote ©2026 Wabbit Wanch Design - Open Source under the GPL-3.0 license

About

Volumio Remote Control on an ESP32 CYD 2.8" (Cheap Yellow Display)

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages