A primitive type of feedback control technique that is used in systems that are slow and/or poorly designed. It consists of the following logic:
  1. If the output is less than your target, then go full forward.
  2. If the output is greater than your target, then either
    1. go full reverse
    2. turn off. If we do this, the system is sometimes called an on-off control system.
There are three major problems with this method:
  1. It is extremely unstable. If you have any significant delay introduced in your feedback step, you are going to see an unpleasant oscillation around the target value that will never peter out.
  2. It is noisy. It was called 'bang-bang' control due to the noise that it made in mechanical implementations of the system. In electronic methods, it can cause power surges and ringing in the circuit as the control switches on and off.
  3. It is not ergonomic. Most humans like to have some steady acceleration with a minimization of jerk.
Bang-bang control is commonly found in old refrigeration and air conditioning systems. It is also found in programs written by otherwise knowledgable coders who think they can solve the mechanical and electronic problems raised by this method in software. Slightly less clueless programmers will use proportional control. More clever ones will use PD control, PID control, or fuzzy logic.

Bang-bang control is not pulse width modulation.