Difference between revisions of "Microcontrollers for Beginners"

From OpenCircuits
Jump to navigation Jump to search
Line 14: Line 14:
 
*It is inexpensive.
 
*It is inexpensive.
 
*There is a broad amount of activity on the web, and a lot aimed at non technical users.
 
*There is a broad amount of activity on the web, and a lot aimed at non technical users.
*It and its software is open source.
+
*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.
 
*There is a lot of library support for common tasks.
 
*You do not even need a programmer, comes with a serial bootloader.
 
*You do not even need a programmer, comes with a serial bootloader.

Revision as of 18:51, 27 September 2009

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.

Use the Arduino

Use the Arduino Because:

  • It is a development board
  • 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!
  • 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

( needs 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