A spreader, comprising: a frame; a hopper connected to the frame and configured to contain granular material to be spread over terrain or other surfaces; two wheels (14, 16) rotatably connected to the frame; a first rotor and a second rotor rotatably connected to the frame below the hopper and configured to spread the granular material wherein the first and second rotors (34, 36) rotate in opposite directions and independently of each other; a first agitator connected to the first rotor with a shaft, a rod, or a cable, the first agitator configured to facilitate the flow of granular material from the hopper onto the first rotor; a second agitator connected to the second rotor with a shaft, a rod, or a cable, the second agitator configured to facilitate the flow of granular material from the hopper onto the second rotor; a drive train constructed to drive the first and second rotors (34, 36), the drive train receiving input from at least one wheel (14, 16); characterized in that said spreader further comprises: a gear assembly connected to one of the first agitator or the second agitator; a stepper motor connected to the gear assembly with a wire or a shaft, the stepper motor configured to generate an amount of current based on a linear velocity of the spreader and as a function of rotational movement of the agitator (28 or 29) transmitted by the gear assembly to the stepper motor; two square exhaust ports (50a, 50d) disposed in the lower portion of the hopper such that each of the two exhaust ports (50a, 50d) is located over a different one of the first and second rotors (34, 36), each exhaust port (50a, 50d) being configured to allow the flow of granular material, by gravity, from the hopper onto the different one of the first and second rotors (34, 36); and a velocity measuring system configured to convert rotational speed of at least one wheel (14, 16) to linear velocity, to compare the linear velocity to a predetermined linear velocity, and to provide feedback to a user regarding results of the comparison. a frame; a hopper connected to the frame and configured to contain granular material to be spread over terrain or other surfaces; two wheels (14, 16) rotatably connected to the frame; a first rotor and a second rotor rotatably connected to the frame below the hopper and configured to spread the granular material wherein the first and second rotors (34, 36) rotate in opposite directions and independently of each other; a first agitator connected to the first rotor with a shaft, a rod, or a cable, the first agitator configured to facilitate the flow of granular material from the hopper onto the first rotor; a second agitator connected to the second rotor with a shaft, a rod, or a cable, the second agitator configured to facilitate the flow of granular material from the hopper onto the second rotor; a drive train constructed to drive the first and second rotors (34, 36), the drive train receiving input from at least one wheel (14, 16); characterized in that said spreader further comprises: a gear assembly connected to one of the first agitator or the second agitator; a stepper motor connected to the gear assembly with a wire or a shaft, the stepper motor configured to generate an amount of current based on a linear velocity of the spreader and as a function of rotational movement of the agitator (28 or 29) transmitted by the gear assembly to the stepper motor; two square exhaust ports (50a, 50d) disposed in the lower portion of the hopper such that each of the two exhaust ports (50a, 50d) is located over a different one of the first and second rotors (34, 36), each exhaust port (50a, 50d) being configured to allow the flow of granular material, by gravity, from the hopper onto the different one of the first and second rotors (34, 36); and a velocity measuring system configured to convert rotational speed of at least one wheel (14, 16) to linear velocity, to compare the linear velocity to a predetermined linear velocity, and to provide feedback to a user regarding results of the comparison. a gear assembly connected to one of the first agitator or the second agitator; a stepper motor connected to the gear assembly with a wire or a shaft, the stepper motor configured to generate an amount of current based on a linear velocity of the spreader and as a function of rotational movement of the agitator (28 or 29) transmitted by the gear assembly to the stepper motor; two square exhaust ports (50a, 50d) disposed in the lower portion of the hopper such that each of the two exhaust ports (50a, 50d) is located over a different one of the first and second rotors (34, 36), each exhaust port (50a, 50d) being configured to allow the flow of granular material, by gravity, from the hopper onto the different one of the first and second rotors (34, 36); and a velocity measuring system configured to convert rotational speed of at least one wheel (14, 16) to linear velocity, to compare the linear velocity to a predetermined linear velocity, and to provide feedback to a user regarding results of the comparison.