Should I learn PIC programming or stay with arduino?

Click For Summary

Discussion Overview

The discussion revolves around the comparison between programming with Arduino and PIC microcontrollers, focusing on the advantages and disadvantages of each platform for hobbyists. Participants explore the implications of switching from Arduino to PIC, including the learning curve, tools required, and potential applications.

Discussion Character

  • Debate/contested
  • Exploratory
  • Technical explanation
  • Homework-related

Main Points Raised

  • One participant expresses enjoyment with Arduino but questions whether switching to PIC offers any real advantages for hobbyist projects.
  • Another participant suggests that Arduino can be programmed using Atmel tools and mentions the availability of free IDEs for both platforms.
  • Some participants argue that comparing Arduino with PIC is not appropriate, suggesting that a comparison with PICAXE would be more relevant.
  • Concerns are raised about the notion that Arduino makes users lazy, with some arguing that abstractions serve a purpose and that users should explore library sources to understand their devices better.
  • Participants note that the question of whether PIC offers advantages is too broad and should be guided by specific project needs.
  • One participant shares an interest in developing an embedded PID temperature control project and is uncertain whether to use Arduino or PIC for this purpose.
  • Questions arise about the necessary tools and components for starting with PIC programming, including the need for a power supply and other equipment.

Areas of Agreement / Disagreement

Participants do not reach a consensus on whether PIC programming offers significant advantages over Arduino for hobbyists. Multiple competing views are presented regarding the appropriateness of comparing the two platforms and the implications of using abstractions in programming.

Contextual Notes

Some participants mention the need for specific tools like PicKit and MPLAB, but there are uncertainties about additional requirements for starting projects. The discussion reflects varying levels of experience and interest in transitioning from Arduino to PIC.

ramzerimar
Messages
178
Reaction score
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   Reactions: cnh1995
Engineering news on Phys.org
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
 
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   Reactions: billy_joule
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?
 
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
 

Similar threads

  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 10 ·
Replies
10
Views
3K
Replies
8
Views
4K
  • · Replies 8 ·
Replies
8
Views
18K
  • · Replies 17 ·
Replies
17
Views
25K
  • · Replies 8 ·
Replies
8
Views
4K
  • · Replies 21 ·
Replies
21
Views
25K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 4 ·
Replies
4
Views
3K