I was thinking of using a 3 speed or dimmer switch to control the motor speed.
You can use of one those light dimmers if it's a universal type ac/dc motor like is on most small hand power tools. Not if it is a pure dc type.
Just to save you possible hassle, putting a bridge rectifier between the lamp dimmer and motor to make sure it gets dc only doesn't work very well at all for a 110v dc treadmill motor. I've tried it and you get very little actual range control that way.
What voltage and amp range are you looking for?
If it's anything between 24v and 60v up to about 1000watts you can get an electric scooter motor controller that uses a 0-5vdc input and set it for what ever speed your looking for using something as simple as a potentiometer. Or you can buy all the electronic bits yourself and build something. There is a number of motor controller circuits available on the web.
Personally for bigger motors I've found the scooter controllers are the simplest route to go and it has always turned out to be cheaper than buying the bits to make the same thing for me. The extra signal inputs such as a key switch and brake switch power shut off make them handy.
Another alternative is the dc motor controllers used with the rc airplane engines now. Some of those are quite capable, very small and not really expensive either but you need a microprocessor to send the signals to them as they expect a digital signal input.
ok the motor runs on 6 c battery's.
I like FleeBell's answer for ready made other purposing of a control unit.
Basically they are all using resistance.
You could build your own small control using a multi position switch
that is connected to various resistors of differing values.
you can then experiment with the WIDE range of resistors available
by tearing apart old electronics etc. until your multi-switch is tuned to the gradations
of speed that please you !
keep on playing !!
Watchman2012 funny i had the same idea using resistors but had no idea if it would work :)
Separate names with a comma.