A multivariable Linear Quadratic Gaussian (LQG) control algorithm is developed for engine idle speed control. Difficulties posed by inherent engine non-linearity, time varying engine events and delays are considered. A non-linear engine model used to design and test the control algorithm is described. Control engineers can use the engine model and control algorithm as a basis for further work in this area. A dynamic feedforward compensation which dramatically reduces disturbance deviations is also described. Finally, the effects of typical production air-to-fuel ratio control on the idle speed control system are evaluated.