And the Best Micro for Beginner Learning is…

RSS

Microcontroller

First, thanks to all of you who responded to my previous blog, “How to Choose the Best Microcontroller.” It’s great to get input like this from experts on the subject. While the responses were broad, there was a consensus of sorts.

In an informal, non-scientific tabulation of your responses, I concluded that the Arduino platform with an Atmel ATmega328p won the contest. Most agree that the Arduino is a great starting point for beginners, and the Atmel controller is typical and representative of micros today.

Clearly in second place were the PIC devices from Microchip. They are cheap, simple, and have lots of software and hardware support. Different models were recommended. By the way, in case you did not know, Atmel is owned by Microchip.

In third place, and a surprise to me, is Texas Instruments’ MPS430. I have heard of this one, but not investigated it as a beginner’s chip. I plan to take a look. Are these available to individuals?

Fourth place goes to ARM. I discounted this line of processors, but usage is widespread and growing. It is more complex than typical 8-bit devices, but deserves a second look.

Another surprise recommendation was Cypress Semiconductor’s PSOC. It received much praise for its ease of use and support. Another one to investigate.

There were a few votes for some NXP and STM devices. I even got a recommendation for the 6502. Remember that? I used it in a few projects back in the day—a great, simple, and capable processor. Isn’t that what the Apple I and II used? There were also many memorable mentions of the 8051, but all agreed it was too out of date for most new designs.

As for what I plan to do, I will take another look at a few of the above-mentioned devices and focus on the availability of resources and support to beginners, hobbyists, and makers. I am leaning toward the majority recommendation of the Adurino/Atmel combo.

I did invest in an Arduino Uno recently. The price is right and there are quite a few books and web materials to support it. Unfortunately, I still haven’t made it work yet; I cannot get the free software from the Arduino site to work. There seems to be a “driver” problem. This is just the sort of discouraging occurrence that puts off beginners eager to learn. I suspect I will eventually solve this problem, but so far none of the many references I have acquired have been helpful. Maybe it’s just me. Any thoughts?

As for programming, the recommendations were uniformly for the C language. Assembler received a few votes, but C is the go-to language for embedded controllers. BASIC was universally rejected.  IEEE’s magazine Spectrum recently ranked programming languages. Number one was C with Java in second place and Python in third. Arduino and Assembler ranked 12 and 13, while BASIC in the form of Visual Basic was number 18. Looks like I had better start learning C.

I do appreciate all the feedback from all you guys who have the experience. Thanks again.

Discuss this Blog Entry 18

on Aug 3, 2016

I can't fault your logic.

on Aug 3, 2016

You asked whether the MSP430 is available to individuals. Both Texas Instruments and Olimex sell starter kits. Unfortunately this site does not allow the links to be posted to you will have to search - sorry.

on Aug 3, 2016

The problem with the driver is caused by the USB interface, Arduino software support FDDI chip or 16U2 preprogrammed chip but most chinese version of the UNO module use a chinese cheaper CH340 device which require another driver !
With the official board from Arduino it work immediately, but with the CH340 you need to download an other driver.
Good luck.

on Aug 3, 2016

MSP430 is available at RS Online. The MSP430G2 development kit is priced at around $11 and the microcontroller themselves range from half a dollar each for those with low specs and up to $3 per chip for those with higher specs. These are usually available in a pack of 5. Also, the delivery is free so it is available even for someone like me in the Philippines.

on Aug 3, 2016

"Arduino" programming language is C.

on Aug 5, 2016

Actually, it is C++ to be precise. However, the OO nature of C++ is scarcely visible except when writing statements like
variable = object.function(bla bla);
Fortunately, that simple syntax for using the pre-defined libraries of objects of various kinds is usually the only C++ feature users must know to write simple but useful Arduino programs (called "sketches" to appeal to creative but somewhat technophobic types).

on Aug 9, 2016

Thank you for the correction. Do note, however, that those sorts of statement can be written in modern C. Regardless, whether it's C or C++ is besides the point. The point is that "Arduino" isn't its own programming language, and it shouldn't be ranked by itself. But I'm being pedantic. Again, thank you for the correction.

on Aug 3, 2016

PSOC and NI GUI of any supported uC are easiest to learn to program if one is electronic savy but novice programmer.
Results probably skewed by ARdino being the defacto DYI viral pick,
These two options are easer to program and learn because of the graphical interface.
Does any body support Ardino with GUI interface from NI or other vender?

on Aug 5, 2016

What about the cost of NI software? That has to be a factor when considering "beginner" platforms and languages.

on Aug 3, 2016

Definitely try the PSoC.
I was involved in mostly analog design work up until nearly two decades ago when I convinced my employers that using a uC would reduce product cost and improve reliability. My uC experience was limited to the very old National SCMP and 8085 used at university, so definitely a programming greenhorn!
I began with the PSoC beta chips after being drawn to the on-chip analog capability. The GUI is great, the support is great, and the dev kits are cheap enough for a hobbyist. There are also 3 cores available depending on how complex the designs are likely to be.
Give them a try.

on Aug 3, 2016

You'll have to pry my 6502 out of my cold dead fingers. I have a KIM-1 SBC with all of the manuals AND the cassette interface (so you don't have to re-enter the program via the hex keypad every time you turn it on) that I used to use as an IDE for programming 8048 family chips. There's one for sale on eBay for $2,450. I think they're whistling Flow Gently Sweet Afton, but it would be interesting to know if anyone bites.

Who knew that, 40 years on, finding a cassette to save your program to might be the biggest hurdle?

on Aug 5, 2016

Scrape the tar from your bell and serve your French Toast again... if it makes you happy.

on Aug 3, 2016

Oh, and yes, TI was giving away MSP430 development kits built on a flash-drive-sized USB card a few years ago. They may still have them. I like the idea of the MSP430; it's a cool architecture.

on Aug 4, 2016

TI has the LaunchPad series of development boards, which includes some MSP430 boards. Some boards in the LaunchPad series can be programmed using Energia IDE, which is based on processing.org (same as Arduino IDE).

on Aug 4, 2016

I really like the various ARM SOCs. TI. STMicro, Cypress and many others have Dev kits under $50 and there is generally good support. I've used PICs, and they are great little chips, but the bank switching can bite the novice. Arm's 32-bit architecture is just made for C - the code is compact and the assembler output is straightforward for beginners along with good free tools with debuggers over the USB/serial port.
STM cube is a graphical configuration and driver tool that will get even the complex chips configured quickly with automatically generated C code.
Arduinos are fun at first, but you quickly come up against the limitations of code size. The Mega version gets around that but at a higher price and with some potential compatibility issues.

If you want the least expensive starting kit, then Arduino is the way to go. If you can manage 40-70 bucks, then I'd look at the ARM offerings from STM.

Watch out for the serial ports - they are usually not really RS232, but rather TTL at either 5 volts or 3.3 volts.

on Aug 5, 2016

I've bought several STM Nucleo boards for around $11, cheaper than official Arduino boards. The online mBed.org programming web site is interesting.

on Aug 4, 2016

Yes,
TI.com and affiliates have a large selection of "LaunchPad" MSP430 starter kits, starting at $9.99. Complete with USB interface, IDE software, the LaunchPad breaks out pins for access and has an onboard buttons and LEDs to try out.

The Atmel environment is also very good for beginners.

on Aug 6, 2016

I definitely have some additional investigation to do. Now to learn C. Thanks for all your comments.

Please or Register to post comments.

What's Communiqué?

Blogs on topics such as wired and wireless networking.

Contributors

Lou Frenzel

Lou Frenzel writes articles and blogs on the wireless, communications and networking sectors for Electronic Design. Formerly, Lou was professor and department head at Austin Community College...
Commentaries and Blogs
Guest Blogs
Jan 26, 2017
blog

An Amateur’s View on the P2 (Part 2): Slew Rate and the Oscillator 1

Justin Mamaradlo takes a further look into the P2 op amp and how it functions, analyzing the oscillation and slew-rate characteristics of the venerable component....More
Jul 15, 2016
blog

Simple Yet Effective ESD Testing Methods for Higher Reliability 7

There are multiple ways to test for electrostatic discharge, ranging from implementing a human-body or machine model to....using a balloon and a comb?...More
Apr 8, 2016
Commentary

Confabbing on the Fabless Fad 5

High capital and maintenance costs, and EDA advances along with abstractions to deal with chip complexity, have been leading contributors to the fabless migration....More

Sponsored Introduction Continue on to (or wait seconds) ×