In this study an unscented Kalman filter (UKF) based algorithm for the estimation of magnetometer biases and scale factors is proposed as a part of the attitude estimation scheme of a small satellite. UKF estimates magnetometer biases and scale factors as well as six attitude parameters of the satellite. Differently from the existing algorithms, scale factors are not treated together with the other parameters as a part of the state vector; three scale factors are estimated via a newly proposed extension for the UKF. Proposed algorithm is simulated for attitude estimation of a pico satellite which has three magnetometers and three rate gyros as measurement sensors. Besides, effects of non-calibrated magnetometers on attitude determination are shown via supplementary simulations. © 2011 IEEE.