VS1003 MP3 Onboard Microphone Module, WMA Audio Decoder, Compatible with Arduino Single-Chip Development Boards

SKU: FA2008-2-1
Audio Codec

VS1003B (VLSI Solution)

Decoding Formats

MP3, MP3+V, WMA, WAV, MIDI, SP-MIDI

Recording Format

IMA ADPCM (mono)

DAC Resolution

18-bit oversampling

Supply Voltage

5V DC (onboard regulators for 3.3V/2.5V)

Crystal Frequency

12.288 MHz

Headphone Output

Stereo, drives 30Ω load

On-chip RAM

5.5 KiB for user code/data

The VS1003 MP3 Onboard Microphone Module is a complete, cost-effective audio solution built around the VS1003B audio codec from VLSI Solution. It combines high-quality MP3/WMA/WAV/MIDI decoding with onboard voice recording capability, making it a versatile choice for embedded audio projects, voice playback systems, and interactive devices requiring both audio output and microphone input.

At the heart of the module is the VS1003B single-chip audio decoder and ADPCM encoder. It contains a high-performance, low-power VS_DSP4 processor core, working data memory, 5.5 KiB of on-chip RAM for user applications, serial control and data interfaces, and a high-quality variable-sample-rate mono ADC and stereo DAC followed by an earphone amplifier . The chip can decode MP3 (MPEG 1 & 2 audio layer III), WMA 4.0/4.1/7/8/9, WAV (PCM + IMA ADPCM), and General MIDI / SP-MIDI files, and supports streaming for MP3 and WAV .

The module includes an onboard microphone for voice recording, along with a line input for external audio sources . Recording uses the IMA ADPCM encoding format (mono), and the recorded audio can be saved directly to a file by the host microcontroller . The module also features a 3.5mm audio output jack capable of driving a 30-ohm load (earphones or small speakers), and supports bass and treble controls for audio adjustment .

Communication with the module is handled through the SPI bus, which internally connects to two separate interfaces: the SCI (Serial Control Interface) for register access and configuration, and the SDI (Serial Data Interface) for streaming audio data to the decoder . The DREQ (Data Request) pin indicates when the VS1003B is ready to receive more data, ensuring smooth audio streaming without buffer overruns .

The module operates from a 5V DC supply and includes onboard AMS1117 regulators providing 3.3V and 2.5V for the VS1003B’s analog, digital, and I/O power domains . A 12.288 MHz crystal provides the clock reference, and the chip includes an internal PLL clock multiplier . The module also includes a power indicator LED and exposes 4 general-purpose I/O pins (GPIO0–GPIO3) for additional customization .

Whether you are building a voice playback device, an MP3 player, a message recording system, or an interactive audio project, the VS1003 module provides a proven, well-documented foundation. It is suitable for individual makers, students, and businesses purchasing in bulk for product development or educational programs.


Features

  • VS1003B audio codec — Single-chip MP3/WMA/WAV/MIDI decoder with ADPCM encoder

  • Onboard microphone — For voice recording and voice playback applications

  • Multiple audio formats — Decodes MP3, MP3+V, WMA, WAV, MIDI, and SP-MIDI

  • Line input — For external audio sources alongside the onboard microphone

  • IMA ADPCM recording — Mono voice recording with file-saving capability via host MCU

  • Stereo DAC and earphone driver — High-quality 18-bit oversampling DAC capable of driving 30-ohm loads

  • SPI interface — Separate SCI (control) and SDI (data) buses for flexible integration

  • Onboard regulators — AMS1117 provides 3.3V and 2.5V from a single 5V supply

  • 4 GPIO pins — Available for custom application extensions

  • Compact and cost-effective — Complete audio solution with low BOM cost


Technical Specifications

# Parameter Specification
1 Audio Codec VS1003B (VLSI Solution)
2 Decoding Formats MP3, MP3+V, WMA, WAV, MIDI, SP-MIDI
3 Recording Format IMA ADPCM (mono)
4 DAC Resolution 18-bit oversampling
5 Supply Voltage 5V DC (onboard regulators for 3.3V/2.5V)
6 Crystal Frequency 12.288 MHz
7 Headphone Output Stereo, drives 30Ω load
8 On-chip RAM 5.5 KiB for user code/data 

Usage

Getting Started

  1. Connect power — Supply 5V DC to the module’s power input. The onboard regulators will provide the required 3.3V and 2.5V rails. The power indicator LED should light up.

  2. Connect the SPI interface — Wire the module’s SPI pins to your Arduino or microcontroller. Typical connections: SCK→D13, MISO→D12, MOSI→D11, XRST→D10, DREQ→D9, XCS→D8, XDCS→D7 .

  3. Connect audio output — Plug earphones or a small speaker into the 3.5mm audio jack. The output can drive a 30-ohm load .

  4. Install the library — Use the Adafruit_VS1053 library or a dedicated VS1003 library for Arduino. The VS1003 and VS1053 share similar register interfaces .

  5. Load audio files — Store MP3/WAV files on a microSD card (FAT formatted) connected to the module’s SD card slot.

  6. Upload and test — Use a basic playback sketch to verify audio output. For recording, configure the module to read from the onboard microphone or line input.

Important Notes

  • SPI mode separation — The XCS pin selects the SCI (control) bus, while XDCS selects the SDI (data) bus. Only one bus should be active at a time .

  • DREQ handshake — Always wait for the DREQ pin to go HIGH before sending audio data. This indicates the VS1003B’s internal buffer has space .

  • Recording output — The recorded IMA ADPCM data is read via SPI and must be saved by the host MCU. Add a WAV header if you need a playable file .

Typical Applications

  • Voice playback devices — Message recorders, audio guides, and announcement systems

  • MP3 players — Simple portable players with microSD card storage

  • Interactive audio projects — Sound effects, music playback, and voice prompts

  • Educational projects — Learning audio decoding, SPI communication, and embedded audio

  • MIDI synthesizers — Playback of General MIDI and SP-MIDI files

Notes for Business Buyers

  • Proven platform — VS1003 has sold more than 5 million units and is widely documented .

  • Complete audio solution — Decoder, microphone, line input, and headphone driver on a single board.

  • Cost-effective — Low BOM cost makes it suitable for volume production .

  • Suitable for bulk purchasing — Ideal for product development, educational kits, and audio device prototyping.

Q: What is the VS1003 module used for?

It is an audio decoder and voice recording module for embedded projects, including MP3 players, voice playback devices, message recorders, and interactive audio applications .

Q: What audio formats can this module decode?

It decodes MP3, MP3+V, WMA (all profiles), WAV (PCM + IMA ADPCM), General MIDI, and SP-MIDI files .

Q: Can I record audio with this module?

Yes. The module includes an onboard microphone and line input, and can record audio in IMA ADPCM (mono) format. The recorded data can be saved by the host microcontroller .

Q: How do I connect this module to an Arduino?

Use the SPI bus. Typical connections: SCK→D13, MISO→D12, MOSI→D11, XRST→D10, DREQ→D9, XCS→D8, XDCS→D7. The Adafruit_VS1053 library provides example code .

Q: What is the difference between XCS and XDCS?

XCS selects the SCI (Serial Control Interface) for reading/writing registers. XDCS selects the SDI (Serial Data Interface) for streaming audio data. They should not be active simultaneously .

Q: What is the DREQ pin used for?

DREQ (Data Request) indicates when the VS1003B is ready to receive more audio data. Wait for DREQ to go HIGH before sending the next data block .

Q: What power supply does this module require?

It operates from a 5V DC supply. Onboard AMS1117 regulators provide the 3.3V and 2.5V rails required by the VS1003B .

Q: Can I connect headphones directly to this module?

Yes. The module has a 3.5mm stereo output jack capable of driving a 30-ohm load (typical earphones) .

Q: What is the difference between VS1003 and VS1053?

The VS1003 is the older generation decoder supporting MP3, WMA, WAV, and MIDI. The VS1053 is a newer chip that adds support for Ogg Vorbis, AAC, and FLAC. They share similar pinouts and register interfaces, so code is often portable between them .

Q: Can I purchase in bulk for a product development project?

Yes. The VS1003 module is suitable for both individual users and business purchasing. Its low BOM cost and proven design make it practical for volume production and educational programs .