sreinmann
I need a little more information before I can answer your question accurately. What I would need to know is how much current the motor draws at a given voltage.
If you haven't purchased a motor I have listed a couple of motors from All Electronics
https://www.allelectronics.com/item/...ibrator/1.html
https://www.allelectronics.com/item/...i-motor/1.html
https://www.allelectronics.com/item/...i-motor/1.html
The third motor is rated to operate at 8100 RPM (way to high) at 6 volts and draws 36 milliamps (mA).
assuming the speed to voltage curve is linier (and it is not) running at 3 volts the speed should be 4000 Rpm and at 1.5 volts around 2000 RPM. So by simply switching between batteries you have some speed control but 2000 RPM may be too high.
Using resistors you may have to do this by trial and error. for a 3 to 6 Volt motor I would purchase two 20 ohm two 10 Ohm, two 5 Ohm and perhaps four 1 ohm 1 Watt resistors. By wiring these in series with the motor , by trial and error you should find a resistance that works. I'm thinking that with 1.5 volt battery the motor may run to fast. So two 20 Ohm resisters is series should cut the voltage to the motor to about half. but that may still be too high. Just add a 10 ohm in series. keep adding the resistors in series until you get the speed you want. As with the batteries adding a switch will give you some preset speeds.
There are small DC motor controls if you decide to try and use one I would suggest that it is a PWM controller. There are some "Kits" for these but you need to be skilled with a soldering Iron and working on printed circuit boards. If not find a friend who can do the soldering for you.
Small motors do not tend to run at slow speeds very well. This has to do with how the armature is designed and how many magnetic poles the motor has.
If you have any questions you may send me a private message and I will answer a soon as I can.
Jim Nunn