How to choose a micro controller?

JoeM

Sep 5, 2014
33
Joined
Sep 5, 2014
Messages
33
Not to detract from the OP's thread, but can you provide a list of resources for both the PIC and Arduino? I am curious to see what you would recommend for someone to get started with Arduino - you made a reference to get some for about $7 - I imagine E-Bay is involved, from my limited searches they seem to be imitations. Are they compatible in your opinion? As for basic, is there any program you could recommend (Basic compiler or IDE) - my last use of Basic was long ago with QBasic if I recall correctly.

Thanks!
Yes, Ebay would give you the best delivered price on most anything electronic, including Arduino. You can find and UNO for $6.95. the compiler for Arduino is only one, it is free, and it is very good. Just as I said, go to the Arduino web site > http://arduino.cc/en/main/software and download the software. The book I referenced in the last post by Brian Evans, is very good, but the internet is full of free tutorials on all facets of Arduino. Forget about basic, and follow the Arduino path into the world of C. After you get way into learning basic really well, you eventually realize that if you put the same effort into C, you would have come out way ahead. C is used in business and academia throughout the world. C will compile tighter code, and often times fast code, but for real speed, a small amount of assembly may be required. Cross that road when you come to it. When you get your Arduino UNO, look for a case for it, it is made of Plexiglas and you have to assemble it, but it makes the Arduino easy to handle, and work with, and keeps the board from shorting itself out on wire leads and tools that may be on your work bench. It is very nice. I have one for the Mega too.
What everyone should know about Arduino is that there are many kinds of Arduino, but if it is called Arduino, it means that it follows the blueprint that Arduino Org laid out for it. If it is changed in any way, it can't be called Arduino. It might be FunDuino, or some other related name. Each of the Arduino boards goes by a second name, such as UNO, and DUO, but there are many more. The UNO and DUO differ by the amount of memory you have to work with. There is a web document that show all the different models in a spreadsheet format, and list the differences of each so they are easy to compare. Also, All Arduino models can run the same code as the simplest. This is the same with PIC, but not really so true with PIC, there are some changes that have to be made when going to certain models of PIC's. For instance, in 8 PIC's. you might see ports referenced as GPIO, and in a 16 pin part, they would be called PortA, Portb and so on. There are more examples, but it is only important to know that the differences exist.
When looking for interfacing ideas, you are not limited to either processor, the interfacing of micro controller's is a big topic, and it applies to most all microcontrollers. so circuits showing transistors being used to isolate a port, or extend its sinking or sourcing ability apply to Arduino, and PIC, and PICaxe, an Basic Stamp, and many more.

Good luck.. Joe
 

chopnhack

Apr 28, 2014
1,576
Joined
Apr 28, 2014
Messages
1,576
Yes, Ebay would give you the best delivered price on most anything electronic, including Arduino. You can find and UNO for $6.95. the compiler for Arduino is only one, it is free, and it is very good. Just as I said, go to the Arduino web site > http://arduino.cc/en/main/software and download the software. The book I referenced in the last post by Brian Evans, is very good, but the internet is full of free tutorials on all facets of Arduino. Forget about basic, and follow the Arduino path into the world of C. After you get way into learning basic really well, you eventually realize that if you put the same effort into C, you would have come out way ahead. C is used in business and academia throughout the world. C will compile tighter code, and often times fast code, but for real speed, a small amount of assembly may be required. Cross that road when you come to it. When you get your Arduino UNO, look for a case for it, it is made of Plexiglas and you have to assemble it, but it makes the Arduino easy to handle, and work with, and keeps the board from shorting itself out on wire leads and tools that may be on your work bench. It is very nice. I have one for the Mega too.
What everyone should know about Arduino is that there are many kinds of Arduino, but if it is called Arduino, it means that it follows the blueprint that Arduino Org laid out for it. If it is changed in any way, it can't be called Arduino. It might be FunDuino, or some other related name. Each of the Arduino boards goes by a second name, such as UNO, and DUO, but there are many more. The UNO and DUO differ by the amount of memory you have to work with. There is a web document that show all the different models in a spreadsheet format, and list the differences of each so they are easy to compare. Also, All Arduino models can run the same code as the simplest. This is the same with PIC, but not really so true with PIC, there are some changes that have to be made when going to certain models of PIC's. For instance, in 8 PIC's. you might see ports referenced as GPIO, and in a 16 pin part, they would be called PortA, Portb and so on. There are more examples, but it is only important to know that the differences exist.
When looking for interfacing ideas, you are not limited to either processor, the interfacing of micro controller's is a big topic, and it applies to most all microcontrollers. so circuits showing transistors being used to isolate a port, or extend its sinking or sourcing ability apply to Arduino, and PIC, and PICaxe, an Basic Stamp, and many more.

Good luck.. Joe
Thanks Joe, great info - do you have a link for where you got your board, all the ones I find on ebay are Arduino compatible, but they are not the original, they make mention of Funduino, simply Uno, etc.
 

Solidus

Jun 19, 2011
349
Joined
Jun 19, 2011
Messages
349
Just my $0.02 from what I read here - seems like this thread might be starting to devolve into the AVR/PIC or programming language holy war (haha).

I have been an ardent fan of the Arduino because of the fact that it makes programming easier for an absolute beginner. Those with absolutely no experience programming who will need to take time to understand a Hello World or Blink program will be most likely best suited with an Arduino. Gryd3's concern that the IDE removes one from the functions of the device is a perfectly legitimate concern. Designing and implementing optimized routines or transfers or anything beyond basic I/O or data processing operations will almost always rely on either optimized C++ library calls or inline assembly for absolute precision. The standard Arduino "language" routines are pretty bloated if you're looking for hard timing, and it might be best summarized that Arduinos are best for adding a little bit of digital control to a project, whereas other microcontrolling platforms (PIC, STM32, other ARM flash cores) or even AVRs not programmed through the Arduino IDE would be more suitable for situations where digital interaction is a primary goal of the project (for example, devising a controller with a user interface).

This 1:1 scale (lowest-level) manipulation is extremely important for anyone looking to become proficient in microcontrollers, and I'm not faulting that whatsoever (in fact, I'm arguing for it). That being said, if the OP is an absolute beginner, attempting to make him learn such things to get up and running is a discouraging route, and the Arduino platform for all its misgivings and limitations offers the ultimate in ease of use.

I have worked with PICs in the past, and the limitations of the compilers and toolchains, as well as the complexity of each of those steps and programming them, makes PICs fairly hard to pick up relative to the Arduino/AVR platform. That being said, many of the capabilities of PICs scale better than AVRs, so this is a decision the OP will have to make for himself. Personally, I'd be much more willing to push to full-scale adoption of PICs for all my projects if open solutions (like SDCC or the GCC -m4k route) were more mature and well-documented, rather than having to annoy myself with non-optimizing code generation on the part of Microchip.

Overall, the choice here is versatility versus ease of use. One would make the valid point that for an absolute beginner, the isolation component of the Arduino IDE would be beneficial. But if one is looking for a system that he can readily expand upon without it being a hinderance, other AVR implementations or PIC/ARM systems might be more well-suited at the expense of a steeper learning curve.

Just some food for thought.
 

JoeM

Sep 5, 2014
33
Joined
Sep 5, 2014
Messages
33
I agree completely. Don't sell your opinion so cheaply, in my opinion it was worth far more than 2 cents. :)
 
Top