
Hello
I wanted to present a modification of the design of the Internet radio player built only using the ESP-01 module, RC filter and a few external components.
Hardware:
The schematic and pcb were prepared in the Eagle program version 7.7.0.
The mp3 stream decoding is handled by the ESP8266 microcontroller overclocked to 160MHz. As the output generates a PWM signal, where the PWM itself has a resolution of only 4 bits, it was necessary to add a low-pass filter. I used the solution proposed by the @tmf user in one thread in the microcontrollers section. This is a 3-stage RC filter which should give a decrease of 18dB per octave, whose cut-off frequency I can't remember anymore. As a power outlet I gave the opportunity to use a DC connector, ark connector or ordinary goldpin. Voltage stabilization is handled by ams1117 or similar with the same pin configuration.


Software
The software is a modified code that was available at this address:
https://github.com/pvvx/mp3_decode
I have added the ability to change radio stations using the keys. However, it is not entirely correct and has 2 bugs that I could not cope with:
- when changing stations, before we connect to the next one, the sound will be suspended and the loudspeaker will be heard.
- when you hold the switch button for a long time, the system will reset.
The rest seems to work as it should. Files with modified program code are placed in the attachment.
Comments:
- The player can decode only mp3 streams,
- I used wireshark + foobar to get addresses of types, addresses and bitrates of streams
- Theoretically, the maximum bitrate is 256kbps
- The program is compiled with the help of Eclipse + RTOS SDK, wanting to add radio stations and configure the network connection options, I recommend reading this theme.
- Addresses and number of stations are defined in the file radiostation.c
- The name and password for the network are defined in the file playerconfig.c
- In the attachment I also put a compiled program with the name of the TPLINK network and the password 1234abcd, where I added stations
RMF FM
Duth radio(?)
Maxima FM
Radio Złote Przeboje
VOX FM
Radio ZET
Polskie Radio PR1
- To upload the program, it's best to configure eclipse and do it from its level, but you can do it 100% using another tool, e.g. ESP Flash Tool. Addresses to upload files you have to look for yourself, because I uploaded only with eclipse.
- During programming, we connect the usb uart converter to the goldpin pulled out from the side of the board. After programming the system, put a jumper between the RXD and the output. I had to use such a solution because the loaded line caused the lack of programming possibilities. To switch the system to flash mode, hold the corner button and then connect the power supply.
- The system consumes 110mA during operation
- The sound quality is quite poor and is not suitable for listening on headphones. I obtained tolerable quality at home when connecting to the Sony FH-411R tower and adjusting the equalizer settings accordingly.
- A version with DAC and external RAM is also available this address, but after a few hours of fighting I could not compile. If anyone can deal with it, please give me a description.
- If anyone has any idea how to convert AAC to mp3 on the fly, please let me know how to do it.
- All necessary files attached








Yes it's a game
[Film: a8ca227b01] https://filmy.elektroda.pl/52_1505470652.mp4 [/ film: a8ca227b01]
[Film: a8ca227b01] https://filmy.elektroda.pl/4_1505470694.mp4 [/ film: a8ca227b01]
best regards
Paul
Cool? Ranking DIY