I am having a very weird issue with my Arduino Uno and a DC motor (a13122300ux0570). It seems that the digital pins, as well as PWM pins will not power my motor when it is plugged in. This seemed weird since the motor takes up to 6 volts, and I should get at least some spinning when I put 5 volts into it. I tried to use just the power pins on the left of the Uno, which supply 5 volts, and 3.3 volts, and they both worked. I figured it must be my digital output pins which were the problem, so I plugged in an LED, and it lit up fine. I then created a simple circuit with the LED and DC motor running in parallel with the power supplied from the digital pins. The LED lit up but the motor still did not turn on. I then tried it again drawing power directly from the 3.3 volt power pin on the left of my Arduino Uno, and both the LED and the motor turned on. This issue is very frustrating, and I would love to know the answer to my problem. Do the digital output pins supply less than 3.3 volts??
This isn't about voltage. You need to understand the current limitations of the Arduino IO pins. The absolute maximum current these pins can supply is 40 mA. You should never operate at the absolute maximum values as this may cause permanent damage. Generally you don't want to exceed 25 mA. If you're not using a current limiting resistor with your LED it may well be using more than that by itself. If you want your Uno to continue working correctly don't just blindly plug things into it. Do some research first, there is lots of information available. To answer your question, the digital pins of the Uno will be a little under 5 V when they are set HIGH.
Okay, so basically, the problem is that your motor draws too much power. I had the same problem myself. I would suggest getting an H-bridge motor driver shield or something similar to drive your motors. those basically use an external power source, say, a nine volt battery, and use the logic input from the Arduino to control it.
Put it like this: You've got two spaceships, a small one and a big one. The small one has all the controls, and the big one has the engines. They are connected through a comms system, which allows the small spaceship to control the big one. The small spaceship is the Arduino, the big spaceship is your motor and 9v battery, and the comms system is your H-bridge. What you are trying to do is hook the two spaceships together and only use the power of the little one. It just doesn't work.
You can buy pre-assembled motor driver shields here on the Arduino site, at a third-party website, or on Amazon.com, my personal favorite. The other option is to go the good old-fashioned way and use the driver chips, transistors, and a breadboard. I hope that helps!