PIC vs Arduino

Thread Starter

chrischrischris

Joined Feb 18, 2012
313
Hi. I've been searching for a thread that explains the difference between PIC and Arduino and am having difficulty. I'm wanting to start learning programming to run a clock, timer, temperature display, counter and pwm circuit for running LEDs. I'm not sure where I should start - I keep hearing people talking about Arduino, but then also PIC.

Can someone please point me to an appropriate thread if they know one off hand. Ta.
 

bance

Joined Aug 11, 2012
315
I would not agree with donpetru, Arduino is not really like a proper MCU in the sense that many of the functions of the MCU are hidden from the user, the whole point of Arduino is the user interface.

It's very easy to get up and running, with very well equiped libraries and many code examples. It may be a very good way to start programming, since things will pretty much just 'work'.

However most people learn more from their mistakes than their successes, and copy and paste programming leaves less room for mistakes than writing your own code.

As to whether you should choose AVR or PIC, there is very little in it as far as I can see.
I don't think donpetru's PIC vs AVR comparison in the thread linked to is entirely accurate, and you would do well to research this a little further.

Whichever way you choose to go, I'm sure you'll have lots of fun (and a little frustration no doubt)

HTH Steve.:D
 

donpetru

Joined Nov 14, 2008
185
I would not agree with donpetru, Arduino is not really like a proper MCU in the sense that many of the functions of the MCU are hidden from the user, the whole point of Arduino is the user interface.
Indeed, the main feature arduino interface but behind this interface is an Atmel microcontroller. So, you can make a comparison between PIC and Atmel, without taking into account the Arduino interface.
Arduino interface helps the user in the sense that it is to see only the program itself without knowing the other details that are needed to program the microcontroller.

Making a comparison, it's like I compare a program for programming PLCs (leader diagram) with programming in C / C + +. In both cases you can get the same result but the solution is more friendly with leader diagram. So it is with the Arduino although at one point becomes insufficient and even annoying.
 

Shagas

Joined May 13, 2013
804
Hi. I've been searching for a thread that explains the difference between PIC and Arduino and am having difficulty. I'm wanting to start learning programming to run a clock, timer, temperature display, counter and PWM circuit for running LEDs. I'm not sure where I should start - I keep hearing people talking about Arduino, but then also PIC.

Can someone please point me to an appropriate thread if they know one off hand. Ta.
I am still a beginner, but as a beginner, I can see that there is no post gives the OP enough information to make a choice so I'll make one.

It depends: If you want an easy approach, get an Arduino because as the users above mentioned, it's a platform to work on and it makes things for beginners easily because it just 'works' and you don't have to adjust different details in the microcontroller to get it to do whatever you want. You could say that it's more "user-friendly"

On the other hand, if you actually want to start getting into the microcontroller and learning how to program discrete chips and use them in your circuits then you can choose between Atmel AVR and PIC.
From what I read, for a beginner, there is no difference and you can start with any one of them.
All I can tell you is I started on AVR and the programmer works, the software works and is free and everything is going well. I've heard problems on the Pic side though

I chose AVR simply because of the availability of the MkII programmer and the fact that it was 40 eur compared to the 100 eur of Pickit3+protoboard so I just started with the AVR and I'm happy with it so far, but I'm still a beginner :)
 

tshuck

Joined Oct 18, 2012
3,534
I started with PICs for less than $25. I bought a cheap programmer from Ebay, not a pickit clone, but one of those that only program like 10 PICs...

Now then, as stated, Arduino its little more than a programming environment, a compiler, and a bootloader. Coupled with the AVR microcontroller, you have the Arduino everyone refers to. The Arduino is a way to abstract the inner workings of a microcontroller so that almost anyone can use them. There seem to be libraries to make the controller do just about anything you want, just load the program.

A PIC, or any other microcontroller for that matter, can do anything the Arduino seems capable of, indeed, the Arduino use a microcontroller to accomplish what it does. Using a bare microcontroller gives you the flexibility you may need, but at the cost of requiring a custom solution, so you will need to know about the microcontroller's registers and what they do.

Ultimately, it comes down to what you want to do, and and whether your end goal is to master the device, or get it to do what you want with the least amount of work....
 

MrChips

Joined Oct 2, 2009
30,824
If you want to learn how microcontrollers work, don't start with a PIC.
AVR is a better choice. So is Freescale and Texas Instruments.

I started with MSP430 Launchpad for $4.30. You can't beat that. Though the price is a bit higher now it is still a bargain.
 

bance

Joined Aug 11, 2012
315
If you want to learn how microcontrollers work, don't start with a PIC.
AVR is a better choice. So is Freescale and Texas Instruments.
Is this based purely on start up costs? Or can you offer some other compelling reason?
(No axe to grind just interested in your point of view)

I have a TI launchpad, a pickit2 and have just recently bought an AVR programmer.
 

sirch2

Joined Jan 21, 2013
1,037
I don't think that anyone has mentioned that an Arduino board doesn't need a programmer. Most of the boards you can buy have a USB port on them and plug directly into your computer for programming.

This has the advantage of being quick and easy to get started, but the disadvantage that it's a lot of unnecessary extras if you want to do a production run.

However you can use an Arduino board to program an AVR chip so you can prototype on the Arduino board and burn the finished program to a bare chip if you want.
 

MrChips

Joined Oct 2, 2009
30,824
I don't think that anyone has mentioned that an Arduino board doesn't need a programmer. Most of the boards you can buy have a USB port on them and plug directly into your computer for programming.

This has the advantage of being quick and easy to get started, but the disadvantage that it's a lot of unnecessary extras if you want to do a production run.

However you can use an Arduino board to program an AVR chip so you can prototype on the Arduino board and burn the finished program to a bare chip if you want.
This is misleading. Some chips can be programmed directly from a COM port or parallel LPT port. The Arduino board can be programmed from a COM port or USB port only because the Arduino chip has been preprogrammed with a bootloader and flash programmer. You can do the same with any mcu chip.

Remember, Arduino is a system, not a chip.

The additional hardware required to program a blank mcu chip is minimal and hence a mute point.
 

MrChips

Joined Oct 2, 2009
30,824
Is this based purely on start up costs? Or can you offer some other compelling reason?
(No axe to grind just interested in your point of view)

I have a TI launchpad, a pickit2 and have just recently bought an AVR programmer.
This is not based on cost.

My preference is based on the architecture of the chip. Don't ever ask me to program a PIC chip in ASM.
 

bance

Joined Aug 11, 2012
315
To be honest I find the thought of learning 'C' a lot more daunting than the *rsing about with PIC ASM....

But I'm sure once I get my teeth into it, I'll wonder why I ever bothered with ASM.:rolleyes:
 
for me, being a self-taught guy-at least with electronics, etc, the main difference is in basic useability-
for example, with the projects you listed in the original post I can think of at least 4 sources (from books like'getting started with arduino'(by make:project) to websites like instructables.com to forums like arduino playground) that would cover most, of not all, in simple easy formats that would get you up and finishing some within a couple hours.
In addition, as mentioned before, arduino-particularly the Uno which is the less expensive and widely available version with an atmega328, is only about 25-30$ and can, also as mentioned, simply be plugged into your computer's usb hub and, once you download the free software, easily programmed using cut and paste code or easily understood languages that it will compile into C (which is NOT so easily understood by the average person)

Whereas with PIC (keep in mind I only have experience with perhaps 5 or 6 PICs, mostly the 12 & 18 prefixed ones), you'll have no commonly acknowledged standard board to choose from, just a confusing proliferation of evrything from sparkfun type well-made dev boards to homemade interfaces made from old school mouses.
In addition, youll have to figure out which PIC has what you need.
Then you'll have to figure out how you want to connect it to your computer and how you want to program it
After that you'll have to slowly work your way into programming it or at least learn enough to figure out if the cut and paste cod you want to use can be used with that PIC and if you can use it with the means/interface/prgrammer youve chosen as well.

I guess what im saying is that, the arduino is simpler and easier and the PIC series is more complicated and harder to get into and use. Thats the bottom line I think as either would work for your purposes.

In a larger view, both have numerous advantages and disadvantages and neither is so much "better" than the other as to be easily said, since both will accomplish so many similar tasks and both will do things the other wont in more specified, specialized arenas/fields.

Just my opinion. If someone was standing in a store and asked me what your original post says Id say they should check out the Arduino Uno--its simply much more focused and created specifically for beginners to get things done with. Once youve accomplished a few things and gotten a fw projects working, then you'll either have the bug or you won't. If you do get it, you'll probably find yourself working with PICs, AtTiny's, AVRs, beagleboards, stamps, and a million other dv boards and microcontrollers in no time.
They all have positives and negatives. I've not found a one-total-solution yet..but im happilly looking.



Wow..that post was WAAAAAYYYY longer than I meant it to be.
Sorry.
 

sirch2

Joined Jan 21, 2013
1,037
This is misleading. Some chips can be programmed directly from a COM port or parallel LPT port. The Arduino board can be programmed from a COM port or USB port only because the Arduino chip has been preprogrammed with a bootloader and flash programmer. You can do the same with any mcu chip.

Remember, Arduino is a system, not a chip.

The additional hardware required to program a blank mcu chip is minimal and hence a mute point.
The OP question was PIC vs Arduino, so of course it implies use of the Arduino bootloader. Arduino is programmed via USB not LPT or COM and I don't think any common MCU can be programmed from either of those ports directly without some intervening hardware.

My point was that if you buy an Arduino based board you only need a USB cable to get going.

Remember, Arduino is a system, not a chip.
That's really the point isn't it. Arduino is essentailly a system which is ready to roll, where PIC is a family of chips.


BTW the word you want is MOOT not MUTE, as in moot point.
 
Last edited:
Top