Difference between revisions of "Microcontrollers for Beginners"

From OpenCircuits
Jump to navigation Jump to search
(linkfix; yet another "beginner" board)
Line 69: Line 69:
 
*[http://en.wikipedia.org/wiki/Arduino Arduino From Wikipedia, the free encyclopedia]
 
*[http://en.wikipedia.org/wiki/Arduino Arduino From Wikipedia, the free encyclopedia]
 
* [http://scott.sherrillmix.com/blog/programmer/easypic4-first-impressions/ "EasyPic4 First Impressions"]: Scott Sherrill-Mix says the "EasyPic4" at least appears to be the easiest way for beginners to start. It uses the PIC 16F877A.
 
* [http://scott.sherrillmix.com/blog/programmer/easypic4-first-impressions/ "EasyPic4 First Impressions"]: Scott Sherrill-Mix says the "EasyPic4" at least appears to be the easiest way for beginners to start. It uses the PIC 16F877A.
 +
 +
== Inexpensive Starter Kits ==
 +
 +
*[http://www.sparkfun.com/commerce/product_info.php?products_id=9284  Arduino Starter Kit] about $60.
 +
*[http://www.adafruit.com/index.php?main_page=product_info&products_id=68  Arduino Starter Pack - 1.0] about $65.
 +
*[http://antipastohw.blogspot.com/2007/12/review-adafruit-arduino-starter-pack.html Review: Adafruit Arduino Starter Pack] Review.
 +
*[http://aaroneiche.com/2009/06/29/arduino-starter-rundown/ Arduino Starter Rundown Comparing the two] Review of the two above.
 +
*[http://moderndevice.com/ Bare Bones Board Kit] As basic as you can get about $16. Not the standard pin out, rs232 ttl, no cable, no nothing but the board.  Pretty good if you have some idea on how to fill in the blanks.
  
 
[[Category:Microcontroller]][[Category:Arduino]]
 
[[Category:Microcontroller]][[Category:Arduino]]

Revision as of 19:45, 19 October 2009

One of the first questions that comes up is: Which microcontroller should you use? This page gives you an answer and the reasons behind it.


Assumptions

You:

  • Do not have a lot of money
  • Do not have a lot of electronics gear or experience.
  • Do not have a lot of programming experience.
  • Do want quick gratification.
  • Do not want to do really fancy stuff right off the bat.
  • Do not want to make a lot of decisions befor you can get down to work.

Use the Arduino

Use the Arduino Because:

  • It is a development board and a development environment.
  • It is inexpensive.
  • There is a broad amount of activity on the web, and a lot aimed at non technical users.
  • It and its software ( including a full development environment) is free, maintained, and open source.
  • There is a lot of library support for common tasks.
  • You do not even need a programmer, comes with a serial bootloader.
  • There are a bunch of "Shields" available as add ons: Shields Stuff to stick on your arduino!
  • Connecting Arduino projects to a PC is easy using a programing enviroment on the PC that is similar to the one for the Arduino ( Processing ).
  • Making this one choice saves you from a bunch of other questions. If you choose a PIC you still have to decide: which PIC what board or circuit, crystal or resonator, which language, which compiler for the language, which hardware programmer?
  • This answer is a little bit of a cheat because it does not recommend a microcontroller, it it a development board and a development environment. But that is a powerful choice for a beginner, it does an end run around a bunch of possible problems.

Arduino Limitation and Why they Do Not Matter

  • Even with the Arduino there are choice of which one to get. But it is hard to make a really big mistake, and the info. on each choice is pretty available and easy to understand.
  • The development environment does not include a simulator. Lots of times simulators are not useful because of the dependence on external events and the limited and difficult use of "stimulus files". Generally simulator are not really easy to use. But it would be nice to have one.

( needs more work )

Use Something Else

If the assumptions do not apply to you, or you have some special requirements then:

At least use a development Board

You are ready to go at almost the cost of components, you can get a kit or prebuilt. Some of these are:

  • USB Bitwacker
  • PIC Kit 2 or clone
  • Insert your favorite here.

Use a high level language

The best language may be C: this is written about the PIC but applies to other processors as well Use C for PIC Programming!

but almost any is better than assembler -- this is despite what the hard core says.

Down to the Metal

Lots of people like the PIC. I like the PIC. One of the great things about the PIC is that it is so popular. That means lots of code on the web, lots of programmers, languages.... There are also lots of different model PIC. That means you can buy just the right size PIC and not even pay 50 cents to much. And you can pay in the range of 50 cents for the chip. This can matter a lot when you are making a few thousand of your circuits. You can fine tune assembly language for the chip, design your own circuit board. But it is a not quick way to get results. If this approach interests you then consider the PIC. You can also buy the microcontroller on its own and work in a way similar to the PIC. And of course there are other families of microcontrollers. Move in this direction when and if you hit the limitations of the Arduino.

Room for Opposing Views

If you do not agree with the above, add your comments here or add a link to a new page to explain your opinion. Please do not re-edit my views ( but you may edit to strengthen the argument).

Other

Inexpensive Starter Kits