The PIC16F886-I/SO is a 8-bit flash-based CMOS Microcontroller. It features 256bytes of EEPROM data memory, self programming, an ICD, 2 comparators, 11 channels of 10-bit Analogue-to-Digital (A/D) converter, 1 capture/compare/PWM and 1 Enhanced capture/compare/PWM functions, a synchronous serial port that can be configured as either 3-wire serial peripheral interface (SPI) or the 2-wire inter-integrated circuit (IC) bus and an enhanced universal asynchronous receiver transmitter (EUSART). The Analogue-to-Digital converter (ADC) allows conversion of an analogue input signal to a 10-bit binary representation of that signal. This device uses analogue inputs, which are multiplexed into a single sample and hold circuit. The output of the sample and hold is connected to the input of the converter. The converter generates a 10-bit binary result via successive approximation and stores the conversion result into the ADC result registers (ADRESL and ADRESH).