Difference between, arduino, pic, fpga?

Thread Starter

Ardenaid

Joined Aug 22, 2017
2
Hi, I would like to know the differences between them, are all of those just different microcontrollers fabricated by different companies? or there is another important difference? FPGAs are programed with VHDL and pics and arduinos with c, assembler? or it could be in another way? when is convenient to use one and when another?
 

Papabravo

Joined Feb 24, 2006
21,157
Hi, I would like to know the differences between them, are all of those just different microcontrollers fabricated by different companies? or there is another important difference? FPGAs are programed with VHDL and pics and arduinos with c, assembler? or it could be in another way? when is convenient to use one and when another?
Why do you want there to be differences? They can all do pretty much the same things. If you're looking for a shortcut -- there aren't any meaningful ones. In order to find out if one is suitable for your purposes, just dig in and learn until you know you want to proceed or switch horses and try something else.
 

Austin Clark

Joined Dec 28, 2011
412
Sorry, these guys can be pretty unhelpful at times ;)

The problem with your question is that the three things you're asking about are miles apart. It's sorta like you're asking what the difference between Ford, a truck, and a helicopter is.

Arduino is an entire platform/ecosystem. It's also an entire company/brand.
Under the Arduino umbrella is their IDE and their various development boards.

PIC is an entire family of microcontrollers. They're made by Microchip.

FPGA's are an entire type/class of component.

Now, to give you some context:
Arduino development boards are usually built around AVR microcontrollers, which are a family of microcontrollers made by Atmel. Compare that to the PIC family of microcontrollers made by Microchip. They're different because A) Different companies make them. B) They require different programmers (though most dev boards don't require them, due to special bootloading processes.). and C) They have different architectures, meaning their instruction sets are unique, the way peripherals are accessed is unique, etc.

FPGA's aren't microcontrollers at all. Atmel and Microchip both build FPGAs, but they're entirely different products.
 
Last edited:

WBahn

Joined Mar 31, 2012
29,976
To add to what Austin Clark said, microcontrollers and FPGAs are extremely different critters. In theory, yes, any problem you can solve with one you can solve with the other (assuming adequate resources on each) -- but in practice the overlap in problems that are REASONABLLY solved by either one (as in, flip a coin to decide) is pretty small. If your problem lends itself to a programmatic solution, then you are probably better off with a microcontroller. If your problem lends itself to a bunch of logic gates and sequential logic, then you are probably better off with an FPGA. Also, FPGAs allow you to implement true parallelism while microcontrollers don't, at least not it really meaningful ways.
 

Papabravo

Joined Feb 24, 2006
21,157
Sorry, these guys can be pretty unhelpful at times ;)

The problem with your question is that the three things you're asking about are miles apart. It's sorta like you're asking what the difference between Ford, a truck, and a helicopter is.

Arduino is an entire platform/ecosystem. It's also an entire company/brand.
Under the Arduino umbrella is their IDE and their various development boards.

PIC is an entire family of microcontrollers. They're made by Microchip.

FPGA's are an entire type/class of component.

Now, to give you some context:
Arduino development boards are usually built around AVR microcontrollers, which are a family of microcontrollers made by Atmel. Compare that to the PIC family of microcontrollers made by Microchip. They're different because A) Different companies make them. B) They require different programmers (though most dev boards don't require them, due to special bootloading processes.). and C) They have different architectures, meaning their instruction sets are unique, the way peripherals are accessed is unique, etc.

FPGA's aren't microcontrollers at all. Atmel and Microchip both build FPGAs, but they're entirely different products.
Except that FPGA's are often used to implement microcontrollers and other processors. The point of my original answer was that getting started does not require any consideration of the differences. An appreciation of the differences comes later because it will only confuse the uninitiated while they are getting started.

BTW I thought my answer was quite helpful -- thank you very much.
 

Austin Clark

Joined Dec 28, 2011
412
Except that FPGA's are often used to implement microcontrollers and other processors. The point of my original answer was that getting started does not require any consideration of the differences. An appreciation of the differences comes later because it will only confuse the uninitiated while they are getting started.

BTW I thought my answer was quite helpful -- thank you very much.
I had started typing out a second post, explaining FPGAs VS Microcontrollers, but felt like I was digging too deeply and/or being too pedantic. WBahn and yourself filled in the gap nicely though, so I thank you both for that.

I didn't mean to offend. I appreciate you taking your time to post.
Often beginners don't know what they don't know. You gotta kinda read between the lines, and figure out what they're REALLY wanting to know.
I think starting with a broad perspective is good, and overexplaining is generally better than underexplaining (imo), at least when I've got the time for it.
 

Papabravo

Joined Feb 24, 2006
21,157
I had started typing out a second post, explaining FPGAs VS Microcontrollers, but felt like I was digging too deeply and/or being too pedantic. WBahn and yourself filled in the gap nicely though, so I thank you both for that.

I didn't mean to offend. I appreciate you taking your time to post.
Often beginners don't know what they don't know. You gotta kinda read between the lines, and figure out what they're REALLY wanting to know.
I think starting with a broad perspective is good, and overexplaining is generally better than underexplaining (imo), at least when I've got the time for it.
I think there is a common misconception among those who are new to a technology that there is a single right pathway to follow. IMHO all learning is good learning and there is nothing bad about embarking on a path as long as you recognize the Entrepreneur's Creed: "avoid slow stupid failure".

Learning a new technology is like starting a business. You're going to make mistakes; learn to recognize them and change your path once you do. It is often observed that we learn more from our failures than from our successes. In short, dig in and have a ball. Leave the worry until later.
 

dendad

Joined Feb 20, 2016
4,451
I think the simplest way to start is with the Arduino ecosystem. There is so much stuff out there and you can start with very little outlay. Around $2 to $3 on Ebay will get you going.
Search for "ASK Manual" and have a read.

PICs can be more powerful but the start up cost is higher and so are the boards.

FPGSa are another thing again. Mostly in house programmers/IDEs...
In the long run, get proficient with them all.
 

MrChips

Joined Oct 2, 2009
30,703
I think the TS is just getting started into microcontrollers and embedded systems and trying to understand the gobbledygook of this unfamiliar field.

Perhaps an analogy might help.

Most people in most countries have some basic understanding about cars.

Think of Arduino like a Volkswagen Beetle.



A PIC is like a 1200cc engine in the Beetle



Both the 1200cc engine and the Beetle use the same kind of gasoline.

The FPGA is like a jet engine.



If your prime objective is speed and processing power, you go with an FPGA. The body of the machine stays the same.
 

shteii01

Joined Feb 19, 2010
4,644
Sorry, these guys can be pretty unhelpful at times ;)

The problem with your question is that the three things you're asking about are miles apart. It's sorta like you're asking what the difference between Ford, a truck, and a helicopter is.

Arduino is an entire platform/ecosystem. It's also an entire company/brand.
Under the Arduino umbrella is their IDE and their various development boards.

PIC is an entire family of microcontrollers. They're made by Microchip.

FPGA's are an entire type/class of component.

Now, to give you some context:
Arduino development boards are usually built around AVR microcontrollers, which are a family of microcontrollers made by Atmel. Compare that to the PIC family of microcontrollers made by Microchip. They're different because A) Different companies make them. B) They require different programmers (though most dev boards don't require them, due to special bootloading processes.). and C) They have different architectures, meaning their instruction sets are unique, the way peripherals are accessed is unique, etc.

FPGA's aren't microcontrollers at all. Atmel and Microchip both build FPGAs, but they're entirely different products.
In other news.
Microchip bought Atmel.
https://www.nytimes.com/2016/01/20/...buy-atmel-for-nearly-3-6-billion.html?mcubz=3
 
Top