The PIC16C58B-20/P microcontroller from Microchip is a 8-bit CMOS Flash-based microcontroller based on the PIC16C5X architecture. This device has 20KB of Flash program memory organized in 17 pages of 1KB each, 256 bytes of RAM data memory, an 8-level deep hardware stack, and 4 8-bit registers for wider multi-byte arithmetic capability. It also has an integrated enhanced capture-compare-PWM (ECCP) module which combines a 9-bit up/down counter, two 16-bit capture/compare timers, and a 10-bit PWM module. This device runs at a maximum clock frequency of 20MHz with a minimum instruction rate of 1 instruction per 4 clock cycles. It supports up to 6 external interrupts, 8 priority levels, and up to 8 I/O lines with current sinking capability up to 50mA. In addition, it has POR, WDT, and MCLR reset features. It also features low power consumption with low power options, such as brown-out reset and the sleepsleep mode. The device is available in a 20-pind IP, PDIP, and SOIC packages.