HC-05 Bluetooth Robot Disconnected Under Load! (Servo Motor Power Mistake)
3 February 2026
Hey there! I want to share a story from one of my robotics competitions that might save you some headaches if you’re building Arduino robots.
I built an all-terrain robot and added an HC-05 Bluetooth module to control it wirelessly and two 9g SG90 servo motors in a mechanism that picks tennis balls from the ground. Everything looked fine in testing… until the competition day.
So, there I was, controlling my robot perfectly until I tried to lift the tennis ball with the plier that I created using MDF wood and the two servos.
I lowered the plier down with the 1 servo, opened the plier with the 2nd servo, and adjusted the robot to catch the ball, then attempted to close the plier grip, but in that moment the Bluetooth disconnected instantly.
The Reason
After the competition, I went home and did some more research about the SG90 servo motor and the HC-05 Bluetooth module I used, and here’s what I realized:
When the plier closed around the tennis ball, the servo motor tried to squeeze it harder. But the ball was very hard, so the servo motor couldn’t move any further but kept on squeezing it. In that moment the servo started to draw a lot more current, and because of that, the Bluetooth module didn’t receive enough power and got disconnected. I found out that HC-05 is very sensitive to voltage drops, and if it detects less than 3.3–3.6 V, it can reset or disconnect.
Once the Bluetooth disconnected, the robot froze, and the only way to make it work again that time was to press the reset button on the Arduino. But since I wasn’t allowed to touch the robot during the competition, I couldn’t fix it, and that’s how I ended up disqualified.
When I was testing at home, I used a plastic ball. Each time the plier closed, the ball bent, and I thought, “Yes, this is good, the servo will catch the tennis ball strongly.” What I didn’t realize was that this only worked because the plastic ball was soft. I didn’t know about the current and how the servo would behave with a harder ball.
How to Solve the Problem
Looking back, I can see exactly what went wrong and how I could fix it.
The first mistake was letting the plier open and close all the way according to the servo’s rotation range. It really needs a limit, so the servo does not stall when it hits something firm, and this is connected to the design of the plier.
Another mistake was using the same battery pack for both the servo and the Bluetooth module. If I had given them separate power sources, the Bluetooth would have stayed stable even when the servo pulled more current.
And the biggest lesson was about testing. At home I used a plastic ball that bent easily, so I thought the servo was catching it strongly. But in the competition the tennis ball was firm and did not bend, and that is when the real problem showed up.
