As you can see it has a rated voltage of 3.5 V and current of 1 A.
My question is if I can run this directly off Arduino Uno or if I need an external power supply just for the motor. I am inclined to say that Arduino Uno can do it as it can accommodate voltages up to 5V, but I am unsure about the current.
For the future, can anyone tell me what are the current limitations to consider if I want to power something off the Arduino Uno? How acceptable is 1A?
You should not power ANY motor from an Arduino board. Motors need more current than an Arduino board can provide.
You should ignore the rated voltage for that motor. The important factor for a stepper motor is the current. They work better with higher voltages - 12v or more. But you need a specialized stepper motor driver such as an A4988 or DRV8825 because they have the ability to limit the current to protect the motor.
I think the usual recommendation is to get the actual motor drive power from a separate supply, or possibly from the same supply that runs the Arduino, but not going through the Arduino's voltage regulator. Motors draw a lot of current, and of course it's inductive, so there are spikes when current turns off. The Arduino I/O pins are used to drive the transistors which in turn handle the motor current - an H bridge circuit or whatever. So the Arduino handles the control lines, but the motor's power comes from somewhere else. That's not to say the other way wouldn't work, and I'm sure you can find Youtube videos of it working. But that doesn't mean it's best practice.
I think what a lot of people do for steppers and servos is just power them from USB in parallel with the Arduino. Depending on the motor and the max current provided by the USB port, that can work ok. The biggest problem I've had with even small servos is that they draw a lot of current when first powered up, and that can lead to reboot cycling.
Many thanks to both!! I have the DRV8825, but when I got them I was hoping that perhaps since this is a tiny motor that maybe it would be possible to drive it off the arduino. I got these sometime ago, so I do not entirely recall the details.
Is there a rule of thumb for the currents which we can consider safe to draw from an Arduino?
There is no "rule of thumb". There are specifications listed in the processor data sheet. For instance, for the mega328 chip (Uno, Nano, etc. processor) the absolute maximum current into (sinking) or out of (sourcing) any pin is 40mA. 200mA for the chip and 100mA for each port. Exceeding any of those specifications can cause permanent damage.