MP3 Player and Servo stop working with Bluetooth

Hi everyone,

My first post here. I hope this is the right place to ask for guidance and help.

I just started working with Arduino (UNO) a few weeks ago and I was able to build some projects with Bluetooth connection, mp3 player, and a servo (separately).

Here are the models that I am using:
Bluethoot HC06
MP3 VS1053 Arduino Shield (ải-mã-MP3-VS1053-Arduino-Shield-i.9731150.1620294588)
Servo (Động cơ RC Servo 9G –

I have been trying to build a project (remote car) with Bluetooth, servo, and mp3 player.
However, as soon as connect the Bluetooth the mp3 stops working (playing a song) servo starts moving randomly affecting his control. The servo partly works with Bluetooth but its random moves affect the control.

I am using this library for the MP3 Player (MP3Shield_Library_Demo.ino)

and this includes:

#include <SPI.h>
#include <SdFat.h>
#include <FreeStack.h>
#include <SFEMP3Shield.h>

#include <Servo.h>
#include <SoftwareSerial.h>
SoftwareSerial hc06(rx,tx);

int tx = 3;
int rx = 2;
SoftwareSerial hc06(rx,tx);
Servo servo1;
#define servoPin 6

Are there any known issues with these devices working together on Arduino Uno? What could be wrong?

Guidance needed from you all :slight_smile:

Thank you very much!

Powersupply too weak.

i hope You power down everything before You connect or disconnect things. Else stuff might get severly damaged.

I tried with an external battery to power the Bluetooth only. However, the problem still remains with the servo. As soon as I connect the Bluetooth with my phone, the servo starts making funny moves. :frowning:

Any suggestions?

I will try to power the Bluetooth separately from the mp3 player and check again for this case.


Sure. Look at line 42, there is the error.

lol. Good one.

I just "found out" that SFEMP3Shield library defines the pins:

#define MP3_XCS 6 //OUTPUT -- Control Chip Select Pin (for accessing SPI Control/Status registers)
#define MP3_XDCS 7 //OUTPUT -- Data Chip Select / BSYNC Pin
#define MP3_DREQ 2 //INPUT -- Data Request Pin: Player asks for more data
#define MP3_DREQINT 0 //interrupt -- Corresponding INTx for DREQ pin
#define MP3_RESET 8 //OUTPUT Reset is active low
#define SD_SEL 9 //select pin for SD card

Probably this is why everything is messing everything up. The ultrasonic sensor was not working, I changed to pins different from these ones and it is now working. I would assume that it would work for the Bluetooth and the servo. I had the servo in one of these pins... :confused:

How can I changed these pins numbers without changing the library file? Any way?