"An embedded system is a computer system designed for specific control functions within a larger system, often with real-time computing constraints." Michael Barr. "Embedded Systems Glossary". Neutrino Technical Library. Retrieved 2007-04-21, copied from Wikipedia.

Questions that discuss embedded systems include those that related to development of microprocessor systems with electronics that are tailored to the design at the board or module level.

What questions should have this tag?

Device level interfaces for I2C, SPI, RS232, Timers, USB may also be prime candidates for this tab. Interrupt service routines, resident monitors, flash or RAM resident vector tables, and real-time kernels are also software artifacts that fall under this category.

Important links for learning more about embedded systems could include:

Stack Exchange and Blogs

Amazingly enough, Stack Exchange does not have its own Q & A site for Embedded systems. One was proposed about two years ago, but it is still in the commitment phase, languishing without enough people signing up to support it. If you want to make a difference, go here:


Read the proposal and if you agree, click commit to get involved.

Linked In also has an Embedded Systems group, plus a couple closely related groups that may be of interest:

Embedded Systems



Web Resources

EETimes has features about embedded systems.


Dr. Dobbs is a long time friend to programmers of all types and has great stuff on embedded.


The Arduino community is large, enthusiastic, and has removed many barriers to entry for embedded programming including price and prior training.


If you are a female software developer or an unenlightened male developer who thinks embedded systems is mainly a "Good-Old-Boys" club, check out this site. The author is an MIT graduate, had done edgy, out of the box (or sometimes in the box stuff, like her Altoids-box iPhone charger), and seems to be very prolific in her designing, writing, and video blogging.



Many vendors will have extensive collections of data sheets, application notes, white papers, and free or evaluation copies of development tools. Top companies in this space include ARM, Atmel, Freescale, intel, Microchip Technologies, NXP (formerly Phillips), TI, and many others.


Not sure if you can find it, but I have a book I think tells a lot of the story for embedded systems in terms to tools (assemblers, linkers, loaders) and fundamental things that happen in microprocessors (interrupts, I/O, simple task managers and schedulers, simple file structures). Systems Programming for Small Computers, Daniel Marcellus.

A more modern reference is Embedded Linux Primer. Early chapters discuss the rationale behind running Linux on embedded systems and some of the mechanics involved. Chapter 3 has a nice discussion of processors + support chipsets and SOC (System On a Chip) options that can be considered for use in current designs. Actually, the target is moving, so it gives a starting point that is contemporary with the publication of the book. Chapter 3 is great, but should be supplemented with some further research on the web and in discussion with vendors. Typically, the electrical engineer and lead software engineers on the project will pick the processor, so if you are in a company and learning embedded systems, do your deep dive on the hardware they pick.

Later chapters include extensive descriptions about many practical aspects of targeting Linux to hardware, but partnership with the vendor and use of a pretty standard reference design might reduce the effort significantly.

history | excerpt history