The building components of a BCI system (shown in Figure 1) have the following tasks: the electrodes placed on the head of the user record the brain signal (e.g., electroencephalography (EEG) signals from the scalp, electrocorticography (ECoG) signals from the brain or neuronal activity recorded using microelectrodes implanted in the brain). The ‘artifact processor’ block deals with artifacts in the EEG signals after the signals have been amplified. This block can either remove artifacts from the EEG signals or can simply mark some EEG epochs as artifact-contaminated. The ‘feature generator’ block transforms the resultant signals into feature values that relate to the underlying neurological phenomena employed by the user for control. For example, if the user is using the power of his/her Mu (8-12Hz) rhythm for the purpose of control, the feature generator could continually generate features relating to the power-spectral estimates of the user’s Mu rhythms. The feature generator generally consists of three components: the ‘signal enhancement’, the ‘feature extraction’, and the ‘feature selection’ components, as shown in Figure 1.