Overview of the Major PIC's

Here I am going to list the major chips that could be considered for making a tag gun. I have not listed all of them. Most importantly, I have not listed chips with 1kx14 or less of code space, or those without A/D converters (except for the PIC16F628A, which is included for comaparison). Also, I have not listed those chips that have been clearly replaced by an "A" version. Chips denoted with a "*" are ones that are possibly going to be in limited supply. I make no claims as to the accuracy of these tables as I have probably made mistakes in their typing. However, I hope that someone else finds this information useful. The A/D converters can be useful for putting several switches on one input. The EEPROM is useful for storing permanate configuration settings, while the USART helps in communicating with other electronic devices. Pulse Width Modulators are very helpful in freeing up the PIC's resources while generating waveforms, which are the basis for tag equipment. With them, it is possible to generate the entire waveform and have the PIC be occupied with other tasks while this is being done.

18 Pin Chips

ChipCode SizeRamEEPROMPWMSerial I/OComparitorsInternal RCA/D ChannelsPrice at Digikey.com
16F7162k128None1NoneNoneNone4x8 bit2.58
16F628A2k2241281AUSART24Mhz internal03.05
16F8192k2562561I2C/SPINoneInternal osc.5x10 bit3.70
16F884k3682561AUSART, I2C/SPI2Internal osc.7x10 bit4.58

The only one of these chips that I have used is the 16F628A. However, from the prices, it appears that the 16F819 might be a better choice. I would consider the 16F716 for a high pin count, low cost chip with A/D converters. Obviously, if cost is not of concern, the 16F88 would appear to be the obvious choice for an 18 pin chip, though programmer support can be a little hard to come by.

28 Pin Chips

ChipCode SizeRamEEPROMPWMSerial I/OComparitorsInternal RCA/D ChannelsPrice at Digikey.com
16F722k128None1I2C/SPINoneNone5x8 bit3.45
16F8702k128641AUSARTNoneNone5x10 bit4.63
16F8722k128641MI2C/SPINoneNone5x10 bit4.63
16F734k192None2USART, I2C/SPINoneNone5x8 bit5.38
16F737*4k368None3USART, I2C/SPI28 Mhz5x10 bit5.95
16F873A4k1921282AUSART, MI2C/SPI2None5x10 bit6.55
16F768k368None2USART, I2C/SPINoneNone5x8 bit6.75
16F767*8k368None3USART, I2C/SPI28 Mhz11x10 bit6.93
16F876A8k3682562AUSART, MI2C/SPI2None5x10 bit7.05

I have not used any of these chips. From looking at their specs, though, I think that the most obvious choices would be the 16F72 for a low cost, high pin count chip, the 16F870 or 16F872 for a low end, general purpose chip (due to the EEPROM), and the 16F876A for a high end chip. I would probably pass over the 16F873A because it is not that much less expensive than the 16F876A ($0.60 less), and the 16F876A is considerably more spacious.

40 Pin Chips

ChipCode SizeRamEEPROMPWMSerial I/OComparitorsInternal RCA/D ChannelsPrice at Digikey.com
16F8712k128641AUSARTNoneNone8x10 bit5.48
16F744k192None2USART, I2C/SPINoneNone8x8 bit6.75
16F747*4k368None3USART, I2C/SPI28Mhz14x10 bit6.85
16F874A4k1921282AUSART, MI2C/SPI2None8x10 bit7.15
16F778k368None2USART, I2C/SPINoneNone8x8 bit7.45
16F777*8k368None3USART, I2C/SPI28Mhz14x10 bit7.60
16F877A8k3682562AUSART, MI2C/SPI2None8x10 bit7.70

Here, I would go either for the inexpensive 16F871 or the 16F877A. Not much in between appeals to me, partly due to the minimal price difference between the 16F877A and the other chips, and also because the other similarly priced chips do not have EEPROM.