ёRadio
https://github.com/e2002/yopcb
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://github.com/dasdgw/yoradio/raw/main/images/myoptions-generator.png)
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
![](https://github.com/dasdgw/yoradio/raw/main/images/board3.jpg)
- 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!
- Generate a myoptions.h file for your hardware configuration using this tool.
- Put myoptions.h file next to yoRadio.ino.
- Replace file Arduino/libraries/Adafruit_GFX_Library/glcdfont.c with file yoRadio/fonts/glcdfont.c
- Restart Arduino IDE.
- In ArduinoIDE - upload sketch data via Tools→ESP32 Sketch Data Upload (it's here)
- Upload the sketch to the board
- 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
- After successful connection go to http://\<yoipaddress>/ , add stations to playlist (or import WebStations.txt from KaRadio)
- Well done!
See wiki for details
Update
- Backup your settings: \
download http://\<yoradioip>/data/playlist.csv and http://\<yoradioip>/data/wifi.csv and place them in the yoRadio/data/data/ folder
- In ArduinoIDE - upload sketch data via Tools→ESP32 Sketch Data Upload
- Upload the sketch to the board
- Go to page http://\<yoradioip>/ in the browser and press Ctrl+F5 to update the scripts.
- Well done!
Update over web-interface
-
Backup your settings: \
download http://\<yoradioip>/data/playlist.csv and http://\<yoradioip>/data/wifi.csv and place them in the yoRadio/data/data/ folder
-
Get firmware binary: Sketch → Export compiled binary
-
Get SPIFFS binary: disconnect ESP32 from your computer, click on ESP32 Data Sketch Upload. \
You will get an error and file path
-
Go to page http://\<yoradioip>/update and upload yoRadio.ino.esp32.bin and yoRadio.spiffs.bin in turn, checking the appropriate upload options.
-
Well done!
MQTT
- Copy file examples/mqttoptions.h to yoRadio/ directory
- In the mqttoptions.h file, change the options to the ones you need
- Well done!
Home Assistant
![](https://github.com/dasdgw/yoradio/raw/main/images/ha.jpg)
- Requires MQTT integration
- Copy directory HA/custom_components/yoradio to .homeassistant/custom_components/
- Add yoRadio entity into .homeassistant/configuration.yaml (see example)
- Restart Home Assistant
- Add Lovelace Media Player card to UI (or mini-media-player card)
- 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
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_RUNNINGCORE); \
with \
_xTaskCreateUniversal(_async_service_task, "async_tcp", 8192 / 2, NULL, 3, &_async_service_task_handle, CONFIG_ASYNC_TCP_RUNNINGCORE);
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 I2SINTERNAL (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
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
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
v0.4.292
- added support for IR control
- new options in options.h (ENC_INTERNALPULLUP, ENC_HALFQUARD, BTN_INTERNALPULLUP, VOLSTEP) //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
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.