Rochester, 10 April 2006. Here are some of the answers from an ex-newbie, that started with PICmicro last year: I would divide the 8-bit PICmicro world (there are other, higher end PICs out there, but you seem to prefer to stay on the low side) into the 10F/12F series (usually no interrupts, small amount of memory and variables), 16F (most popular on-line, with interrupts, up to 20 MHz/5 MIPS, many programmers available) and 18F (include USB peripherals, up to 48 MHz, lots of memory and variable space, easily programmable in C). I personally have no experience with the 10F/12F or 18F world (there are 17F, but those are better forgotten), but there are cheap 18F chips that I should probably have used instead of my 16F. 10F/12F and 16F use the same instruction set, with a few minor exceptions, 18F has a much more extended instruction set, which sets them quite apart. I deliberately used F in this paragraph, avoid C parts, as they generally only bring trouble. As far as I know all PICmicros can be programmed using ICSP, but using a regular programmer uses the same signals as ICSP, except that you don't have the PICmicro in the circuit. So almost all programmers can program a PICmicro ICSP, except those that use LVP. LVP takes up one I/O pin, and is therefore avoided. There is one method of programming that you did not mention, which is the bootloader. Most 18F and some 16F (the extremely versatile 16F88 and the older and larger 16F67x) can be loaded with a small program, that then allows you to upload programs by having the PICmicro reprogram its own memory. But LVP and bootloader aside, here are my recommendations for a programmer: avoid programmers that use the parallel port. Parallel ports have many issues, and are even more diverse between PCs than serial ports. They also generally don't support a wide range of PICmicros. If you want a cheap programmer, the JDM is the best solution, in my experience. If you have a compliant serial port, you can build these with ease, and there is a lot of software written for them, allowing a wide range of PICmicros to be programmed by them. If your serial port is not compliant, you will have to add a power supply to your JDM programmer. This makes it more tricky, but could still work. Due to some unforeseen circumstances, I recently got three PICkit 2, and I discovered how much nicer a PICkit 2 is compared to a JDM programmer. So if you think you can afford it, go for the PICkit 2 (and don't just listen to me, other people have tried other programmers that I have not tried, and might have different advice). As for which PICmicro to choose, I once did a cost/benefit analysis, and found that the 16F628A gives the most useful features for the amount of money. However, this highly depends on which features you need as well. I generally write a design before I do anything, and using that design I can find out which PICmicro would be suitable for it. Others here will advice the 16F648A instead of the 16F628A, as it has twice the memory and is only slightly more expensive. I knew I never would need more than 2KWord (in fact, my application doesn't run well on 4KWord), but yours might need it. The 16F88 is very nice, because it has the memory and the peripherals, but if you need a lot of them, it would get too expensive. I personally would choose the 16F688 over the 16F648A, but the 16F688 has less I/O pins, and that could be a problem. Apart from these, I've looked a lot at the 18F1220, but I haven't tried it. As you are frugal, I'm sure you won't get the 16F84A, but I would like to make sure: DO NOT GET THE 16F84A. If you have the right programmer, the 10F/12F parts shouldn't be a problem either. So if you can live without interrupts and with few I/O pins, then those will be fun to work with (I got a few myself). Before you do, however, start with something nice, like the 16F688... Or the 16F690, which comes included with the demo board of the PICkit 2. Feel free to ask more questions. Greetings, Maarten Hofman. -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist