See for the description of the minimal prototype.

See Github for sources

See the lcd +IR software's on Github AddOn

See some realizations of users at KaraDio

A nice telnet+IR extension from Gábriel Kovács

A nextion touchscreen display for KaraDio from yo2ldk : Here

For more informations or questions, you can enter to the Karadio facebook group

Release 1.5

Built on 2017/08/07


Bugs resolved: (Thanks Kim)

Older releases:

Bugs resolved:

- New uart command: Send a ntp request and Display the current locale time
- New uart command: sys.tzo Display or change the timezone offset
See Interface.txt-

New No needs to parse the url of stations on the web interface. Now it can be done automatically.

- New uart command: Display nameSet, all icy and volume. Used to synchronize the lcd extension.
- cli.list command modified.

- Now Both AP SSID and AP Password are encoded to permit special characters like & : etc
- "Restore stations" corrected for some heavy lists
- Station information now give the number of the current station
- retry client connection modified to avoid blocking situation.

- Modification of the list of uart command. See uart and html interfaces
- New sys.patch command. Inhibit or permit (default) the load of a vs1053 patch for AAC stations.
- New sys.led command. Default is blinking mode, or Play mode: the led is on when a station is playing.
- Modification of the wifi.con command. Now the AP can be set in the AP
mode ( without the need of the web interface.
- New print button on the Stations panel: Print the list of stations, number and name.
- New logo ;-)
- Many bugs removed thanks to users feedback's.
- Modification of the list of uart command. See uart and html interfaces
- New IR and LCD software
- Autoplay corrected

- Now 2 AP's can be set. The second one will be tested if the first is not detected.
- The Mac address of the radio is displayed
- An offset volume can be set for each station in Station editor.
- Added: a reset button for the equalizer
- Pb on Autostart not correctly checked: corrected
- New html command: instant="http://your url"
- The path of a station can now include some & parameters.
-- Uart command list now can take a parameter: the number of the station to display.
.If no parameter, the complete list is sent.
- New wake and sleep features. Two modes: Time mode: "hh:mm" to wake or sleep at a given hour, or the delay mode "mm".
- Many minors html adjustments.
- The user agent for http request can be set for some special streams.Example:
which need a user agent= pcradio.
This pcradio user agent is already implemented automatically in the code when a pcradio station is encountered.
- Drag an drop on the stations list: rearrange the list by dragging a line to another one. Save the change when asked.
- Themes toggle between light blue and dark marron theme with a click on the logo.
- Sleep mode to stop the play after a delay.
- Functions on the web page are optimized.
- Many minor improvements on the code and the web page.
- New uart interface command: cli.uart("x")
With x the uart baudrate at the next reset and permanently.
List of valid baudrate: 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, 76880, 115200, 230400
The command will reply with
##CLI.UART= 115200# on the next reset.
- New Station selection with number
- Stations management in one page
- abort button on station edition.
- New html interface. Can receive basic commands (play, stop, volume from wget or browser)
- New I2S external DAC interface on the vs1053. The I2S is enabled by default to 48kHz. To change the speed permanently use the uart interface with the command :
cli.i2s("x") with x =0 for 48kHz, x=1 for 96kHz and x=2 for 192kHz
The i2s interface is available on the alientek vs1053 with i2s_sclk on SCLK (GPIO16), i2s_sdata on SDIN (GPIO07), i2s_mclk on MCLK (GPIO05), i2s_lrout on LRCK (GPIO04).
- New Autostart: If autoplay is checked on the web interface, the current station is started at power on even with no web browser.

Simplest prototype:

- Optional external ram (23LCV1024) support (1:CS/=GPIO16 2:MISO=GPIO12 3:NC 4:GND 5:MOSI=GPIO13 6:SCK=GPIO14 7:GND 8:3.3v)

The optional led is now on GPIO2. The blue led on the ESP8266 is blinking at the same rate.
GPIO16 is now the Chip select for the external ram if any.
The external ram is detected at boot time if present.

To upgrade to this release, please flash at 0x1000 , at 0X81000 and blank.bin at 0x7e000 & 0x3fe000
After that, all next updates are done with the On The Air (OTA) feature.
New binaries are hosted at .

Loading the esp8266

First use


Please tell me if you succeeded or something more can be done, thanks.
The second step will add some hardware buttons (vol + -, station + -, play ...)


From ESP8266_ESP12( 3.3 v) or nodeMCU(5v) to VS1053 (5 v)



CH_PD to 3.3v

GPIO16 (a 1Hz output)

D5:GPIO14 to VS1053 SCK

D6:GPIO12 to VS1053 MISO

D7:GPIO13 to VS1053 MOSI

TXD to CH340G UART rx

RXD from CH340G UART tx

D1:GPIO05 to VS1053 XDCS

D2:GPIO04 to VS1053 DREQ

D3:GPIO00 to VS1053 XRST


D8:GPIO15 to VS1053 XCS