In this paper, a programmable, multi-pattern, wide frequency and duty cycle range electrical stimulator is presented. Using a programmable microcontroller, two waves of carrier and modulating sources are produced. By modulating the two sources, 3 bi-phasic charge-balanced rectangular, triangular and sinusoidal stimulating patterns are produced. The frequency range of the carrier is fixed at 2.5 kHz and the carrier source frequency can be adjusted between 1 and 500 Hz. The duty cycle of both sources can be adjusted between 10% and 90%.