This is a Arduino library for breakout boards using the VS1053 and VS1003 Chip by VLSI Solution:
A powerful Ogg Vorbis / MP3 / AAC / WMA / FLAC / MIDI Audio Codec chip.
The library enables the possibility to play audio files. Eg. it may be a base to build your own webradio player or different audio device. I recommend to use this library together with my arduino-audio-tools with the related examples.
This is an interesting way to output audio information for all microcontrollers that do not support I2S or do not have the power or resources to decode audio files.
Functional highlights:
- Output of decoded audio
- Reading of pcm data from microphone / aux input
- Methods to manage volume, treble, bass, earphones
- Support for real time MIDI
- Flexible SPI Design
- Functioinality implemented in arduino_vs1053 namespace
- Supports Arduino
- Supports PlatformIO
- Supports cmake
The application has a built in logger that uses Serial as output. The default log level is Warning. You can initialize the Logger with
VS1053Logger.begin(Serial, VS1053Info); // use VS1053Debug, VS1053Info, VS1053Warning, VS1053Error
Here is the relevant class documentation.
You can find further information in the Wiki and in my blogs...
The major disadvantage of the VS1053 based modules is the number of pins that need to be connected and the fact that they might be named differently. The module is using SPI to communicate, therefore consult the SPI documentation of your microcontroller to find the correct SPI pins.
VS1053 | Comment |
---|---|
SCK | SPI Serial Clock |
MISO | SPI Master Input ← Slave Output |
MOSI | SPI Master Output → Slave Input |
(X)CS | SPI Chip Select/ Configured in Sketch |
(X)DCS | Data Chip Select: Configured in Sketch |
DREQ | Data Request: Configured in Sketch |
XRST | Hardware Reset Pin: low=reset |
5V | Power Supply |
GND | Ground |
- The XRST pin can be configured in the sketch or you can connect it to RST of your microcontroller: XRST must be high for the module to work.
- Some boards provide a SD card and therefore have an aditional CS pin.
Based on library/applications:
- baldram/ESP_VS1053_Library by Marcin Szałomski
- maniacbug/VS1053 by J. Coliz
- Esp-radio by Ed Smallenburg
- smart-pod by Henry Li
Copyright (C) 2017
Licensed under GNU GPLv3