Help me review my breadboard?

Hey everyone! Thanks to the great help I received on this forum, I obtained all of the components I needed for my project and I now have a working prototype on my breadboard.

I'm developping a very simple circuit that controls a DC motor, slowing it down to about 33RPM using an Arduino Pro Mini and a MOSFET motor driver.

Although my breadboard prototypes work, I have to admit I feel like I wired it wrong. I watched tutorials and based myself off of others breadboards that I found online, but the whole thing still seems... fishy.

I would like for someone to quickly review my wiring and tell me if I'm missing anything. Sorry for the terrible Fritzing diagram, I struggled to do something clean on the software.

This is what I'm trying to reproduce:

And this is the current state of my breadboard. I'm not yet using 3 AA battery to power the Arduino, but instead using the USB to SATA adapter to give 3.3V to the Arduino VCC pin, then using the VCC & GND pin to power my breadboard. My motor is spinning correctly, and the code I have is working successfully. (Nevermind the weird battery compartment. I couldn't find a 3 AA battery on Fritzing so I photoshop it instead.)

Any help would be greatly appreciated!

motor power input not shown
180 Ohm resistor wrong wired

Your 10K resistors aren't wired up right.

Don't run motor currents through breadboards. The contacts aren't designed for such currents and will get damaged.

3 Likes

did we already say this? deja vu?

Good job on the photo shop. With your skill I would consider learning CAD (Computer Aided Design) software for electronics such as KiCad, it is free as are many other packages. Schematics is the written language of electronics.

Never run power through pin boards they will not survive. Also running motor power through your Arduino is a big No No.

I am not sure about your MOSFET, you did a great job with the pull down resistor but without knowing the MOSFET parameters I cannot determine if it is adequate for the job. You need to look at the Vgs curve to check if it will conduct the current at the supplied gate voltage. Many designs on the web show the pulldown resistor at the gate of the MOSFET with a another resistor to the port pin, this is a bad design as the resistors form a voltage divider lowering the Vgs voltage. You did it correctly as the pull down resistor will keep the mosfet off during reset etc until the processor gets control.

Whenever possible get an avalanche rated MOSFET, that eliminates the flyback diode requirement. If you use one anyway it will not hurt anything but the MOSFET will conduct before the diode. The diode needs to be sized for the motor current. Many use the 1A devices and at larger loads they will eventually fry.

You can connect the motor at the battery instead of the Arduino.

1 Like

The IRFZ44 is not a logic level MOSFET, and will not work well or at all with a 3.3V Arduino.

As pointed out, the resistors are not correctly positioned.

Thanks for all your answers, there are some things I don't quite understand.

  1. If I can't run motor current through a breadboard, how am I supposed to prototype the circuit?

  2. The IRFZ44 MOSFET was recommended to me by several members here on the forum. It's working with my Arduino 3.3V but the pinout is weird, I made it work by playing around. What's a better MOSFET for my use case?

  3. Running motor power through my Arduino is a big nono, alright, but then, how am I suppose to both power the Arduino and the motor? Off of the same batteries but with a separate circuit?

Don’t use IRFZ44, use IRLZ44

See these Logic level MOSFETs.

Run the battery power to the breadboard, not thru the Arduino

Your 10k and 180R resistors are shown in parallel, these are not wired as per the schematic.

1 Like

Here's my attempt at correcting my circuit based on your feedbacks. Thanks!

1.5v X 3 = 4.5v

4.5v is a bit low for a 5v Arduino.


Note, your resistors are still not wired correctly, compare what you have to this circuit:


Not a major problem, the 10k resistor should go to the breadboard GND, not the Arduino GND.


2 Likes

I think I fixed it! Thanks a lot.

I'm using a 3.3V Pro Mini instead of 5V, since I'm running the motor to a very low speed, I didn't need the 5V in the first place!

Now you need a MOSFET that will work at 3.3V
You will be limited to SMD parts only.
Have you soldered SMD parts before?

I have not, but I intend to deisgn a simple PCB and have it assembled by JLCPCB directly, saving me the hassle of having to solder SMD parts myself.

I just need to familiarize myself with KiCad and figure out how to pick the right SMD components.

Then the Battery 4.5v should go to Arduino RAW if that’s the way you it’s going to be powered.

Confirm with a voltmeter, the Arduino 3v3 pin is reading 3v3.

1 Like

The Mini is not plugged into the Breadboard as it is designed to.

Solder up the MOSFET (the replacement one), the diode, cap and some screw connectors to a small piece of stripboard. For tracks on the stripboard that will carry the high motor current, put a thick layer of solder (enough to cover the unused holes).

There are many members on this forum and many are beginners and should not be giving advice to other beginners.

You can attempt to isolate the arduino from the voltage drop when the motor is turned on with a diode and a large cap.

Unless you need a lot of these, just use a pro mini.

I need 12 of those. And I was thinking of simply adding a Arduino Mini footprint to the board with all the correct wiring, and just soldering the Mini on top of the PCB with headers.

You might consider using EasyEDA, it's much simpler to learn that KiCAD and it has links to the JLCPCB part inventory.

1 Like

Yes, this is a very good way of doing this.


“ just soldering the Mini on top”
Instead of soldering, use female headers and plug the Pro Mini on to you motherboard.

1 Like