Skip to content

e2002/yoradio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ёRadio

Web-radio based on ESP32-audioI2S or/and ESP32-vs1053_ext library


NEW!

yoRadio Printed Circuit Boards repository:

https://github.com/e2002/yopcb


More images in Images.md

Hardware

Required:

ESP32 board: https://aliexpress.com/item/32847027609.html
I2S DAC, roughly like this one: https://aliexpress.com/item/1005001993192815.html
https://aliexpress.com/item/1005002011542576.html
or VS1053b module : https://aliexpress.com/item/32893187079.html
https://aliexpress.com/item/32838958284.html
https://aliexpress.com/item/32965676064.html

Optional:

Displays

(see Wiki for more details)

Controls
RTC

Connection tables

Use this tool to build your own connection table and myoptions.h file.


https://e2002.github.io/docs/myoptions-generator.html


Dependencies

Libraries:

Library Manager: Adafruit_GFX, Adafruit_ST7735*, Adafruit_SSD1306*, Adafruit_PCD8544*, Adafruit_SH110X*, Adafruit_SSD1327*, Adafruit_ILI9341*, Adafruit_SSD1305*, TFT_22_ILI9225* (* depending on display model), OneButton, IRremoteESP8266, XPT2046_Touchscreen, RTCLib
Github: ESPAsyncWebServer, AsyncTCP, async-mqtt-client (if you need MQTT support) <<< starting with version 0.8.920, these libraries have been moved into the project, and there is no need to install them additionally.

Tool:

ESP32 Filesystem Uploader

See wiki for details


Hardware setup

Don't edit the options.h!
Hardware is adjustment in the myoptions.h file.

Important! You must choose between I2S DAC and VS1053 by disabling the second module in the settings:

// If I2S DAC used:
#define I2S_DOUT      27
#define VS1053_CS     255
// If VS1053 used:
#define I2S_DOUT      255
#define VS1053_CS     27

Define display model:

#define DSP_MODEL  DSP_ST7735 /*  default - DSP_DUMMY  */

The ST7735 display submodel:

#define DTYPE INITR_BLACKTAB // 1.8' https://aliexpress.ru/item/1005002822797745.html
//#define DTYPE INITR_144GREENTAB // 1.44' https://aliexpress.ru/item/1005002822797745.html

Rotation of the display:

#define TFT_ROTATE 3 // 270 degrees
Note: If INITR_BLACKTAB dsp have a noisy line on one side of the screen, then in Adafruit_ST7735.cpp:
  // Black tab, change MADCTL color filter
  if ((options == INITR_BLACKTAB) || (options == INITR_MINI160x80)) {
    uint8_t data = 0xC0;
    sendCommand(ST77XX_MADCTL, &data, 1);
    _colstart = 2; // ← add this line
    _rowstart = 1; // ← add this line
  }

Quick start


  • Arduino IDE version 2.x.x is not supported. Use Arduino IDE 1.8.19
  • ESP32 core version 2.0.0 or higher is required!
  1. Generate a myoptions.h file for your hardware configuration using this tool.
  2. Put myoptions.h file next to yoRadio.ino.
  3. Replace file Arduino/libraries/Adafruit_GFX_Library/glcdfont.c with file yoRadio/fonts/glcdfont.c
  4. Restart Arduino IDE.
  5. In ArduinoIDE - upload sketch data via Tools→ESP32 Sketch Data Upload (it's here)
  6. Upload the sketch to the board
  7. Connect to yoRadioAP access point with password 12345987, go to http://192.168.4.1/ configure and wifi connections.
    *this step can be skipped if you add WiFiSSID WiFiPassword pairs to the yoRadio/data/data/wifi.csv file (tab-separated values, one line per access point) before uploading the sketch data in step 1
  8. After successful connection go to http://<yoipaddress>/ , add stations to playlist (or import WebStations.txt from KaRadio)
  9. Well done!

See wiki for details


Update

  1. Backup your settings:
    download http://<yoradioip>/data/playlist.csv and http://<yoradioip>/data/wifi.csv and place them in the yoRadio/data/data/ folder
  2. In ArduinoIDE - upload sketch data via Tools→ESP32 Sketch Data Upload
  3. Upload the sketch to the board
  4. Go to page http://<yoradioip>/ in the browser and press Ctrl+F5 to update the scripts.
  5. Well done!

Update over web-interface

  1. Backup your settings:
    download http://<yoradioip>/data/playlist.csv and http://<yoradioip>/data/wifi.csv and place them in the yoRadio/data/data/ folder
  2. Get firmware binary: Sketch → Export compiled binary
  3. Get SPIFFS binary: disconnect ESP32 from your computer, click on ESP32 Data Sketch Upload.
    You will get an error and file path

  1. Go to page http://<yoradioip>/update and upload yoRadio.ino.esp32.bin and yoRadio.spiffs.bin in turn, checking the appropriate upload options.
  2. Well done!

MQTT

  1. Copy file examples/mqttoptions.h to yoRadio/ directory
  2. In the mqttoptions.h file, change the options to the ones you need
  3. Well done!

Home Assistant


  1. Requires MQTT integration
  2. Copy directory HA/custom_components/yoradio to .homeassistant/custom_components/
  3. Add yoRadio entity into .homeassistant/configuration.yaml (see example)
  4. Restart Home Assistant
  5. Add Lovelace Media Player card to UI (or mini-media-player card)
  6. Well done!

More features

  • Can add up to 65535 stations to a playlist. Supports and imports KaRadio playlists (WebStations.txt)

  • Telnet with KaRadio format output
    see list of available commands

  • MQTT support
    Topics:
    MQTT_ROOT_TOPIC/command - Commands
    MQTT_ROOT_TOPIC/status - Player status
    MQTT_ROOT_TOPIC/playlist - Playlist URL
    MQTT_ROOT_TOPIC/volume - Current volume
    Commands:
    prev - prev station
    next - next station
    toggle - start/stop playing
    stop - stop playing
    start, play - start playing
    boot, reboot - reboot
    volm - step vol down
    volp - step vol up
    vol x - set volume
    play x - play station x

  • Home Assistant support


Plugins

There is no documentation yet, you will have to deal with the examples, which is in directory examples/plugins/.
Work is in progress...


Version history

v0.9.300

  • added the ability to play SDCARD without an Internet connection. More in Wiki

v0.9.280

  • fixed an issue where it was impossible to reconnect when the WiFi connection was lost

v0.9.273

  • fixed an "Guru Meditation Error" when playing streams with the ESP32 v2.0.10 and higher core installed

v0.9.260

  • fixed date display bug for ILI9488/ILI9486 displays

v0.9.259

  • fixed a hang bug when switching to SD mode after removing the SD
  • fixed a hangup error when the connection to the stream was lost in WEB mode

v0.9.250

  • added support for DS1307 or DS3231 RTC module (you need to install the RTCLib library in the library manager)
  • setup
#define RTC_MODULE	DS3231	/* or DS1307	*/
#define RTC_SDA       <pin>
#define RTC_SCL       <pin>

v0.9.242

  • fixed a hang bug when scrolling through an SD playlist with an encoder in configurations with VS1053B
  • fixed a hang bug when quickly switching SD / WEB modes from the WEB interface in configurations with VS1053B
  • fixes in the logic of work

v0.9.236

  • fix compilation error 'class NetServer' has no member named 'resetQueue'

v0.9.235

  • SD card playlist moved from SPIFFS to SD card
  • new parameter #define SD_MAX_LEVELS - Search depth for files on SD card
  • fixed bugs with SD card in multi-threaded mode

v0.9.220

  • fixed SD prelist indexing error when switching Web>>SD
  • fixed a bug of switching to the next track when accidentally playing SD
  • fixed import of large playlists (tried). PS: import playlist size is limited by SPIFFS size (SPIFFS.totalBytes()/100*65-SPIFFS.usedBytes() = approximately 60kb )
  • new url parameter - http://YPRADIOIP/?clearspiffs - for clearing tails from SD playlist
  • optimization of the issuance of the WEB-interface
  • brought back the functionality of the track slider
  • fixing bugs in the application logic

v0.9.201

  • fixed a bug when importing a playlist

v0.9.200

!!! a full update with Sketch data upload is required. After updating please press CTRL+F5 in browser !!!

  • implementation of WEB/SD mode switching without reboot
  • replacement of SD cards without turning off the power
  • switching WEB / SD from the web interface. full update required, including SPIFFS Data
  • fixing the Home Assistant integration behavior logic
  • SD_HSPI parameter now works. Pins HSPI - 13(MOSI) 12(MISO) 14(CLK)
  • new parameter SD_SPIPINS. #define SD_SPIPINS sck, miso, mosi
  • sck, miso, mosi - any available pins. Used for "TTGO Tm Music Album" boards #define SD_SPIPINS 14, 2, 15
  • fixed a bug with garbage appearing on display ILI9225
  • the slider for moving along the SD track is temporarily not working.
  • bug fixes

v0.9.180

  • OneButton library moved to the project

v0.9.177

  • fixed bitrate display error when playing SD on VS1053B modules

v0.9.174

  • added forced shutdown of smartstart when WebSocket freezes on problem stations
  • added bitrate icon when playing files from SD card
  • fix html markup errors

v0.9.161

  • fixed errors 403 Account already in use, 401 Authorization required
  • fixed bitrate icon overflow bug
  • fix html markup errors

v0.9.156

  • fixed bug of random change of playback location when playing files from SD card

v0.9.155

  • added bitrate badget for displays ST7789, ST7796, ILI9488, ILI9486, ILI9341, ILI9225 and ST7735(BLACKTAB) (disable: #define BITRATE_FULL false)
  • fixed a bug with garbage appearing on display ILI9225

v0.9.143

  • fixed NOKIA5110 display invert/off bug

v0.9.142

  • fixed a bug with smartstart playback when the power is turned off

v0.9.141

  • fixed error reconnecting to WiFi when connection is lost
  • ADDED a compilation error when choosing a board other than "ESP32 Dev Module" or "ESP32 Wrover Module"

v0.9.130

  • fixed crash in configurations with NOKIA5110 displays
  • fixed bug with displaying buffer indicator when switching audioinfo
  • fixed bug with displaying the buffer indicator when the connection is lost
  • fixed bug of MUTE_PIN failure when connection is lost
  • other minor fixes

v0.9.122

  • fixed a bug in the operation of SSD1305 displays
  • fixed bug in operation of LCD1602/2004 displays
  • fixed errors in Serial Monitor output

v0.9.110

  • optimization and bug fixes (display, player, netserver, telnet. mqtt)

v0.9.084

  • monospace fonts for clock on TFT displays. Fonts can be restored to their original form by adding the #define CLOCKFONT_MONO false parameter to the myoptions.h file
  • new parameter #define COLOR_CLOCK_BG R,G,B - color of inactive clock segments

v0.9.058

v0.9.045

v0.9.022

  • optimization of the display of the list of stations
  • now the playlist size can be changed with one parameter in the yoRadio/src/displays/conf/displayXXXXconf.h file --> const ScrollConfig playlistConf param #3
  • fixed fonts for ILI9225 display
  • fixes in Nextion displays
  • bug fixes (including BUFFER FILLED IN 403 MS)

v0.9.001

  • fixed compilation error netserver.cpp:63:28 for some configurations

v0.9.000

  • added WEB Board Uploader. ESP32 Filesystem Uploader is no longer needed, the initial setup can be done in the browser. (see wiki for more info)
  • fixed error getting weather for some locations

v0.8.990

  • fixed error displaying access point credentials when DSP_INVERT_TITLE is false
  • fixed compilation error for OLED displays when DSP_INVERT_TITLE is false

v0.8.988

  • DSP_INVERT_TITLE now works for all displays when assigned #define DSP_INVERT_TITLE false the display title takes on a "classic" look (light letters on a dark background)
  • advanced weather display - wind direction and strength, feels like
  • sea level pressure changed to surface pressure
  • added degree icon [*ps]
  • displaying the WiFi signal level in graphical form [*ps]

[*ps] - glcdfont.c from the Adafruit_GFX_Library library has been changed to add new icons, so for the correct display of all this, you need to replace the specified file in the Adafruit_GFX library with the file from the yoRadio/fonts/ folder

v0.8.962

  • fixed reboot error after sending media from Home Assistant
  • fixed bug when playing media from Home Assistant for VS1053
  • fix grammar errors

v0.8.950

  • added support for remote media playback from Home Assistant (Local Media, Radio Browser, TTS)

v0.8.933 (homeassistant component)

  • HA component >> fixed bugs of getting and generating a playlist

v0.8.933

  • added support for ILI9488 display
  • added support for ILI9486 display in testing mode

v0.8.920

!!! a full update with Sketch data upload is required. After updating please press CTRL+F5 in browser !!!
Please backup playlist.csv and wifi.csv before updating.

  • fixed bug with displaying horizontal scroll in playlist
  • fixed compilation error with IR_PIN=255
  • libraries async-mqtt-client, AsyncTCP, ESPAsyncWebServer moved to the project
  • new parameter #define XTASK_MEM_SIZE - buffer size for AsyncTCP task (4096 by default)

v0.8.901

!!! a full update with Sketch data upload is required. After updating please press CTRL+F5 in browser !!!
Please backup playlist.csv and wifi.csv before updating.

  • added SD Card support (more info in connection table and examples/myoptions.h)
  • added MODE button to switch SD/WEB modes (more info in Controls.md)
  • asterisk on the remote control now switches SD/WEB modes
  • double click BTN_CENTER and ENC_BTNB now toggles SD/WEB modes
  • bug fixes

v0.8.173

  • bootlog added
  • fixed work of start/stop button in configurations with DSP_DUMMY

v0.8.138

  • fixed unclosed comment in examples/myoptions.h

v0.8.137

  • fixed compilation error without encoder

v0.8.135

  • added numeric IR remote buttons in configurations with DSP_DUMMY
  • fixed navigation bug in playlist with more than 255 stations
  • fixed work of encoders in configurations with DSP_DUMMY
  • fixed missing volume value bug when switching to volume control dialog
  • LED_BUILTIN is now 255 by default (off)

v0.8.112

  • fixed compilation error with BOOMBOX_STYLE parameter
  • fixes in default configuration for GC9A01A display

v0.8.100

v0.8.089

  • increased length of SSID string to 30 characters (requires full update + ESP32 Data Upload)
  • fixed artifacts when adjusting the volume on OLED displays
  • fixed bug with missing current station in playlist on OLED displays
  • new parameter DSP_INVERT_TITLE - invert colors in station name for OLED displays (more details in examples/myoptions.h)

v0.8.03b

  • added support for ST7796 display
  • added support for capacitive touch GT911
  • HSPI bus support added - DSP_HSPI, VS_HSPI, TS_HSPI options More details in examples/myoptions.h
  • changed the method of connecting the touchscreen in myoptions.h Now instead of specifying TS_CS, you must specify TS_MODEL (by default TS_MODEL_UNDEFINED) More details in examples/myoptions.h
  • new parameters TS_SDA, TS_SCL, TS_INT, TS_RST for GT911 touchscreen
  • new parameters LIGHT_SENSOR and AUTOBACKLIGHT - to automatically adjust the brightness of the display. More details in examples/myoptions.h
  • new parameter LED_INVERT (true/false) - to invert the behavior of the built-in LED
  • fixed bug with extra sign } in humidity value

v0.8.02b

  • fixed artifacts when displaying the volume level
  • changes in mytheme.h . Added colors COLOR_PL_CURRENT, COLOR_PL_CURRENT_BG, COLOR_PL_CURRENT_FILL. Details in examples/mytheme.h

v0.8.01b

  • fix INITR_MINI160x80 compiling error
  • fix ENC_INTERNALPULLUP description in examples/myoptions.h

v0.8.00b

  • rewritten the display engine
  • added the ability to position widgets on the display using configuration files. More info in yoRadio/src/displays/conf/ and here https://github.com/e2002/yoradio/wiki/Widgets
  • the VU_PARAMS3 parameter is deprecated. VUmeter configuration is done through yoRadio/src/displays/conf/ configs
  • added bitrate display on displays
  • added the ability to display the weather on all displays except LCD1602
  • examples of plug-ins related to displaying information on the display are outdated and no longer work. The examples have been removed from the examples/plugins folder.
  • the structure of the project files has been changed so that I don’t know what.
  • localization of information displayed on the display (rus, en). Option L10N_LANGUAGE (EN by default. see examples/myoptions.h for details)
  • changes in mytheme.h . Added colors COLOR_STATION_BG, COLOR_STATION_FILL, COLOR_BITRATE
  • optimization, refactoring
  • bugs fixes
  • bugs adding
  • probably something else that I forgot .__.

v0.7.540

  • fixed compilation error when using NEXTION display with DUMMY display

v0.7.534

  • added control via uart (see list of commands). The uart and telnet commands are the same.
  • added additional commands
  • added control via GET/POST (see list of commands)
  • fixed clock operation when configured with DSP_DUMMY
  • fixed RSSI display in web interface when configured with DSP_DUMMY
  • added brightness control/on/off nextion displays from the web interface
  • new parameter WAKE_PIN (to wake up esp after sleep command earlier than given time (see examples/myoptions.h and list of commands)
  • minor memory optimization

v0.7.490

!!! a full update with Sketch data upload is required. After updating please press CTRL+F5 in browser !!!
Please backup playlist.csv and wifi.csv before updating.

  • fixed playlist break down when saving it
  • fixed bug with cropped song titles on single line displays (GC9106, ST7735mini, N5110 etc.)
  • netserver - optimization and refactoring
  • web interface optimization
  • the AUDIOBUFFER_MULTIPLIER parameter is deprecated. New parameter AUDIOBUFFER_MULTIPLIER2. If everything works fine, then it is better not to touch it.
  • new setting VS_PATCH_ENABLE (see PS)
  • fixing other bugs

PS: A bug was found with the lack of sound on some (not all) green VS1053 boards. If there is no sound, you need to assign in myoptions

#define VS_PATCH_ENABLE false

On red boards and normally working green boards, nothing else needs to be done.

v0.7.414

  • fixed non latin long titles of songs error

v0.7.402

!!! a full update with Sketch data upload is required. After updating please press CTRL+F5 in browser !!!
Please backup playlist.csv and wifi.csv before updating.

  • added the ability to themize color displays. Details in examples/mytheme.h
  • in this connection, examples of plugins displayhandlers.ino and rssibitrate.ino have been updated
  • parameter VU_PARAMS2 is deprecated. New parameter - VU_PARAMS3. Details in yoRadio/display_vu.h
  • added deepsleep capability for LCD_I2C and OLED displays
  • in this connection, a full update with Sketch data upload is required
  • in this connection, example of plugin deepsleep.ino (examples/plugins/deepsleep.ino) have been updated
  • some bug fixes

v0.7.355

  • updating libraries ESP32-audioI2S and ESP32-vs1053_ext to the latest version
  • optimization of the web interface during playback
  • fixed one js bug. a full update with Sketch data upload is desirable
  • plugin example for esp deep sleep when playback is stopped (examples/plugins/deepsleep.ino)

v0.7.330

!!! a full update with Sketch data upload is required. After updating please press CTRL+F5 in browser !!!
Please backup playlist.csv and wifi.csv before updating.

  • added the ability to configure parameters through the web interface
  • new parameter BRIGHTNESS_PIN - pin for adjusting the brightness of the display. Details in examples/myoptions.h
  • the weather plugin is integrated into the code, the settings are made through the web interface

PS: Due to the change in the storage location of settings in the ESP memory, settings such as:
smartstart, audioinfo, time zone, IR remote, last volume level, last played station, equalizer
will have to be configured again through the web interface. Please understand and forgive.

v0.7.017

  • fix initialization of some vs1053b green boards
  • fix VU initialization on vs1053b boards

v0.7.010

  • fixed choppy of sound when volume adjustment
  • fixed initialisation of Nextion displays

v0.7.000

  • added support for Nextion displays (more info)
  • fixed work of VU Meter
  • fixed time lag when adjusting the volume / selecting a station
  • optimization of work with the DSP_DUMMY option
  • some bug fixes

v0.6.530

  • adding VU meter for displays ST7735 160x80, GC9106 160x80, ILI9225 220x176, ST7789 240x240
  • TFT_22_ILI9225 library is integrated into the project

v0.6.494

  • adding VU meter for displays ST7735 160x128, ST7735 128x128, ILI9341 320x240, ST7789 320x240
    option ENABLE_VU_METER (see myoptions.h for example)
    !!! Important !!!
    if you enable this feature on the esp32 wroom, due to lack of memory, you must modify the file Arduino/libraries/AsyncTCP/src/AsyncTCP.cpp
    replace the line 221
    _xTaskCreateUniversal(_async_service_task, "async_tcp", 8192 * 2, NULL, 3, &async_service_task_handle, CONFIG_ASYNC_TCP_RUNNING_CORE);
    with
    _xTaskCreateUniversal(_async_service_task, "async_tcp", 8192 / 2, NULL, 3, &async_service_task_handle, CONFIG_ASYNC_TCP_RUNNING_CORE);

v0.6.450

!!! a full update with Sketch data upload is required. After updating please press CTRL+F5 in browser !!!

  • adding an IR remote control has been moved to the web-interface (more info in Controls.md)
  • fixed broken internal DAC on esp32 core 2.0.3 and highest

v0.6.400

  • fixed compilation errors with esp32 core 2.0.4

v0.6.380

!!! a full update with Sketch data upload is required. After updating please press CTRL+F5 in browser !!!

  • fixed a bug when saving a playlist with special characters in the name and url
  • fixed a bug when saving wifi settings with special characters in the name and password
  • fixed css bugs

v0.6.357

  • remove ZERO WIDTH NO-BREAK SPACE (BOM, ZWNBSP) from stream title

v0.6.355

v0.6.348

  • fixed display bugs in the rssibitrate plugin
  • fixed some compilation warnings

v0.6.345

  • fix compilation error in rssibitrate plugin with ILI9225 display

v0.6.344

v0.6.320

  • fixed ILI9225 display bug when used with VS1053B module
  • fixed ILI9225 plugin support

v0.6.313

  • added support for ILI9225 220x176 SPI displays
  • added support for I2S internal DAC, option I2S_INTERNAL (see myoptions.h for example)
    (this option worked only with esp32 core version==2.0.0)
  • new option SOFT_AP_REBOOT_DELAY (see myoptions.h for example)
  • fixed MQTT connection when WiFi reconnected
  • fixed date display for ILI9341 displays
  • fixed garbage on volume control with displays ILI9341

v0.6.290

  • fixed interface blocking error when synchronizing time
  • time sync optimization
  • new option SNTP_SERVER, to set your custom server for synchronization (see myoptions.h for example)

v0.6.278

  • added support for LCD2004 displays
  • added support for SSD1305/SSD1309 I2C displays
  • fixed rotation of SH1106 display

v0.6.263

  • fixed encoder internal pullup

v0.6.262

  • change encoder library to ai-esp32-rotary-encoder (injected to project)
  • added new option VOL_ACCELERATION - volume adjustment acceleration by encoder (see myoptions.h for example)
  • fixed connection error with http-stations on esp32-core v2.0.3
  • fixed css errors (a full update is required)

v0.6.250

  • added update via web-interface
    Attention! Full firmware with chip re-partitioning is required! see board setup example
  • fixed choppy when switching stations via Home Assistant

v0.6.220

  • new option PLAYER_FORCE_MONO (with i2S DAC only)
  • change default scroll speed in DSP_NOKIA5110
  • improved reconnect to WiFi on connection loss

v0.6.210

  • fixed choppy playback on DSP_ST7735 displays used with VS1053
  • new option PL_WITH_NUMBERS (show the number of station in the playlist)
  • fixed compiling error with DSP_DUMMY option
  • correction of displays GC9106 and SSD1305

v0.6.202

  • fixed errors in the operation of the second encoder
  • rewrote plugin example
  • fixed compilation errors on macOS #2

v0.6.200

  • please backup your playlist and wifi settings before updating (export)
  • accelerated displays up to ~30fps (everything except LCD)
  • corrections/additions in the WEB interface (a full update is required)
  • rewrote plugin example
  • fixed compilation errors on macOS
  • changed the logic of the second encoder (switching to the volume control mode by double click)
  • optimization, bug fixes
  • probably some other things that I forgot about %)

v0.6.120

  • added support for GC9106 160x80 SPI displays
  • fixed compiling error with DSP_DUMMY option
  • fixed compiling error with DSP_1602I2C / DSP_1602 option

v0.6.110

  • the logic of division by cores has been changed
  • fixed choppy playback (again)
  • improvements in the stability of the web interface
  • increased smoothness of the encoder
  • bug fixes
  • bug fixes

v0.6.012

  • fixed choppy playback

v0.6.010

  • added displays SSD1327, ILI9341, SSD1305/SSD1309, SH1107, 1602
  • added touchscreen support
  • tasks are divided into cores, now the sound is not interrupted when selecting stations / volume
  • increased speed of some displays
  • optimization of algorithms, bugs fixes

v0.5.070

  • added something similar to plugins

v0.5.035

  • added two buttons BTN_UP, BTN_DOWN
  • added the pins for the second encoder ENC2_BTNL, ENC2_BTNB, ENC2_BTNR
  • fixed display of playlist with SSD1306 configuration
  • improvements in the displays work
  • bugs fixes, some improvements

v0.5.020

  • added support for SSD1306 128x32 I2C displays

v0.5.010

  • added support for ST7789 320x240 SPI displays
  • added support for SH1106 I2C displays
  • added support for 1602 16x2 I2C displays
  • a little modified control logic
  • added buttons long press feature
  • small changes in options.h, check the correctness of your myoptions.h file
  • bugs fixes

v0.4.323

v0.4.322

  • fixed garbage in MQTT payload

v0.4.320

  • MQTT support

v0.4.315

  • added support for digital buttons for the IR control
    (num keys - enter number of station, ok - play, hash - cancel)
  • added buttons for exporting settings from the web interface
  • added MUTE_PIN to be able to control the audio output
  • fixed js/html bugs (a full update is required)

v0.4.298

  • fixed playlist scrollbar in Chrome (a full update is required)

v0.4.297

  • fix "Could not decode a text frame as UTF-8" websocket error //Thanks for Verholazila
  • fix display of non-latin characters in the web interface
  • fix css in Chrome (a full update is required)

v0.4.293

  • IR repeat fix

v0.4.292

  • added support for IR control
  • new options in options.h (ENC_INTERNALPULLUP, ENC_HALFQUARD, BTN_INTERNALPULLUP, VOL_STEP) //Thanks for Buska1968
  • compilation error for module SSD1306 with arduino-esp32 version newest than 2.0.0
  • fix compiler warnings in options.h
  • fix some compiler warnings

v0.4.260

  • added control of balance and equalizer for VS1053
  • TFT_ROTATE and st7735 DTYPE moved to myoptions.h

v0.4.251

  • fixed compilation error bug when using VS1053 together with ST7735

v0.4.249

  • fix VS1003/1053 reseting
  • fix css in Firefox
  • fix font in NOKIA5110 display

v0.4.248

  • added support for VS1053 module in testing mode

v0.4.210

  • added timezone config by telnet
  • fix telnet output
  • some separation apples and oranges

v0.4.199

  • excluded required installation of all libraries for displays

v0.4.197

  • added support for Nokia 5110 SPI displays
  • some bugs fixes

v0.4.183

  • ovol reading bug

v0.4.182

  • display connection algorithm changed
  • added support for myoptions.h file for custom settings

v0.4.180

  • vol steps 0..256 (in ESP32-audioI2S)

v0.4.177

  • added support for SSD1306 I2C displays
  • fixed broken buttons.