A method for estimating a speed of an induction motor having a rated frequency f, a number of poles p, a rated speed ω r_rated and a rated power Prated, the method comprising: applying a voltage to the induction motor; measuring a current of the induction motor; determining a current fast fourier transform of the current; determining a voltage FFT of the voltage; determining a slip of the induction motor based on the current FFT and the voltage FFT by: determining an input power of the induction motor according to the following equation: P input = 3 × ∑ k = 0 N / 2 − 1 A k C k + B k D k where A k and C k are real components of the phase current and phase voltage respectively, where B k and D k are imaginary components of the phase current and phase voltage respectively, where N is the number of samples of time domain phase current and/or phase voltage, and where k is the harmonic number varying from 0 to N /2-1, determining the slip s of the induction motor according to the following equation: s = P input * s rated / P rated where s rated = ( ω s - ω r_rated) / ω s, and where ω s is a synchronous speed of the induction motor in revolutions/minute calculated by the following equation: ω s = 120 × f / p; and estimating the speed ω r of the induction motor in revolutions/minute based on the slip s of the induction motor according to the following equation: ω r = ω s × 1 − s. applying a voltage to the induction motor; measuring a current of the induction motor; determining a current fast fourier transform of the current; determining a voltage FFT of the voltage; determining a slip of the induction motor based on the current FFT and the voltage FFT by: determining an input power of the induction motor according to the following equation: P input = 3 × ∑ k = 0 N / 2 − 1 A k C k + B k D k where A k and C k are real components of the phase current and phase voltage respectively, where B k and D k are imaginary components of the phase current and phase voltage respectively, where N is the number of samples of time domain phase current and/or phase voltage, and where k is the harmonic number varying from 0 to N /2-1, determining the slip s of the induction motor according to the following equation: s = P input * s rated / P rated where s rated = ( ω s - ω r_rated) / ω s, and where ω s is a synchronous speed of the induction motor in revolutions/minute calculated by the following equation: ω s = 120 × f / p; and determining an input power of the induction motor according to the following equation: P input = 3 × ∑ k = 0 N / 2 − 1 A k C k + B k D k where A k and C k are real components of the phase current and phase voltage respectively, where B k and D k are imaginary components of the phase current and phase voltage respectively, where N is the number of samples of time domain phase current and/or phase voltage, and where k is the harmonic number varying from 0 to N /2-1, where A k and C k are real components of the phase current and phase voltage respectively, where B k and D k are imaginary components of the phase current and phase voltage respectively, where N is the number of samples of time domain phase current and/or phase voltage, and where k is the harmonic number varying from 0 to N /2-1, determining the slip s of the induction motor according to the following equation: s = P input * s rated / P rated where s rated = ( ω s - ω r_rated) / ω s, and where ω s is a synchronous speed of the induction motor in revolutions/minute calculated by the following equation: ω s = 120 × f / p; and where s rated = ( ω s - ω r_rated) / ω s, and where ω s is a synchronous speed of the induction motor in revolutions/minute calculated by the following equation: ω s = 120 × f / p; and estimating the speed ω r of the induction motor in revolutions/minute based on the slip s of the induction motor according to the following equation: ω r = ω s × 1 − s.