3.7v DC motors not drawing enough current

I'm sure there is a simple problem with this circuit that I'm screwing up, but I have no idea what it is.

I'm simply not getting full power to any of these 3.7v dc motors. These motors come from this drone: Syma X5C-1

The motors themselves:
Coolplay-Anti-clockwise-Clockwise-Plastic-Quadcopter

I believe I'm reading 1N4148 on the diodes.

The mosfets I'm using are P30N06LE.

Here are the current draws from each motor:

Starting at the left most motor on the breadboard and moving to the right:

290mA, 250mA, 300mA, 230mA...plus or minus 20-30mA for each of these values.

I'm using a fully charged, high drain, PCB protected 3.7v (4.2v at full charge) li-ion 18650 style battery. The voltage of the battery only droops about 10mV when all motors are running. I've read that this battery can supply up to 4A continuous, and I've also read up to 10A continuous on the same page (good ol' foreign sellers lol); either value should be good enough, or I would imagine would at least provide better results than what I'm getting, if that were the case. The battery I'm using.

However, it looks like I'm only getting 1.5-2.0V on each motor, that's definitely not good.

To get an idea of the power that these motors should be able to produce, when I simply hook up the battery leads directly to a single motor it will draw nearly 900mA, and at that point the RPM looks very fast and the lift is sufficient enough to easily begin to pull that arm up.

This is the circuit I used for each motor:

Here is everything on the breadboard:

Another weird issue I'm having is that the motor speeds are also dependent on what power source I use for the Arduino itself; which, makes no sense to me as the motors have their own power supply. For instance, when I power the Nano through the USB the motor speed drops, approximately, in half. However, if I power the Nano through VIN with a 9v battery, or 12v battery, for example, the speeds will be what I documented at the beginning of the post. I haven't experienced this problem with other projects using motors. This tells me there must be something fundamentally wrong with the circuits I'm using.

I'm simply using digitalWrite(motorPin, HIGH) or LOW to control these motors, analogWrite(motorPin, 255) produces the same result; as expected.

I think that's about all I have to say about this; if I have forgotten any other information I'll add it later.

I look forward to your solutions (I know it's gonna be simple lol).

Looks correct. Maybe something is not fully making contact.

The 1N4148 diodes are definitely not appropriate for those motors as the maximum repetitive forward current is only 500 mA. They may already be damaged. Try 1N4004 or similar.

Also, breadboards are not intended for high current (> 100 mA or so) and the contacts may be burned, especially the power rail. Solder all the motor connections.

jremington:
The 1N4148 diodes are definitely not appropriate for those motors as the maximum repetitive forward current is only 500 mA. They may already be damaged. Try 1N4004 or similar.

Also, breadboards are not intended for high current (> 100 mA or so) and the contacts may be burned, especially the power rail. Solder all the motor connections.

Oh wow, thanks for the input on the diodes, I had a feeling those weren't adequate.

However, I have now switched them all to 1N4002 diodes, which are essentially the same as 1N4004, but there is no, or little, difference in performance.

I'll take note of what you said about using breadboards. I'll try to make a more secure circuit and see if there's any improvement. Thanks for the advice.

Check the voltage between gate and source of the MOSFET - that should be the full Nano supply
voltage if things are working.