Microcontrolerul este un circuit integrat "inteligent". Utilizatorul lui isi transfera o parte din propria inteligenta, in memoria acestuia in procesul de programare a microcontrolerului.
microcontrolerul trebuie sa fie simplu, cu un numar mic de instructiuni care trebuiesc invatate, dar trebuie sa aiba resurse puternice pentru a asigura flexibilitatea programului si viteza necesara aplicatiei; odata ce incepatorul devine avansat el trebuie sa obtina rezultate spectaculoase pe acelasi tip de microcontroler si sa poata migra cu usurinta pe un microcontroler mai performant din aceeasi familie, fara sentimente dureroase generate de tranzitie ( lucru ce nu se intampla in viata noastra de zi cu zi).