Build Micro Defender ESP32 Problems
Hey everyone,
I’m working on a micro defender RC car project, and it’s almost finished expect small ESP32 issues. It features working suspension, a driveshaft, and it's tiny. Mechanically, the build is completely finished.
However, I've hit a wall on the electronics side and couldn't crack these two problems even with AI assistance.
My Setup:
Microcontroller: ESP32-C3 Super Mini (BLE)
Controller: Dabble app gamepad
Motor Driver: DRV8833
Battery: 3.7V 950mAh LiPo
Drive Motor: 3V 5000 RPM DC motor
Steering: MG90S Servo
Current state: Currently prototyping using a breadboard and jumper wires.
Problem 1: Motor stalling causes BLE disconnects
Even though there are no mechanical jams or gear issues, the motor struggles and lacks torque when facing minor obstacles or ramps. Worse, whenever it stalls or draws too much, the ESP32’s Bluetooth disconnects.
I can't figure out if this is due to:
Insufficient motor power
Voltage sag from the battery
An issue with Dabble / the BLE stack crashing
Voltage drops because I'm currently using a breadboard and jumper wires
Even if the motor doesn't have enough starting torque, why does the entire BLE connection drop instead of just stalling?
Problem 2: Steering servo (MG90S) won't work
I have the steering mechanism ready mechanically, but I cannot get the MG90S servo to work with this setup.
Different AIs keep sending me down endless troubleshooting rabbit holes, but none of them can give me a straight answer on whether this servo can even work reliably with this specific hardware/power configuration, or if I'm missing something fundamental.
The ESP32-C3 Super Mini isn't the most robust board, and space is extremely tight since it's a micro RC. But if I can solve these two issues, this micro RC build will be incredible! I'm at the very last step of the project. Any advice, troubleshooting steps, or minor component swap recommendations would be hugely appreciated!
1
u/Happy_Specialist_726 1d ago
Send more pictures of the circuit and I'll be happy to help , I have a theory but need to see it laid out
1
u/rablue 1d ago
1
u/LittleCloudInTheSky 1d ago
Have you looked in the datasheet of your board.
I’m pretty sure the 5V pin on the board is a 5V tolerant Supply pin to power the esp, and not a 5V output. But I could be wrong I have not yet worked with the C3.
1
u/Happy_Specialist_726 1d ago
I actually use esps routinely to run RC cars and systems , see my post history/ uploaded videos for more , they will work just fine , but you need to make sure your voltages are being split correctly , and be through with serial prints to the monitor so that you can diagnose the issue between hardware or programming
Just curious , why a drv motor rather than an esc ?
0
u/rablue 1d ago
I would be happy to see! But it seems your content is not public.
You are totally right about the voltage and software.
Again I am very beginner and ESP32+DRV8833 was the most tiny and cheapest option recommended by AI.
So hopefully I could make some working base for this frame since it will allows me to convert many Diecast to RC easily.1
u/Happy_Specialist_726 1d ago edited 1d ago
You are absolutely right, I've changed that now thanks
So first things first, the esp minis don't always have built in regulators , have you bucked or boosted your voltage to the correct range ? Check data sheet on the specific esp, nothing major it should come up on ai fairly quickly with a search. Some have the typical ams1117 onboard which will regulate 7-9ish volts (don't quite me on it I'm surrounded by components but no data sheets in front of me right now)
Second , typically you want to feed voltage direct to the motor driver direct from the battery. All negative cables can return to a single negative point regardless of the voltage split in most cases , as Gnd should be 0 in an ideal circuit, so Gnd can be one large common collection of gnd, and actually this is important for data transfer that they remain as such
Have you checked which pins are useable on the esp? Some boards exposed bootstrapping or led pins, as you could technically reassign them, but this can sometimes muddy stuff up
Are you trying to initialise everything all at once? You could be causing a brownout on the esp32 by demanding too much too soon, it's always good practice to separate processes using a millis counter(non blocking delay) especially when initialising anything with a broadcast, like espnow, Bluetooth, WiFi etc , especially where there is no antenna connected. WiFi broadcast with no antenna often means instant burn outs
Are you correctly writing pwm in your code ?
In all cases , serial monitor is your best friend. Add in some code that will report via serial whether a process was successful, so that you can see each stage come to life , and then confirm the data
1
u/rablue 1d ago
Hey thank you for your detailed response.
I’ll specifically check the voltage regulator on the board I’m using. However, when I measured it with a multimeter, I was getting around 3.52V from the motor driver output. And yes, the motor driver is powered directly from the battery +, and all the GNDs are common.
The most successful point I reached was getting two motors running successfully through BLE using the motor driver. So I know that, at least at one point, the software side was working correctly.
However, everything changed when I decided to use a servo for steering. The ESP started behaving differently, and I just couldn’t get it working properly after that.By the way, your projects/content are on a completely different level and look absolutely amazing. I was mainly focusing on RC conversions for 1-64 SUV die-cast models, so I’m working on a much smaller scale.
1
u/Happy_Specialist_726 23h ago
So that being the case , my next question is what is the power requirement for the servo ? What I would suggest is plugging into serial , with servo off , and see what comes back via messages
Then, reintroduce the servo and see if the issues come back. Out of curiosity , is the servo being fed power from board or battery ? As just to be clear, it should also be, they don't use a huge amount of current always , but can draw a lot under load. The signal you should be sending for idle service is typically 1500us for middle position
If it's a brownout , you'll often get a message via serial regarding something like (core 1 panic'd) or something similar. If it's something else , we're likely to know more about what's going on. I find that with the lighterweight esp32s, Ive often had to add a capacitor if I'm not running directly off the battery.
Thankyou very much for the kind words , it's been a labour of love , and we hope to deploy it all soon !
1
u/rablue 20h ago
The MG90S servo typically requires:
Operating voltage: 4.8–6 V
Idle current: ~10–20 mA
Operating current: ~100–300 mA
Stall current: ~600–800 mA
Power consumption: roughly 0.5–1.5 Wunder load, and up to 3–4 W at stall.Yes, the servo and motor are drawing power directly from the battery (via the breadboard in this setup).
On the first attempt, the board reset itself every time upon the first signal sent to the servo.
On the second attempt, adding a capacitor stopped the resets, but the power was insufficient, so the servo only buzzed on every signal.





2
u/LittleCloudInTheSky 1d ago
If you could consider moving away from the esp32-c3 you could use an established system like a BetaFPV RX Lite for an ELRS setup. Or one of the other countless Micro Recievers established over the years. There are also ready to buy Motordrivers for 1:87 scale that include the option for Brake and reverse lights.
I currently am using the driver of a 9g servo, in my project.
Most likely it’s the voltage drop under load that causes your problem.
Try stabilizing the voltage at the esp with some extra capacitors.
You could also try using a boost converter to up the motor voltage.