PiotrSperka / ESP8266-WebRadio

SHOUTcast (webradio) player based on ESP8266, VS1053 and AVR (for UI)
47 stars 21 forks source link

ESP8266-WebRadio

WiFi shoutcast player based on ESP8266 chip

Basic informations

Version: 0.18
Status: under design and development

Used hardware

WiFi and main MCU: ESP8266 (ESP-12 with 32Mbits flash)
Additional MCU (as a UART<=>UI bridge): AVR
Audio decoder: VS1053

TODO list

-[HIGH]LCD and encoder <=> UART converter based on AVR (ATmega88?)
-[NORMAL]FM module (RDA5807M) implementation
-[NORMAL]Reconnect to webradio when internet connection reappears
-[LOW]Code cleanup and optimization

Changelog

v0.18

-[ESP8266]External SRAM is now implemented and it is set by deafult as place for audio buffer. However, operation without external SRAM is still possible (please refer to buffer.h)

v0.17

-[MERGE]Merged with karawin's fork (version 1.0.4)
He made lots of changes, especially he improved stability and webpage user experience. For details please visit his Github webpage:
https://github.com/karawin/Ka-Radio

v0.16

-[Hardware]Slightly updated GERBER files

v0.15

-[ESP8266]Metadata processing

v0.14

-[MERGE]Merged with karawin's fork, he made following changes:
-New development based on the new https://github.com/espressif/ESP8266_RTOS_SDK
-Software improved, new web control
-Compatible with mobile
-Stable
-Tools to save and restore the stations database

v0.13

-[ESP8266]Some kind of beta version of web interface is ready.
-[ESP8266]Works saving and loading stations and settings to/from flash
-[ESP8266]Added "How to run" document

v0.12

-[ESP8266]Development of functions for saving and reading settings from flash "eeprom"
-[ESP8266]Functions for driving GPIO16
-[ESP8266]Development of webinterface
-[ESP8266]Webclient is using socket

v0.11

-[Hardware]Finished first revision of schematic (main board) and PCB
-[Hardware]Added GERBER files for main board (NOT TESTED YET)
-[Hardware]AVR is going to be only an interface between UART in ESP8266 and UI (which is LCD, encoder and buttons)

v0.10

-[ESP8266]Support for user data (stations, config, etc.) storage in last 64kb of flash
-[Hardware]Schematic of main board

v0.9

-[ESP8266]Sound settings through web interface
-[ESP8266]Web interface improvements

v0.8

-[ESP8266]Webserver uses sockets - improved stability
-[ESP8266]Improvments of webinterface (now supports Instant Play)
-[ESP8266]Improvments of webserver (simple POST parser)
-[ESP8266]DNS lookup

v0.7

-[ESP8266]Simple and rough sketch of VS1053 driver (working)
-[ESP8266]Rough sketch of webclient is working
-I can say that alpha version of player works for now, because I can listen to some SHOUTcast streams.

v0.6

-[ESP8266]Started making new firmware based on esp_iot_rtos_sdk with bare LwIP and freeRTOS
-[Hardware]New conception of hardware, where main MCU is ESP8266 and some small AVR is only to provide user interface (LCD, etc.) and configure ESP via UART
-First tests of new firmware are very promising, because HTTP server based on Netconn is very responsive (much better than previous version of firmware)

v0.5

-[ESP8266]Improved: HTTP server configuration
-[ESP8266]Added: HTTP client UART output
-[STM32]Added: Unclean sketch of firmware for basic testing purposes

v0.4

-[ESP8266]Added: Simple CGI parser
-[ESP8266]Added: ICY header parser

v0.3

-[ESP8266]Added: Simple admin panel mockup
-[ESP8266]Added: Connecting to client

v0.2

-[ESP8266]Added: Running simple http server on port 80
-[ESP8266]Added: Simple UART command parser for wifi configuration

v0.1

-[ESP8266]Initial release - ESP8266 firmware based on cleaned nodemcu source (deleted lua, flash-fs, etc.)