Go Down

Topic: Advantages of Arduino Uno over PIC18F4550 (Read 6931 times) previous topic - next topic


I believe the Microchip C compilers are also based upon GCC,

This is interesting. Do you have any links ? Thanks.

This page says "GNU-based, open source code (except PIC18)".



And you get this friendly community as a resource to help you out.
I don't think you can overstate how useful that is, especially for those wading into hobby electronics with microcontrollers for the first time.  The scale of the community, and the associated mass of tutorials & libraries & instructables & online/printed support documentation has been crucial to me.  Hard to believe 13 months ago I didn't even know the name Arduino - the community leg-up is the difference.

Having said that, it's probably not the best place to get an unbiased and balanced response to the OP's question  :)
"There is no problem so bad you can't make it worse"
- retired astronaut Chris Hadfield


The PIC24, PIC30, PIC33 (all 16bit cpus) use a gcc-based compiler.
The PIC32 (32bit MIPS-core cpu) uses a gcc-based compiler. (and has an Arduino-like board and environment available in the form of the "ChipKit" products.)
Both of those can use free C compilers that produce reasonably good code.  The MIPS CPU in particular has been supported outside of the Microchip range for quite a long time; it would be difficult to get it to produce bad code.

The PIC10, PIC12, PIC16, and PIC18 8-bit CPUs use an entirely different compiler.  The free version from Microchip, for these CPUs, rather than being code-size limited like many free compiler versions, instead turns off optimization.  ALL optimization; examples of spectacularly bad code have been posted.  (I don't understand it.  Microchip has other examples of quite reasonable behavior (in particular, their IDE runs on Windows, Mac, and Linux.)  I have heard (but not confirmed) that the free USB code that microchip provides does not fit in the target CPU when compiled with the free compiler, for example.

I shouldn't think GCC itself would have many optimizations

You would be wrong.  Many things can be optimized well above the specifics of code generation for any particular CPU.  And I gather that one of the strengths of gcc is that they have implemented an abstraction of a cpu that makes it easy to add new CPUs and "instantly" get reasonable code.  (In this case it doesn't matter much, because the 8-bit PIC architecture is SO far NOT compatible with that abstraction, and (essentially) could not possible be supported by gcc at all.)


Has anyone tried using an Arduino to program a PIC microchip?


It looks like you did no research before adding your question to this topic.

There are some current Topics on this subject including one in this Microcontrollers section.



It looks like you did no research before adding your question to this topic.

There are some current Topics on this subject including one in this Microcontrollers section.


I actually tried, but the word "pic" is just too widely used to find anything worthwhile... But I guess from your response this is possible. I've never worked with PIC chips, and in fact, only started using / programming Arduino's about 2 months ago. This is all very new to mew and I thought I'd try out the PIC route as well and was wondering if I could use an Arduino to program a PIC chip


I had assumed you would see this Topic http://forum.arduino.cc/index.php?topic=179754.0 without any searching.

It did take me a while to find the other Topic I had in mind (and I only found it because I had a vague recollection that I had commented on it http://forum.arduino.cc/index.php?topic=177776.0. This one probably has more useful info.

The Arduino search tool is useless. Use Google and confine it to site:arduino.cc

In short there seem to be plenty of opportunites to use PICs and whether you should or not is more a matter of religion. Personally I don't care, but the Arduino system is easy to use so I don't have any immediate need to try the PIC alternatives.



Well i know which one i'd go with, but the Uno is useful for quick prototyping and has a larger community, I do prefer MPLab overall as it's a one stop IDE covering the whole Microchip range, right now though im playing with rasp pi, GPIO's are limited but when combined with an atmega328 as an i2c slave it works well

Go Up

Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

via Egeo 16
Torino, 10131