Grove - MP3 v2.0

Grove - MP3 v2.0 is a tiny-sized and compact audio module. It supports various audio file operations for an audio file of MP3, WAV and WMV format, such as random music playing, play music in specific files, and so on. With serial communication, you can use all predefined command or command combinations to do all operations on music files. This module also supports general file systems such as FAT16 and FAT32. It gets a Grove UART interface, a 3.5 mm audio jack and a micro-SD slot. With this module, you can add some noise to your silent applications.


Product Version Changes Released Date
Grove - MP3 v1.0 Initial April 28 2013
Grove - MP3 v2.0 Change to KT403A Dec 15 2015


  • General operations on audio files
  • On-board micro-SD slot and 3.5 mm audio jack
  • Support sample rate of 8 / 11.025 / 12 / 16 / 22.05 / 24 / 32 / 44.1 / 48(KHz)
  • 24-bit DAC output, 90 dB (at Max.) dynamic output range, signal-noise ratio at 85 dB
  • MP3, WMV and WAV audio format and FAT16, FAT32 files system supported
  • Embed 10 levels of equalization in total


More details about Grove modules please refer to Grove System

Application ideas

  • Middle-level audio module for any applications.


Parameter Value
Input 5 V (DC)
Operating current (no signal output state) less than 15 mA
Operating current less than 40 mA
Chip KT403A (datasheet)
Chip LDO output voltage 3.3 V
Chip output current 100mA(at Max.)
File formats supported MP3, WAV, WMA
Maximum memory supported for SD card 8 GB
Sampling rate 8 / 11.025 / 12 / 16 / 22.05 / 24 / 32 / 44.1 / 48(KHz)

Platforms Supported

Arduino Raspberry Pi


The platforms mentioned above as supported is/are an indication of the module's software or theoritical compatibility. We only provide software library or code examples for Arduino platform in most cases. It is not possible to provide software library / demo code for all possible MCU platforms. Hence, users have to write their own software library.

Hardware Overview

Getting Started


If this is the first time you work with Arduino, we firmly recommend you to see Getting Started with Arduino before the start.

Play With Arduino


  • Step 1. Prepare the below stuffs:
Seeeduino V4.2 Base Shield Grove - MP3 v2.0
enter image description here enter image description here enter image description here
Get One Now Get One Now Get One Now


We need SD card with music inside and Headset/earphone or stereo with 3.5 mm audio jack as well.

  • Step 2. Connect Grove-MP3 v2.0 to port D2 of Grove-Base Shield.
  • Step 3. Plug Grove - Base Shield into Seeeduino.
  • Step 4. Connect Seeeduino to PC via a USB cable.


If we don't have Grove Base Shield, We also can directly connect Grove-MP3 v2.0 to Seeeduino as below.

Seeeduino Grove-MP3 v2.0
5V Red
GND Black
D3 White
D2 Yellow


  • Step 1. Download the Grove-MP3 v2.0 from Github.
  • Step 2. Refer How to install library to install library for Arduino.
  • Step 3. You can select Seeed_Serial_MP3_Player/examples/KT403A_Terminal_player example and upload to arduino. If you do not know how to upload the code, please check how to upload code.
  • Step 4. We will see the info at COM terminal as below.


For advanced programming, you can download datasheet of chip KT403A.

  • Step 5. Please key in the related command to play the music.


The library supports AVR/SAMD/STM32F4 devices, both hardware and software serial as well.

There are 2 kinds of serial ports. One is COMSerial, stands for communication port(connecting with Grove-MP3 module). The other is ShowSerial, stands for serial info display port(connectiong with PC).

Most of arduino boards have at least one Serial, some have multiple serials(Arduino Mega has 4 Serials). It communicates on digital pins 0 (RX) and 1 (TX) as well as with the computer via USB. So if you connect UART device on pin D0 and pin D1, you have to remove them before downloading program through USB. Or else it will cause upload fails. Sometimes you need more serial ports than the number of hardware serial ports available. If this is the case, you can use an Software Serial that uses software to emulate serial hardware. Software serial requires a lot of help from the Arduino controller to send and receive data, so it’s not as fast or efficient as hardware serial. For more info about the Serial, please refer to Seeed Arduino Serial.

  • AVR: For the below example, We define Software Serial as COMSerial(connectiong with Grove-MP3 module). NOT all the digital pins can be used for software serial. You can refer to Software Serial for detail pins. We define hardware Serial as ShowSerial(connecting with PC). If you use Arduino Mega, you can connect the hardware Serial to ShowSerial and the other Serial1/Serial2/Serial3 to COMSerial. So you can refer to AVR Mega setting.

  • SAMD: For the below example, The SAMD does not support software serial. We use the hardware serial Serial1 to commuincate with Grove-MP3 Module and SerialUSB to print message on PC.

  • STM32F4: For the below example, We use the hardware serial Serial to commuincate with Grove-MP3 Module and SerialUSB to print message on PC.


For more info about the Serial, please refer to Seeed Arduino Serial.

#ifdef __AVR__
#include <SoftwareSerial.h>
SoftwareSerial SSerial(2, 3); // RX, TX
#define COMSerial SSerial
#define ShowSerial Serial 

KT403A<SoftwareSerial> Mp3Player;

#define COMSerial Serial1
#define ShowSerial SerialUSB 

KT403A<Uart> Mp3Player;

#define COMSerial Serial
#define ShowSerial SerialUSB 

KT403A<HardwareSerial> Mp3Player;

Schematic Online Viewer



Arduino Based Security Project Using Cayenne: Arduino based Home Security Project. SMS/email alerts when intruder detected. Personalized messages for authorized personnel.

Leaf Piano: We made a piano using a touch sensor, as well as leaves for piano keys.

Tech Support

Please submit any technical issue into our forum.