-->
Page 1 of 1

ESP8266-01 Resets when DC motor runs.

PostPosted: Fri Feb 14, 2020 11:36 pm
by pongging55
    DC motor: 3-6v
    Servo sg90: 3-7.2v
    Esp 01: 3.3v

I have two Arduino using I2C. Both has their own power source.
Arduino1 communicates to Android via Blynk App's server.
Arduino1 sends command to Arduino2 to run Servo, everything is smooth and working.
Arduino1 sends command to Arduino to run DC motor using digitalWrite(motor, HIGH), ESP 01 resets.

Using analogWrite(motor, 102) or smaller, though it may not reset it instantly, prolong usage would still results to reset randomly any moment.
Disconnected I2C and tried to operate Servo and DC motor simultaneously at Arduino2 using Serial commands. All works fine.

Any suggestions? Thanks.

Below is the current schematic diagram.
Image

Re: ESP8266-01 Resets when DC motor runs.

PostPosted: Sat Feb 15, 2020 6:56 pm
by rudy
What is the current output capacity of the 3.3 volts connection of the Arduino board? What are the current requirements for the ESP-01?

DC brushed motors are very noisy devices. What are you using for pull up resistors on the SCL and SDA lines? Try 1kOhms.

The ESP8266 is a 3.3 volt part and the maximum allowed voltages on it's pins is the 3.3 volt level and not the 5 volts from the Arduino TX pin. The ESP-8266 does not have 5 volt tolerant inputs. You should be using proper level shifter.

The ESP8266 needs a lot more current than what is available from the Arduino 3.3 volt pin.

You didn't list any details on the current requirements for the DC motor. The 5 volt supply may not be adequate. But if it was, you might still get voltage spikes from the motor.