I want to use Pin 4 on the ESP8266 to turn the DC motor on and off at 0.5 second intervals through the IRL40B209 MOSFET. Acknowledging that the MCU can only output 3.3V the GPIO pin, I am using a TC4427 MOSFET Driver to bring the signal up to Vcc (7.5V at 2A). The MCU is on a 7805CT voltage regulator, while M1 pulls directly from the power supply. The power supply is a Philmore Multivoltage regulated power supply set to 7.5V.
Unfortunately, once M1 turns on, it won't turn off, even with the pulldown resistor at R2. Once it's turned on, it goes full power and nothing short of pulling the gate wire out or shutting off the power will stop it. On my multimeter it shows that the data pin doesn't go logic low after M1 turns on. I think the motor is interfering with the MCU when it turns on.
What can I do to make sure that the motor turns off when the MCU goes low?
(P.S. Note that the above behavior does NOT occur while the MCU is plugged into my computer. The code is written in Micropython and I originally tested it while the MCU was plugged in and the code run through the webREPL. The circuit works exactly as intended while plugged in USB. A test with my multimeter also showed that the logic low voltage was lower while plugged into my computer (0.055V) vs when it's running off the power supply through the MCU's voltage regulator (0.885V).
EDIT: While on the Philmore power supply, once the motor is turned on, the ESP8266 stays at logic high 3.3V even though it is programmed to go low after 0.5 seconds, as measured by multimeter at the output for pin 4 between the resistor and the MOSFET driver. This behavior does NOT occur while the ESP8266 is connected to my PC by USB cable.