One of the great difficulties associated with monitoring the condition of an electric motor is that the user must typically possess some degree of expertise to distinguish between a normal operating condition and a potential failure. The typical approach is to monitor various electrical and mechanical parameters such as current and vibration. Key Performance Indicators (KPI) are extracted from these parameters and are monitored for changes. The changes could result from any number of sources, including those related to normal operating conditions. For instance, cyclically varying loads and mechanical unbalances can have the same effect on KPIs extracted from the motor current spectrum as a broken rotor bar or bent shaft. These types of issues, in combination with the vast amount of available information, make it difficult to determine a set of rules for fault detection. When using hard-and-fast rules, for instance, it is possible to omit certain situations out of ignorance or fail to implement rules that deal with the dynamic nature of certain conditions. Without knowing all possible fault conditions and symptoms, the developer finds himself in a difficult position. In this thesis, a new approach is proposed that does not require a rule based approach but instead relies on an unsupervised fault detection algorithm that learns the normal operating condition of a particular motor and then monitors for changes that indicate a potential fault condition has occurred.