Should I learn PIC programming or stay with arduino?

In summary, the conversation discusses the comparison between the Arduino and PIC microcontroller platforms, as well as the advantages and disadvantages of each. The argument that Arduino makes one lazy is countered, and the importance of understanding underlying concepts is emphasized. The conversation also touches on learning resources for PIC, as well as the necessary tools and components to get started with programming. The potential project of developing an embedded PID temperature control is mentioned, and the idea of developing commercial products is dismissed since the conversation is between hobbyists. Overall, the conversation concludes that while using PIC may offer some advantages, it ultimately depends on the project and individual preferences.
  • #1
ramzerimar
178
23
I'm enjoying playing around with Arduino. It's very nice and intuitive, and it was a great introduction to electronics for me. But I've heard some people complaining that Arduino makes you lazy, and that you should learn how to program PIC instead. Thing is: apart from undertanding better the underlying concepts of microcontroller programming, I can't see any advantage in switching from arduino to PIC. In general, does using PIC instead of arduino offer any real advantage? (For a hobbyist like me, I mean).That said, I do want to try learning PIC, just to get the feel of it. But as I'm used to programming Arduino, where everything is already assembled, I don't know where to start. Apart from the PIC itself, I know I need a programmer like PicKit 3. That's all? To start programming PIC, do I need anything else? What about an IDE?
 
  • Like
Likes cnh1995
Engineering news on Phys.org
  • #2
If you already have an arduino you can use the Atmel tools to program in c/c++/asm with a full debug environment. You just need an ISP dongle.

I have used the PIC tools and did not have any problems with them. I have not used the Atmel tools but have heard that they are much easier to use. Both have free versions of the IDE. Free Microchip c/c++ compilers have a crippled optimizer which is not and issue for learning the platform. Atmel tools are completely free. I don't know what features that are not included in them. If any they will likely not be a concern to you.

BoB
 
  • #3
Comparing Arduino with PIC makes no sense. A better comparison would be with PICAXE. A comparison between Microchip and Atmel devices (upon which the Arduino is based) is like-for-like, but hopelessly general. Note that the web has been awash for years with ill-informed Microchip vs Atmel "fanboy" arguments. Pass those by!

The argument that Arduino makes you lazy is nonsense. It's simply one of many quick educational and prototyping platforms. Abstractions exist for a reason! Apply reductio ad absurdum: do those making the argument write only in assembly language, I wonder? That being said, using libraries for tasks like writing to IO pins may be hiding you from knowledge about your device that you may find interesting. If you program, why not check the Arduino library source to see what it's doing for you?

Whether PIC offers "any real advantage" is too broad a question to answer. What sort of projects would you like to do? Be guided by problems. For example, if you want to develop your own products, you will probably not be embedding an entire Arduino board inside them.

If you want to learn how to program PICs, grab Microchip's tools (MPLAB is free), and just dive in. For typical FAQs check Microchip's forums. There are probably more learning resources around for PICs than any other devices.
 
  • Like
Likes billy_joule
  • #4
Integrand said:
Comparing Arduino with PIC makes no sense. A better comparison would be with PICAXE. A comparison between Microchip and Atmel devices (upon which the Arduino is based) is like-for-like, but hopelessly general. Note that the web has been awash for years with ill-informed Microchip vs Atmel "fanboy" arguments. Pass those by!

The argument that Arduino makes you lazy is nonsense. It's simply one of many quick educational and prototyping platforms. Abstractions exist for a reason! Apply reductio ad absurdum: do those making the argument write only in assembly language, I wonder? That being said, using libraries for tasks like writing to IO pins may be hiding you from knowledge about your device that you may find interesting. If you program, why not check the Arduino library source to see what it's doing for you?

Whether PIC offers "any real advantage" is too broad a question to answer. What sort of projects would you like to do? Be guided by problems. For example, if you want to develop your own products, you will probably not be embedding an entire Arduino board inside them.

If you want to learn how to program PICs, grab Microchip's tools (MPLAB is free), and just dive in. For typical FAQs check Microchip's forums. There are probably more learning resources around for PICs than any other devices.

I was studying the development of a embedded PID temperature control, for example. It looked like a very interesting project, and I do want to learn more about PIDs. I don't know if I try to implement Arduino or try PIC in this one. I'm a hobbyist, so I'm really not into developing commercial products or stuff like that.

Also, are the PicKit and MPLAB all I need to dive in (apart from the microcontroller itself, or course)? Do I need a power supply or anything like that, just to start learning with some simple projects?
 
  • #5
If you can be tethered to the dev computer you don't have to have anything other than the board and a few bits and bobs to get you started. They run off of USB. As for a power supply other than USB, most of the arduino or other small boards they can be run on a simple battery. Likely whatever power source you are using for temperature control will be sufficient to drive the MCU. A small linear regulator will do nicely if not particularly efficiently.

BoB
 

1. Should I learn PIC programming or stay with arduino?

The decision to learn PIC programming or stick with arduino ultimately depends on your specific needs and goals. Both platforms have their own advantages and disadvantages, so it's important to consider your project requirements and personal preferences before making a decision.

2. What are the main differences between PIC programming and arduino?

PIC programming and arduino are both microcontroller platforms, but they use different programming languages and have different features. PIC programming uses C or assembly language, while arduino uses a simplified version of C++. PIC programming allows for more low-level control, while arduino offers a larger community and easier learning curve.

3. Is learning PIC programming more difficult than arduino?

Learning any programming language has its challenges, but it ultimately depends on your prior experience and learning style. If you are already familiar with C or assembly language, learning PIC programming may not be as difficult. However, if you are new to programming, arduino may be a better option due to its simpler syntax and larger community support.

4. What are the benefits of learning PIC programming?

Learning PIC programming allows for more low-level control over your projects, making it ideal for complex and critical applications. It also offers a wider range of microcontroller options and can be more cost-effective in the long run. Additionally, learning PIC programming can broaden your skillset and make you a more versatile programmer.

5. Can I use both PIC programming and arduino in my projects?

Yes, it is possible to use both PIC programming and arduino in your projects. In fact, many projects may require a combination of both platforms to achieve the desired results. It's important to evaluate your project needs and determine which platform is best for each specific task within your project.

Similar threads

  • Electrical Engineering
Replies
5
Views
2K
  • Electrical Engineering
Replies
10
Views
2K
  • Electrical Engineering
Replies
2
Views
1K
Replies
8
Views
3K
  • Electrical Engineering
Replies
17
Views
23K
  • Electrical Engineering
Replies
8
Views
17K
  • Electrical Engineering
Replies
21
Views
23K
  • Electrical Engineering
Replies
8
Views
3K
  • Electrical Engineering
Replies
4
Views
2K
Replies
2
Views
1K
Back
Top