Electronic – Picking a microcontroller

avrmicrocontrollerpic

I am looking to move away from arduino, and start some projects using more feature-rich microcontrollers. I have been looking at the PIC18F4550 for its feature set, but I am shying away from the PIC products, mostly because I don't have a programmer, and the picKIT is a bit pricey ($50 for picKIT II, $70 for picKIT III). I haven't done as much research into AVR offerings, but I think I may want to. Here's what I'm looking for:

  1. 32+ Digital I/O pins
  2. Programmable with minimal external hardware. Bonus points if I can leverage the usb chip on an arduino dev board, or my ftdi-usb cable to program it on the cheap.
  3. Built in USB. This is one of the reasons I really was leaning toward the 18F4550. Is there a comparable AVR chip that has built in USB capabilities?
  4. Good online resources- I would like to learn straight assembly, and it would be good if there were good resources online for learning assembly for my platform without having to read a 500 page datasheet.
  5. Through hole mounting.
  6. Minimal external circuitry to get running. An internal oscillator would be cool for fast prototyping, but I have no problem throwing a crystal in if I have to.

Anybody have any recommendations one way or the other?

Best Answer

Although the PIC18F4550 is a decent uC and there are quite a few examples out there of using it for USB, it's still 8-bit and probably in the same "league" as your Arduino.

If you want a bit more power, I would maybe look at the 16-bit PIC24/dsPIC (a lot more powerful and still available in through hole) or even the PIC32 (surface mount only though, and you would generally use C to program it)

I thought the PicKit3 (I assume you are referring to this) was not too bad price wise as programmers go, but if you want cheaper you could go for the PicKit2, which although not officially supported anymore, will still be usable with 99% of Microchips range.
There are also many other decent programmers for PICs, for example the Embed Inc offerings - if you go for the 16-bit 3.3V parts I imagine the $25 LProg would be suitable.

Although online resources and a good related book (e.g. Learning to Fly the PIC24 - note this is C based) makes getting started easier, I would get used to reading the datasheets (and Family Reference Manual in the case of the PIC24/dsPIC) thoroughly, it is a necessary part of using any microcontroller and the only way (IMHO) to learn how to use them fully, especially the more complicated ones. Even the above book (though well written) misses out a lot of lower level detail.