Introduction: Wifi Webradio With ESP8266 and VS1053 (KaraDio)
A wifi web radio player with only two low costs boards.
2017/08/25 New release 1.6: See The hackaday page
For more informations or questions, you can enter to the Karadio facebook group
Description:
Control with any browsers (ie edge, chrome mozilla etc...).or with an external hardware panel or with the uart interface.
Memory for 256 stations
OTA upgrade
Read direct mp3 or ogg streams or playlist .pls .m3u and .xspf
Read up to a 320 kb/s stream,
New web page, Fit well on mobile or computer.
Embedded wifi configuration via the web or uart interface
Metadata displayed (ie Title of the current song if given in the stream),
All settings saved (sound setting, stations, wifi)
Server multi clients with automatic refresh for all (websocket),
The stations can be downloaded and uploaded within the web site,
Very quick responsive web by caching local information in the browser and websocket.
a led indicates the state of the equipment . Speed blink: init, 90%in 10%out: connection in progress, 10% in 90%out: Equipment ready.
External DAC i2s interface on the vs1053 enabled.
Autostart on power on if the autoplay is checked.
Step 1: Step1: What You Need
Parts required:
A nodeMcu V3 (on aliexpress)
A VS1053 module (aliexpress)
A Fiberglass board epoxy boards (aliexpress)
2.54mm 40 Pin Stright Female Single Row Pin Header Strip PCB Connector (aliexpress)
Some wires and Soldering Iron.
A pc or other with an usb port
and an usb to micro usb cable. (aliexpress)
An external amplifier or earphone.
A prototype can also be made using a breadboard and some jumper wires.
Step 2: Step2: Build the Webradio Hardware
Follow the schematic to wire the board.
Be careful, the vs1053 is hard to soldier. Pins are very close each other.
Use a very thin iron.
Check each wire before the next step.
The power comes from the micro usb of the nodeMcu linked to the pc or a 5 volts transformer.
Step 3: Step3: Loading the Software and First Use
Loading the software
You need the ESP flash download tool.
Load it at the Espressif page
The binaries files can be found on Github or hackaday
Follow the image to configure the tool depending of the tool release
To enter the flash mode of the nodeMcu, press and hold the flash button, the press the reset button. You ca release the flash button.
Start the download with the start button of the ESP flash tool.
After a while, the Finish green indication is shown.
Press the reset button of the nodeMcu. If succesful, the nodeMcu les blinks.
First use
If the acces point of your router is not known,
the webradio init itself as an AP. Connect your wifi to the ssid "WifiWebRadio", Browse to 192.168.4.1 to display the web page, got to "setting" "Wifi" and configure your ssid ap, the password if any, the wanted IP or use dhcp if you know how to retrieve the dhcp given ip (terminal or scan of the network).
In the gateway field, enter the ip address of your router.Validate. The equipment restart to the new configuration. Connect your wifi to your AP and browse to the ip given in configuration.
Congratulation, you can edit your own station list.
Dont forget to save your stations list in case of problem or for new equipments.if the AP is already know by the esp8266, the default ip is given by dhcp.
A sample of stations list can be uploaded via the web page and loaded to the webradio.
All future update will be made within the webradio interface via the ota feature.
Step 4: Some Images
The esp8266 is an incredible processor. This project is made with the freertos environment and contains many tasks: a web client to connect to the radio stream, a web server to provide the browser interface 'and a child task for each client), an uart task to display and and send commands to the webradio, a task to manage an external panel command on the adc entry (schematic in the hardware directory on github), a task for each client websocket, etc.
It is a complex project, but the processor is really powerful. The only limit is the lack of ram, which can be removed by adding an external chip on the spi bus. See the hackaday page or github page.
The uart interface can show some debug informations and can send controls to the webradio.
For a command list see the uartinterface.txt file at
http://karadio.karawin.fr/Interface.txt
23 People Made This Project!
- radio988 made it!
- radio988 made it!
- HerbertRitter made it!
- GáborS42 made it!
- florinn2520 made it!
- karawin made it!
- djuscha made it!
- giltesa made it!
- nyomand1 made it!
See 14 More
203 Discussions
Tip 4 weeks ago
Hello! I have finished the radio and want to use the button control, but I don't know which GPIO the button is connected to in esp32. The drawing button of esp8266 file in your project is connected to ADC. ADC refers to which pin of esp32. Thank you!
4 weeks ago
This internet radio is great! love it! Production is complete. It's just that China's broadcast streaming media doesn't support the display of broadcast program information, and the display screen looks ugly and harmonious. I want to adjust the screen layout and enlarge the font, but I'm not familiar with programming, I'm only good at hardware.
5 weeks ago on Step 2
I had trouble getting it to work, until I changed the SPI mode to DIO. It appears that some ESP8266 boards use flash chips that don't support QIO SPI. The board that I used is an unbranded Wemos D1 mini clone (V3.0.0). It looks exactly like a Wemos or Lolin board, but does not have a brand name on it (just D1 mini). The 4Mb flash chip is a BoyaMicro 25032BSSIG. The vendor ID is 68h and the device ID 4016h. See also: https://www.esp8266.com/viewtopic.php?p=87532
9 months ago
Hello, nice project!!!
Is there any way to replace the VS1053 with a SPDIF output ?
10 months ago
It works as a charm by following the suggested wiring. I just added a wire between A0 and ground.Thanks for this nice project.
Reply 10 months ago
Yes, it is on the picture on step 2.
Thanks. See the up to date on github.
Question 1 year ago
Hello,
I made it, everything run ok, except it can not recover to play or can not run Auto play in case of WiFi or internet gateway turn on/off. Please suggest. Tks
Answer 1 year ago
i have connected everything correctly
Reply 1 year ago
on serial or telnet type:
wifi.auto
It avoid to reset in case of AP on/off
Question 1 year ago
Can you help me plz my vs1053 never ever give me any output i need your help plz
Idk what is wrong with me , i have connected everything correctly
1 year ago
Hi,
Is there a way to autostart a stream when the power comes on? This is an interesting project for our church, some people are unable to join the service physicaly :)
Reply 1 year ago
Yes, just check the AutoPlay check box on the web page. To be done only one time.
Reply 1 year ago
Cool. Thanks. That's for the audio player. Now I have to go searching for a video streaming client 😅
Question 1 year ago on Step 4
Since yesterday I cannot see the webpage of the wikiradio. I am conneted to it but no reaction further on. Help?? thanks in advance
I have used the latest bins.(new)
1 year ago
For those with problem to reach the init page,
load the last bin at
https://github.com/karawin/Ka-Radio/tree/master/ES...
Question 1 year ago on Step 4
Hi,
I like this project but haven't had much success. I'm using a nodemcu v.3 with an ESP8266 and a VS1053. After flashing the nodemcu, I can see a response from it in a terminal program. Following the directions in the response, I can connect to WifiWebRadio successfully, but when I enter 192.168.4.1 in my browser, it says "This site can't be reached." There is also no result pinging that IP address, but 192.168.4.2 does respond to the ping. I can't get any farther than this.
Thanks.
Question 1 year ago
Hi,
Thanks for your efforts. I want to built this radio. I uploaded the firmware to NodeMCU. Then, I disconnect wifi from my router and connect to WiFiKaRadio. After this, I tried to to connect 192.168.4.1 but no successs. I changed TCP/IP settings 192.168.4.1 for GW, the same number as DNS. I never connected to 192.168.4.1.
What can I do?
Regards.
Reply 1 year ago
The esp is now the AP (access point)
Just connect your computer wifi to WifiKaRadio then with a browser open 192.168.4.1
It may take 30 sec or a bit more.
No need to change the router or other setting if your computer is connected with the wifi.
If it is connected with ethernet, yes, connect the router to 192.168.4.1
It is better to see the github page for the uptodate software.
I refresh instructables at a very low speed ;-)
https://hackaday.io/project/11570-wifi-webradio-with-esp8266-and-vs1053 .
https://github.com/karawin/Ka-Radio
https://github.com/karawin/Ka-Radio32
Reply 1 year ago
Exactly the same problem as above. I can connect to AP (WifiKaRadio) but it is impossible to connect to 192.168.4.1 (!!!) tried many times, many restarts, many browsers, even with my phone. I see in network properties that AP is connected , IP addres given (192.168.4.2) and GW is 192.168.4.1. But cannot reach to 192.168.4.1.
Reply 1 year ago
Tip above from Marecki_l worked for me.