element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Code Exchange
  • Technologies
  • More
Code Exchange
Blog A Few Microcontroller Choices for A New Coder
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Code Exchange to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: DaveYoung
  • Date Created: 7 Aug 2012 7:54 PM Date Created
  • Views 1087 views
  • Likes 1 like
  • Comments 2 comments
Related
Recommended

A Few Microcontroller Choices for A New Coder

DaveYoung
DaveYoung
7 Aug 2012

imageThanks to my work with BlueStamp Engineering, I have the pleasure of watching people take their first plunge into the world of coding with microcontrollers.  It's fun to observe the trepidation of the unknown morph into the first hint of understanding and finally result in a level of comfort with the task.  I've spoken with several people who are curious about the best platform to use when introducing students to firmware.   As with any engineering solution or teaching method, there is no single best approach, and I've had varying levels of success with a few different systems.  My canned response has always been:

 

“The best way to learn a new system is by recreating another person's project.  So if you don't care about the microcontroller, I suggest finding a fun project and using whatever system the original designer used.”

 

However I've noticed several differences between the microcontroller platforms that students have worked with, each with its own strengths and weaknesses.  It is still probably best to pick a first project based on the students' level of interest to provide motivation through the harder parts of the project, but this may help sway the decision.

 

Arduino:

Quickly becoming the household name in beginner microcontrollers, Arduino is specifically targeting a person who is new to electronics.  A beginner can pick up an Arduino Uno from Amazon Prime for about $20 and get going right away thanks to the many example projects and not needing to buy a programmer to get started.  New users will immediately enjoy the limited programming language, which is a modified version of C.  There is 'the way everyone' accomplishes specific tasks such as dimming an LED with PWM,  communicating over SPI,  etc... This is particularly handy when trying to learn how to code by looking at examples of completed projects.  The downside is that the limitations can make it difficult for an experienced user to come up with a custom approach or tackle a problem in a unique way.

 

Texas Instruments MSP430 line:

Texas Instruments came out swinging with their MSP-430 'value line' microprocessors led by its flagship 'Launchpad' demo kit, available for just $4.30. Because of its low price and no need for a programmer, it is the cheapest way to get in the microcontroller game.  TI's biggest strength is that a developer can start with the simple Launchpad, and cultivate marketable skills with a development environment (CCS or IAR using C or C++).  The MSP430 also represents an expansive part line that is well suited for professional designs intended for production, with a part to suit almost any design.  However toolsets that offer a pro all of the flexibility he or she may need makes for a steep learning curve.  Novices may be intimidated by all of the different settings, or worse, accidentally change (and break) something that is misunderstood.

 

Microchip's PIC line:

Microchip has a lot of experience making excellent microcontrollers called 'PICs', with chips ranging from small 5-pin microcontrollers to larger chips capable of DSP operations.  The professional development environment and line of parts gives PICs similar costs and benefits to the MSP430.  While they don't specifically target beginning coders like Arduino and TI, many novices will use their parts for features or size.  Instead of offering a 'starter kit' that allows developers to plug an assembled board directly into a USB port, a circuit needs to be built from the IC on a breadboard so a separate programmer can handle the communication from the computer to the chip.  This may seem intimidating at first, however a budding developer may appreciate working with a protoboard that only has the 10 required parts on it instead of a packed SMT development kit, most of which remains unused.

 

There is no 'bad' way to get into microcontrollers – I've found it is best to allow the student/developer pick their favorite approach for their task. Thanks to the low cost of all of these tools, if one solution becomes too annoying, it is cheap and easy to try another platform.  With so little to lose, the key is to just get started!

  • Sign in to reply
  • gervasi
    gervasi over 13 years ago

    I am doing a project with the Parallax Propeller chip.  It's a processor with eight cogs that can do stuff in parallel, kind of like an FPGA.  You code in the Spin language, which is mostly sequential but allow you to start processes running in parallel on separate cogs.  The main advantge of all this is you don't have to keep track of intrupts and task switching.  I'm undecided as to whether this makes for a good processors.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • DAB
    DAB over 13 years ago

    Hi Dave,

     

    I concur with your assessment.  When I got pack into playing with microcontrollers, I picked up a PIC, and Arduino and the TI MSP430.

     

    If you are a beginner, any of these will get you started.  All have a ton of open source support and easy to use tools.

     

    Having worked with microprocessors for over 40 years, my best suggestion is to choose one and learn it inside and out. 

    Once you are fluent in one, you can pick up any of the others as you find them a better fit for your project.  Each product line has strengths and weaknesses, but unless you are looking at building a really complex system, any of them will meet your needs.

     

    If you are new to electronics and programming, it will take you a while before your skills outgrow the controller you selected.  By that time there will be a whole new line of faster and more versatile products to choose from.

     

    I have worked on many state of the art projects and can honestly say that the processor seldom limited the application.  As you get experience, you will learn a lot of practicle tricks that can compensate for a MCU limitation.

     

    The best cost/performance comes with the TI MSP430 (go see my blogs in the MSP430 group).  Being 16bits, it has a lot of advanced built in capability that should keep you modding for many years, but you can also use the Arduino or PIC line, you just might have to advance to some of their more expensive products.

     

    So select one and get started.  You will soon find yourself empowered to build just about anything.

     

    Just my opinion,

    DAB

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube