Your new topic does not fit any of the above??? Check first. Then post here. Thanks.

Moderator: igrr

User avatar
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.
User avatar
By rudy
#85681 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.