3
\$\begingroup\$

The only experience I have with micro controllers is with the arduino. I felt extremely limited by the arduino especially in the cases of embedded design. I'm interested in completing a number of projects with embedded micro controllers and I don't know where to start. In looking at learning PIC micro controllers, I've found a book called "Learning to fly with the PIC24" and it requires an explorer 16 development board. This book seems to be outdated though? I don't know if this would be the best place to start.

I am interested in learning a long term solution in the proper way so that I can be a proficient PIC hardware design electrical engineer. What recommendations might you have for me? There are so many families of PIC chips, I don't know what I should start on. Should I get a development board? Is there a specific book/resource that you recommend? Should I start 8 bit, 16 bit, or 32 bit?

Thanks for your recommendations! I'm willing to spend a lot of time in the near future learning the PIC and I don't want to be wasting my efforts on something too difficult, not useful, or simply outdated.

\$\endgroup\$

closed as primarily opinion-based by Olin Lathrop, laptop2d, Sparky256, PeterJ, winny Jan 9 '18 at 13:19

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

4
\$\begingroup\$

I am thinking very much along the same lines as Wouter.

Don't bother with the PIC16 and below unless you have real cost/space reasons to use them. Yes, they have their place, and they are good top play with, but they are considerably less usable than the PIC18 series, and not much cost difference.

The PIC18 is a good starting point. Everything you learn on the PIC18 can be easily translated upwards to the PIC24 and the dsPIC series. The core operation is the same - just the number of bits and some of the peripherals are different.

And as for a development board? How adventurous are you?

If you don't mind using breadboard, then a development board is pointless. Most of the PIC18 chips (and PIC24/dsPIC) are available in DIP packages, so you can just plug them direct into breadboard.

All the PIC18 chips have internal oscillators, so there is no need to worry about external crystals, and stray capacitance, unless you have very strict timing requirements (for example USB). You can make a functional system with just a PIC18 and a couple of decoupling capacitors.

You will, of course, need an ICSP programmer. I use a clone of the PICKit2, which is quite cheap, and with a 5-pin header (or 5 wires) you can program the PIC direct in the breadboard.

Another great thing with the PIC chips are the free samples you can get as long as you don't have a hotmail/gmail/etc email address (i.e., corporate or educational users).

\$\endgroup\$
  • \$\begingroup\$ Thanks for your suggestions! The reason I mentioned a development board was because the of time limitations. Breadboarding is fun for me, but it is much more time consuming. Do you think the PIC18 would be better to learn before the PIC24? If so, do you know of any good resources to do so? \$\endgroup\$ – Peter Clyde Sep 23 '11 at 19:00
  • 1
    \$\begingroup\$ I learned the PIC16, then moved on to the PIC18. I should have skipped the PIC16 ;) I have only dabbled with the 16-bit PICs - namely the dsPIC33 series - but they are so similar in how they work it really doesn't matter which you start with. The PIC18 is better if you're breadboarding. If you want a development board then you may as well go straight for the PIC24 - or even the PIC32. Whichever you go for it'll be a world away from programming an Arduino ;) \$\endgroup\$ – Majenko Sep 23 '11 at 19:22
3
\$\begingroup\$

I am afraid the term "PIC hardware design electrical engineer" does not have a real meaning. 8 and 16 bit PICs are not different from most other 8-bit microcontrollers, and (at your level) their electronic differences at small. So is does not matter much which one you choose. My first advice is to use what your neigbour already uses: the availability of help for a particular chip is far more important tha the difference between the various chips.

If the choice is lower-end PICs, I tink you should choose a 12 or 14-bit core (12F, 16F) only when you have a very good reason for doing so (like: I want to use 8-pin and 6-pin chips). If not, choose a 18F or even a PIC24.

If you are more interested in the programming than in the hardware interfacing I would recommend starting with 32-bit chips, and programming them in C or even C++. I have no experience with PIC32, I would prefer Cortex (NXP LPC1xxx series).

\$\endgroup\$
  • \$\begingroup\$ haha yeah I realize that term made no sense, I just meant I'm an electrical engineer desiring to have a sufficient skill set in designing embedded design solutions with PIC micro controllers. \$\endgroup\$ – Peter Clyde Sep 23 '11 at 18:51
  • \$\begingroup\$ From your suggestions learning the PIC24 sounds like it makes the most sense to me. Do you have any opinions on the explorer 16? Or are there other demonstration boards that would be better for me?microchip.com/stellent/… \$\endgroup\$ – Peter Clyde Sep 23 '11 at 18:54
  • \$\begingroup\$ I still don't get whether you are in for the electronics, the programming, or both. If for the electronics, a development board does not make sense to me. Get a pickit3, a chip, and a solderless breadboard. If for the programming, get a development board for a 32-bit chip. \$\endgroup\$ – Wouter van Ooijen Sep 23 '11 at 19:14
2
\$\begingroup\$

If you really want to be a PIC embedded engineer, you'll eventually have to get familiar with the full range. For hobbyists, there is little point in anything below the PIC 18 series. However, for professional designs the PIC 16, 12, and 10 are still very much alive.

To get into real microcontrollers (as apposed to sugar coated stuff like Arduino), I would start with a PIC 18. The 28 pin packages are easy to work with on breadboards. You really don't need much around a PIC to make it run. A meaningful PIC 18 circuit can be easily built on a breadboard.

You eventually need to get used to the 12, 14, and 24 bit cores too (the PIC 18 is the 16 bit core). All the 24, 30, and 33 series are basically the same from the firmware point of view. Let the project dictate what to use. Once you've done a project with one, you can easily do a project with any of the others in this range. That's probably the next thing to try after the PIC 18.

To be a real "PIC embedded engineer" you do need to be ready to use the 12 and 14 bit core parts when the situation calls for it. The three main reaons are lower cost, smaller footprint, and extra low power. Use a 10F204 to make a switching power supply, for example. This particular part has a comparator and absolute voltage reference built in. If you haven't done a swithing power supply before, this gives you a good introduction to the low end PICs and swithing power supplies at the same time.

\$\endgroup\$
2
\$\begingroup\$

Before you embark on investing time learning the Microchip PIC line, I would advise you to at least look into the ARM architecture. The PIC architecture throughout its product line is unique to Microchip and has no other alternate sources. Many believe that that architecture is a dead-end.

Microchip's recent purchase of the chip manufacturer Atmel kind of confirms this. Microchip is having difficulty getting customers to advance to their 24F and 32F lines. The Atmel acquisition now provides Microchip with a full line of ARM processors.

There are many sources for ARM processors and many variations of development tools available. You won't be locking your knowledge into just one manufacturer by learning the ARM architecture. Take a look at https://www.mbed.com/en/. mbed has a free online compiler. Lots of code available in its library. A very well supported forum too. All free.

Best wishes and luck with your career.

\$\endgroup\$
1
\$\begingroup\$

If you don't necessarily want to breadboard, but may want to in the future, the PICKITs seems to be a decent way to go. Includes the programmer and demo board.

The demo boards typically have a few example components to program (LEDs, potentiometers, buttons, etc.). They also typically have a prototype area for soldering as well as headers that you can extend onto a breadboard for prototyping.

I have the PICKIT 2 with the low pin count board and it has been a good starting point.

\$\endgroup\$
1
\$\begingroup\$

I'd have to recommend (along with other posters above) not using an 8-bit microcontroller these days. I personally really like the PIC24 series of microcontrollers - very powerful, but cheap and easy to use. Best of all, lots of forum support - something that a lot of ARM devices lack.

I use a Modtronics Australia PIC development board, specifically the picoTROINCIS24, which includes a PIC24FJ64GB004 micro. The PIC24FJ64GB004 includes USB2.0, PPS (a handy feature which allows you to remap peripherals such as UARTS to different pins in software) and loads of RAM and code space. The picoTROINCIS24 is pretty affordable too.

If you want even cheaper, although less convenient, then you can easily breadboard up any PIC24 series device that comes in a DIP package - still quite a few available.

\$\endgroup\$

Not the answer you're looking for? Browse other questions tagged or ask your own question.