Home > News & Updates > Electronics News Updates > WebRadio player 2 (ARM 32-bit Cortex-M0)

WebRadio player 2 (ARM 32-bit Cortex-M0)

Summary of WebRadio player 2 (ARM 32-bit Cortex-M0)


This article describes building a WebRadio player using the WIZwiki-W7500 board and a VS1053 MP3 decoder. The Cortex-M0 based W7500 connects to an Icecast server via Ethernet to stream audio up to 320 kbps. The VS1053 module decodes various formats like MP3, WAV, and AAC for playback through headphones. The system is powered by USB and outputs station information via a serial terminal rather than an LCD screen.

Parts used in the WebRadio Player:

  • WIZwiki-W7500 board
  • VS1053 mp3 decoder module
  • USB port (for power)
  • Ethernet connector
  • ADSL router or ethernet device
  • Headphones

Introduction

On 31 August 2015 I got the new WIZnet platform board, the WIZwiki-W7500 that is based on a Cortex-M0 cpu at 48MHz with 128 kBytes of flash memory and 48 kBytes of RAM shared with the hardwired TCP/IP core. The RAM amount used by the TCP/IP core can be upto 32 kBytes leaving the rest 16 kBytes to the user (32 + 16 = 48 kBytes of RAM). The W7500 is a 3.3V device but according to the WIZnet the board’s I/O pins are 5V tolerate. Moreover, the board has the same pinout with the Arduino UNO. Combining this board with a VS1053 mp3 decoder board you can build a very nice Icecast Internet streams player (WebRadio player) that can plays internet audio streams upto 320 kbits/second (320 kbps). Of course the limited RAM on W7500 receiver side (16 kBytes) is not enough to cover big data delays between your internet connection gateway (your ADSL router) and the Icecast server.

WebRadio player 2 (ARM 32-bit Cortex-M0)

The circuit

The circuit is very simple and combines only two boards. The WIZwiki-W7500 (W7500 for short) and the VS1053 mp3 decoder module. The W7500 board makes a connection to the Icecast server, requests the audio data stream and sends the received data to the the VS1053 module for decoding. The VS1053 module, receives the data stream from the W7500 and auto-recognize the audio data format. It recognizes if the data stream is midi or wav or mp3 or aac file format and decodes it. The user can listen to the music stream over the VS1053 audio jack that leads the head phones. The circuit is powered with 5V DC from the USB port of the W7500 board. The W7500 ethernet connector is connected to the ADSL router or to any ethernet device that can provide Internet connection (router, hub, switch).  The connection diagram is based on a real boards photo for being recognized from any person that wants to build the circuit but he doesn`t have any experience in electronic circuit schematic diagrams. Just connect the two end points accross every colored line by following the picture 1 connection digram.

The circuit does not contain any LCD screen for hardware simplicity. Instead of printing the information on LCD, the WebRadio station information is printed on the USB_Serial port that provides the W7500 board. Just connect the W7500 USB port to your computer, install the drivers and open your favorite Serial Terminal. In my case, I used the Termite v3.1 with settings 115200 bps.

Read more: WebRadio player 2 (ARM 32-bit Cortex-M0)

Quick Solutions to Questions related to WebRadio Player:

  • What CPU does the WIZwiki-W7500 board use?
    The board is based on a Cortex-M0 cpu running at 48MHz.
  • How much RAM is available for the user on the W7500?
    There are 16 kBytes of RAM left for the user after the TCP/IP core uses up to 32 kBytes.
  • Can the WIZwiki-W7500 I/O pins handle 5V signals?
    Yes, the board's I/O pins are 5V tolerant even though the device itself operates at 3.3V.
  • What is the maximum streaming bitrate supported by this project?
    The player can play internet audio streams up to 320 kbits/second.
  • How does the VS1053 module identify the audio format?
    The module auto-recognizes the audio data format, supporting midi, wav, mp3, or aac files.
  • How is the WebRadio station information displayed if there is no LCD?
    Information is printed on the USB_Serial port, which requires connecting to a computer with a Serial Terminal.
  • What baud rate was used for the serial connection in the example?
    The author used Termite v3.1 with settings of 115200 bps.
  • How is the circuit powered?
    The circuit is powered with 5V DC from the USB port of the WIZwiki-W7500 board.

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter
Scroll to Top