# Pic18 vs Pic24?

#### spinnaker

Joined Oct 29, 2009
7,835
I have only programing with the Pic18F family. The only chip that I can find that suits all of my needs is a chip in the 24F family. I don't really need 16 bit but it is the other features I like.

Other than 8bits vs 16bits, is there anything I need to know before I move into this family of Pics? Any design considerations?

#### maxpower097

Joined Feb 20, 2009
816
Nah dump the P18 and get into a PIC24. Its an amazing chip, you'll be super happy fun time. Its much easier to program, tons of code for it. Great books.

#### ErnieM

Joined Apr 24, 2011
8,336
{rubs crystal ball, sees spinnaker in 2 months}

I have only programing with the Pic18F and 24 families. The only chip that I can find that suits all of my needs is a chip in the 32MX family. I don't really need 32 bit but it is the other features I like.

Other than 16bits vs 32bits, is there anything I need to know before I move into this family of Pics? Any design considerations?
Nah dump the P24 and get into a PIC32. Its an amazing chip, you'll be super happy fun time. Its much easier to program, tons of code for it. Great books.

#### spinnaker

Joined Oct 29, 2009
7,835
What are the price differences for the 32? Are they more expensive?

#### MrChips

Joined Oct 2, 2009
27,159
Nah, dump the PIC32 and get a real chip like the ARM. You want power and features? This is it. For starters, get the STM32F4Discovery.

#### ErnieM

Joined Apr 24, 2011
8,336
Digi key lists them at $4-8 USD single quantities. They have 64 or 100 pins so they do not come in DIPs, QFN of TQFP (surface mount) packages only. I've droped them on inexpensive adapter boards (<$5) to get 0.1" lead spacing, some of those even come made for PICs, so there are features for caps and crystals where needed. Or go for a full dev board. Microchip has a Microstick nearing release intended to get PIC18 people easily up to speed on these.

#### atferrari

Joined Jan 6, 2004
4,666
Is the assembler for the PIC24 and PIC32 completely different?

I am not C conversant at all.

Honestly I feel that changing to any of them I will be throwing overboard my experience with the 18F. Would this be a valid concern? I am not trying to hijack this thread.

#### ErnieM

Joined Apr 24, 2011
8,336
Is the assembler for the PIC24 and PIC32 completely different?
As one who threw up his hands over learning C18 assembler I can tell you there may be several similarities (though many differences) going to the 24 series, but the 32 series is completely different.

PIC32's are based on a MIPS core with a common address space for registers memory and program code. Everything is virtualized and can run in kernel and user mode so even accessing something you don't have permissions for generates an interrupt.

(The mods can split this to a new thread if they see fit.)

#### Potato Pudding

Joined Jun 11, 2010
688
The hobbyist or small scale developer should always go at least one or two steps beyond where they think their low end starting point would be. Your time spent learning to do simpler things in an overly powerful chip will be well rewarded when you want to do something that needs more power. No relearning from the simpler chip to the bigger chip because you have always been there.

Also the cost of the chip for low numbered runs is not much compared to the development time invested. If you can save time by brute forcing where you would have needed to finesse at the lower price point, it is a win. If you can flick a few code switches and offer upgrade or variant models then it is a win and win again.

Maybe worry about getting an simpler chip to work if you are planning to make multiple millions and selling them for a low margin for a low value item. If you want a product like an LED Tea Light candle that will sell for under $1 each in quantities of millions - there is probably no benefit to even using a micro let alone a 16bit or 24bit. On second thought... Mood lighting that listens to the music and senses the ambient light. #### cravenhaven Joined Nov 17, 2011 34 Digi key lists them at$4-8 USD single quantities. They have 64 or 100 pins so they do not come in DIPs, QFN of TQFP (surface mount) packages only. I've droped them on inexpensive adapter boards (<\$5) to get 0.1" lead spacing, some of those even come made for PICs, so there are features for caps and crystals where needed. Or go for a full dev board. Microchip has a Microstick nearing release intended to get PIC18 people easily up to speed on these.
PIC32MX1/2 come in PDIP28 as well as SOIC and SSOP and are quite cheap. Same MIPS 4K core as the big brothers.

Last edited:

#### CraigHB

Joined Aug 12, 2011
127
I like the 16 bit PICs a lot myself. The PIC32s are way more powerful than what I need for any of the projects I've done. The 16 bit parts are just right for me. I find them much easier to work with than the 8 bit parts. They have a great instruction set and since I like to program in assembly, that's a biggie for me. They also have more features than the 8 bit parts, but Microchip has been getting the PIC18F series caught up with the latest releases.

For programming in assembly, another nice thing about the 16 bit parts is the assembler (ASM30) and linker (LINK30) used by MPLab is really good. It has a bunch of handy features and it's easy to work with. I think it's much better than MPASM and MPLINK used for the 8 bit parts.

I use the 8 bit parts only for the most simple tasks, but otherwise, I'll use a 16 bit part. I imagine if I wanted to get into doing stuff with larger graphic touch screens, I'd look into a PIC32 or other 32 bit controller, but I haven't been compelled to build anything that would call for one.

#### maxpower097

Joined Feb 20, 2009
816
As one who threw up his hands over learning C18 assembler I can tell you there may be several similarities (though many differences) going to the 24 series, but the 32 series is completely different.
Agreed I looked at ASM for PIC24 and realized there was a reason they put so much time in making the C compiler. Its just so so so so much easier to code. And you can even put in ASM code in your C code. You just tell the compiler your gonna write a couple lines of ASM.