Let's Make Robots!



All my projects, robotic or otherwise, have been created using the Arduino. I use it because it's simple, simple, easy and fast, and well simple. but I want to stop splashing around in prototype land and stop having to dissect all my projects to get the Arduino back just so I can start on my new projects. I want to use a microcontroller by itself!!!! 0.o

 Before I jump ahead of myself I need to learn more about microcontrollers. Everything I read online is about PIC or AVR specifically, and why their better than the other >.<.... however I want a more vague description of what a Microncontroller is and how it works. I understand that many of them run on different architectures and configurations, however, (correct me if I'm wrong) most of them contain several different internal parts such as clocks, flash memory, ADC, ect, in common, and that's what I want to learn about.

 QUESTION: Do you know of a book, article, tutorial, or other, that explains the interworkings of a generic microcontroller?

That's basically it. I don't want to pick between PIC, AVR, 8051, ect yet, I just want bare bone information. I COULD research each part by itself, and if you think I should do that, then I will, but if there's a place where all that wonderful information is all together...I think I'll pretty much be really happy about that exsiting...



Thanks in advanced,


P.S. If you have a specific recommendation on a particular microcontroller that I should focus on, let me know. I want to program in C however, so Picaxe is out of the question...

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Instructables just came out with a nice little guide for this subject - hope it helps :)  http://www.instructables.com/id/How-to-choose-a-MicroController/

The 12f509 and 12f629 will plug into the lpc board you have for programming. The io pins though, you will have to match to the header on the right to connect any leds etc for testing.

page 41 of the low pin count user guide shows you that ra0-ra5 (gp0-5 on the 8 pin pics) are available at the header

You can add a 5 pin header on a project board and program with the pickit directly to that. Saves swapping the chip in and out between boards. Again the schematic on page 41 helps you work out the wiring.That is called ICSP. Just one of many terms you'll learn. "In circuit serial programming" . There are a couple of things you have to heed when programming this way. There is documentation available on ICSP from microchip.

Have fun. Just remember the learning curve is steep but the satisfaction in learning by persistence is worth it.

Back in the day (last summer) when I was studying computers, I was learning X86 assembly (assembly for X86 class processors) and I learned a thing or two about memory, stacks, interrupts, pointers, bytes, clocks, ect. Well I've lost a lot of that knowledge, and I see here that it applies to microcontrollers.

Do you know of a tutorial that explains all of that stuff for microcontrollers?


Nah. All that stuff will be different depending on the microcontroller architecture.


Just start working through the lpc lessons and gooligum tutorials and all your questions will be answered at the appropriate time.

 That's the thing I loved about the gooligum tutorials is just as a question come to mind when following the tute he seems to anticipate that and an answer follows.

You really shouldn't worry about stacks and interrupts etc yet. As far as stacks are concerned just know the number of levels in the stack for your device and watch how many calls you nest inside eachother.

Everybody starts with the helloworld of microcontrollers which is flashing an led on an io pin. And work it up from there. Sometimes too much theory is a bad thing best jump in and get your feet wet by practice. Start the lpc lessons and use the gooligum site for cross reference. I always find it best to read multiple interpretations to see the explanation from different angles.

If you get stuck doing something then explain clearly what you are trying to do provide relevant code written by yourself and it makes it easier to be helped.

Of course I nearly forgot you need to follow the mplab tutes as well unless you have aleady used it and understand the interface.If you get stuck anywhere I am here to help

if you have problems getting some things to work, just open a support ticket. they respond pretty fast and don't chastise you for being a noob. or you could always ask around here. I have enough exp with asm and pics to help you thru most things. which eval board did you get the 16F887 of the 28 pin board? alo feel free to pm me if you can't find n answer.

I got this board:


Which has the 20pin 16F690 on it. I also ordered some 12F509s and some 12F629 as well, however they havent arrived yet. 

Thanks again!

I don't know if you got the lpc board as I recommended but here are links to the turorials I recommended.

for the 12f508/9  http://www.gooligum.com.au/tut_baseline.html

for the 16f690     http://www.gooligum.com.au/tut_midrange.html

If you went for the older 16f84 here is a tutorial for that


If you have questions while learning other than this forum there is the piclist you can subscribe to


I wouldn't recommend asking questions on the microchip forums it isn't too newb friendly and you'll most likely be referred to some page of faqs or tutorials. Actually the top 2 links are a couple that are constantly recommended in the microchip forums.

That book you got from the library. It comes with a cdrom originally. Which I suspect you wouldn't have received with the library copy?

But that wouldn't make any difference anyway. The book is still a dud. Any information you need on programming pics is out there on the net. For free!

I just subscibe to piclist, and I will certainly heed your warning not to asking questions...

Thanks again for the too gooligum links, the 16F690 came with my kit, but I also requested some 12F509s and 12F629 samples from microchip, they should be arriving soon. 

Your right about the book. There was no CD (as expected) and it sucks...a lot. Maybe if I understood some of it that might help....or maybe it's just bad, I don't know.

 Thanks for all the help!


The info and comments on this page may answer a few of your questions.