A configurable windshield wiper system for a vehicle having a variable sweep angle or variable sweep speed, the system comprising: a bidirectional motor (24,24'); a gearbox (12,12'), the gearbox (12.12') having an input shaft operably coupled to the motor (24,24') and an output shaft, wherein the gearbox (12,12') is configured to step down the number of turns at its output shaft relative to its input shaft; a wiper arm for sweeping a surface of a windshield, the wiper arm operably coupled to the output shaft of the gearbox (12,12'); and a controller in operable communication with the motor (24,24'), the controller configured to execute an algorithm to control the position and speed of the motor (24,24') to achieve a configured sweep angle and a configured sweep speed for the wiper arm; the configurable windshield wiper system being characterized in that the controller is configured to perform the steps of: commanding an operation in a selected direction at a selected motor speed to achieve a wiper speed and a sweep angle; selecting a duration or a motor reversal position to achieve a variable desired sweep angle, based on, for example, vehicle airspeed, type of precipitation and the like; commanding a motor operation in an opposite direction at a second selected motor speed to achieve a second desired wiper speed different from the first desired wiper speed; repeating the commanding and selecting steps to define the sweep angle. a bidirectional motor (24,24'); a gearbox (12,12'), the gearbox (12.12') having an input shaft operably coupled to the motor (24,24') and an output shaft, wherein the gearbox (12,12') is configured to step down the number of turns at its output shaft relative to its input shaft; a wiper arm for sweeping a surface of a windshield, the wiper arm operably coupled to the output shaft of the gearbox (12,12'); and a controller in operable communication with the motor (24,24'), the controller configured to execute an algorithm to control the position and speed of the motor (24,24') to achieve a configured sweep angle and a configured sweep speed for the wiper arm; the configurable windshield wiper system being characterized in that the controller is configured to perform the steps of: commanding an operation in a selected direction at a selected motor speed to achieve a wiper speed and a sweep angle; selecting a duration or a motor reversal position to achieve a variable desired sweep angle, based on, for example, vehicle airspeed, type of precipitation and the like; commanding a motor operation in an opposite direction at a second selected motor speed to achieve a second desired wiper speed different from the first desired wiper speed; repeating the commanding and selecting steps to define the sweep angle. commanding an operation in a selected direction at a selected motor speed to achieve a wiper speed and a sweep angle; selecting a duration or a motor reversal position to achieve a variable desired sweep angle, based on, for example, vehicle airspeed, type of precipitation and the like; commanding a motor operation in an opposite direction at a second selected motor speed to achieve a second desired wiper speed different from the first desired wiper speed; repeating the commanding and selecting steps to define the sweep angle.