Should I learn PIC programming or stay with arduino?

Click For Summary
Arduino is praised for its intuitive design and ease of use, making it a popular choice for hobbyists, while concerns about it fostering laziness in programming are dismissed as unfounded. Transitioning to PIC programming may provide deeper understanding of microcontroller concepts, but whether it offers significant advantages depends on the user's project goals. For those interested in learning PIC, Microchip's MPLAB IDE and a programmer like PicKit 3 are essential, with many resources available for beginners. The discussion highlights that comparisons between Arduino and PIC are often misleading, suggesting a more relevant comparison would be with PICAXE. Ultimately, the choice between Arduino and PIC should align with the specific projects and learning objectives of the individual.
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 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 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
 
I am trying to understand how transferring electric from the powerplant to my house is more effective using high voltage. The suggested explanation that the current is equal to the power supply divided by the voltage, and hence higher voltage leads to lower current and as a result to a lower power loss on the conductives is very confusing me. I know that the current is determined by the voltage and the resistance, and not by a power capability - which defines a limit to the allowable...

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
24K
  • · Replies 21 ·
Replies
21
Views
24K
  • · Replies 8 ·
Replies
8
Views
4K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 4 ·
Replies
4
Views
3K