The work develops two systems for the diagnosis of heart diseases. The first system depends on (12 lead), which is named "12 lead of diagnosis system". This system was used to diagnose the myocardial infarctions, myocardial ischemias, myocardial injuries, Bundle Brunch Block. The second system depends on (one lead), which is named "Arrhythmia diagnose system". This system was used for diagnosing the arrhythmia diseases. An Analog-to-Digital converter (ADC) method was applied by using an optical scanner. Some algorithms are suggested to process the input (scanned signal) signal. Grid line filter and scaling methods (linear and cubic interpolation method) are implemented to cancel the grid lines and scale the signal to standard scale respectively. Three methods are applied and suggested for thinning purpose. These methods are midpoint, slope following and top-bottom. A baseline correction method is also implemented and applied in our work. Fourier series and fast Fourier transformation (FFT) are applied to the ECG signal. The Fourier series is applied with the first system while the FFT is applied with the second system. An extracted feature is obtained from these transformation representing the power spectrum derived from FFT and the coefficients of the Fourier series. Limiting these features within a series of templates carries out pattern recognition. These templates represent an ideal pattern. The data set were arbitrary divided into two training sets of 250 cases. 56 cases were implemented as the first set in the 12-lead diagnosis system while 194 cases were implemented as the second set in the arrhythmia diagnosis system. 98 cases were tested within the first system and 68 cases were tested with the second system Statistical analysis is employed to concepts of sensitivity, specificity, predictive value of a positive test and predictive value of a negative test. The overall accuracy of the classification scheme of the first and second test set was 86.75% and 86.4% respectively.