views:

148

answers:

2

I'm a fairly good programmer, knowledgeable in C, C++, Python, Ruby and PHP. I'd like to get started with microcontroller programming.

I do know nothing about this topic.

  • Microcontrollers are minimal computers on little circuit boards, right?
  • I'm pretty new to electronics too, do I need to be an expert in it to do stuff with microcontrollers?

  • What can I do with them? Would e.g.: A Pacman or Tetris game on an LCD be possible and not too hard?

  • Where should I start?

Basically I want to program something really small I can then take with me. This is my only real goal. Are microcontrollers the right thing for this, or are there better solutions?

I'd like to do this for fun and as a hobby, I don't want to become a professional in it.

+2  A: 

Tons of stuff over at Sparkfun.com if you're considering the Arduino platform...

Jakob Gade
A: 

Hi Trix.

There are some important concepts you need to study to start programming microcontrollers.

Basic knowledge of electronics is essential. Also very important, is digital logic study. You must understand for example how flip-flops, counters, registers, timers, encoders and decoders works. Without understanding the simple structures of digital logic, it becomes harder to understand how a microcontroller works. For this subject I recommend that you read Tocci`s Book.

After that... you must choose a microcontroller to start with. I recommend Microchip PIC because they are simple to understand and to program, and also, the development tool is free (MPLAB). If its possible you should aquire a development board that includes a programmer to start trying some development.

Then, start understanding what a microcontroller is and how it works. Study its internal structures like memories, processor, buses, peripherals and so on. This knoledge is very important if you want to became a serious microcontroller programmer or even for hobby development. You must understand how things happen under the hood. This is the most challenging part when moving from computers to microcontrollers in my opinion.

If you choose a PIC microcontroler, download its datasheet from vendor website and read and study it. Most information you need about you microcontroller is supplied by its vendor.

Then start trying to create very simple programs, like make a LED blink for example. Do not start with something harder like a LCD interface... that is a little difficult for someone who is just starting.

Good study and hope this helps a little.

RHaguiuda