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.
Arduino IDE sketch.
- 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.
- 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
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.
and from a USB drive:
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).
- Board: ESP32 Dev Module
- Partition Scheme: No OTA (2MB APP/2MB SPIFFS)
- TFT_eSPI is in this repository for ST7789 driver
- TFT_eSPI
- ArduinoJson
- HTTPClient
- WebServer
- ESPmDNS
- WiFiManager
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 // PortugueseNote the language setting does NOT translate the songs or albums that Volumio gives it. It is for the VolumioRemote user interface.
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.
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.
See board settings above.
This must be done first so the data folder contents will then upload properly.
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):
- Download from: https://github.com/lorol/LITTLEFS_esp32fs-plugin/releases
- Place the
.jarfile in<Arduino sketchbook>/tools/ESP32LittleFS/tool/ - Restart the IDE
- Use Tools menu → ESP32 LittleFS Data Upload
Arduino IDE 2.x
Install the separate upload tool (if needed):
- Download from: https://github.com/earlephilhower/arduino-littlefs-upload/releases
- Place the
.vsixfile in the correct location per the instructions on that page - Restart the IDE
- On macOS, press [⌘] + [Shift] + [P], Windows: [Ctrl] + [Shift] + [P]
- Type in Upload and you'll see "Upload LittleFS to PICO/ESP8266/ESP32"
⚠️ The serial monitor must be closed before uploading the data partition.
Log into VolumioRemote.local (or the IP) and there will be settings for your remote player.
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.