Possible Duplicate:
How to become an embedded software developer?

I'm third year undergraduate computer engineering I and I like embedded system I would like to be my specialize in engineering , but I found it a fast topic , so from your experience what is the best practice toward this target and what is the first step or books needed .thanks

  • \$\begingroup\$ It's a very broad question: embedded systems include a lot of things, from microcontrollers to power electronics to analog electronics to RF; you can put in everything, as long as there is a sort of CPU somewhere. \$\endgroup\$
    – clabacchio
    Apr 5 '12 at 10:38
  • \$\begingroup\$ electronics.stackexchange.com/questions/3343/… \$\endgroup\$ Apr 5 '12 at 10:44
  • 2
    \$\begingroup\$ Get a microcontroller, a breadboard, a few generic parts and do something. Start with blinking a LED and go up from there. \$\endgroup\$ Apr 5 '12 at 11:35
  • 4
    \$\begingroup\$ I disagree with the arduino approach. The OP is trying to learn, not get a specific project done. The arduino interface deliberately hides what is going on. Get a PIC 18F2520 or something and start experimenting. You'll learn a lot more using the microcontroller directly without the sugar coating for dummies that the arduino is all about. \$\endgroup\$ Apr 5 '12 at 12:57
  • 1
    \$\begingroup\$ @Olin - you may be right, I haven't used Arduino myself. Yet there are ready-to-use development boards for most types of controllers which allow you/force you to do everything at the lowest level. Arduino is probably not an example of this. \$\endgroup\$
    – stevenvh
    Apr 5 '12 at 13:34

The comments are very true and realistic. As an enthusiast electronics engineer, without going through electronics school(i did IT) I some how landed up in embedded electronics.

You can tell you it's a bit of a nightmare to start off with, but the rewards are amazing.

First of all

Determine which embedded platform you want to work in.

Micro .NET

I discovered this recently and am actually pretty pleased with Microsoft offering free C# Visual Studio for 32-bit MCU's. The netDuino looks pretty good. I have not had chance to try it but I use Visual Studio everyday and looking at the demo.. this beats any other (FREE, and many paid) IDE out there for embedded. I will try this next.


Atmel, well know for its Arduino amongst beginner electronic enthusiasts with its 8bit 16 MHz chips proves to be a simple way to do nice things with electronics. But the Arduino is very limited if you need to do some modern day things. Fortunately, there are inexpensive chips and dev kits using 32bits.

Also Atmel offers ARM Solutions, used in like smartphones, NAS drives.. some games consoles.

And not be left in the dust.. Also do 8051 Architecture.

Atmel has to be praised for being the best starting point for beginners because it offers thousands of proper examples with documentaion for all their platforms, with a "mature"(arguable by both sides) IDE called Atmel AVR Studio 5 (6 in beta as we speak) .. ALL FOR FREE!!! There is a massive community supporting Atmel and many other IDE's available with loads of hacks and tutorials all over the interweb!


Ther are ample MCU and SystemOnChip available out there. I have made several PCBs using Texas Instrument CC-2533 2.4 GHz SoC. It is an amazing power packed MCU+Zigbee all in one magical cheap as chips IC. One problem I ran into.. There is not free IDE used to compile firmware for it and the libraries are extremely difficult to understand. The best IDE for this and other 8051 chips is IAR Embedded Workbench - But it's not free (about 4000USD per annum for full blown environment) and the IDE is pretty crap.. but it works with almost all the 8051 out there, included vendor specific debuggers and programmers. If you learn this, which is by far the most popular.. you can make a very good living out of it!

Some vendors include. Atmel,Freescale, Maxim, National, Renesas, Samsung, STM, Texax


I have never had chance to write for ARM! But I, and all of us reading have used ARM in one way or another, be it a NAS drive, smartphone, or the ever so popular by demand Rapberry PI which runs a customised version of Fedora and also other amazing software like XBMC ARM, however has high level and low level developemnt; By nature, 1 developer will not do both as this can be extremely difficult and usually takes a team of people to get an end product.


Not sure yet.. I have not tried anything else yet.

  • 1
    \$\begingroup\$ I wouldn't recommend the 8051 for starters. It's a Damn Old Design, and chances are you'll outgrow it quickly. I'd rather go for AVR (e.g. Arduino) or ARM (e.g. mbed). 8051 is OK if you have legacy designs lying around. \$\endgroup\$
    – stevenvh
    Apr 5 '12 at 12:53
  • \$\begingroup\$ 8051 is the in deed one of the oldest and most mature architectures out there, built by Intel and prooven to work very well. I did not want to mention Arduino.. just because its very limited 8,16mhz processor that cant handle massive loads like big LCD's, Sound Processing, etc. But, the newer AVR are indeed something work looking at.. Ill add it now \$\endgroup\$
    – WillyWonka
    Apr 5 '12 at 13:23
  • 3
    \$\begingroup\$ People nowadays are so spoiled by high clock frequencies that they don't realize anymore that you often don't need them. The TRS-80 had an 1.77MHz(!) Z80, but managed to run a flight simulator (granted, with very low resolution graphics). \$\endgroup\$
    – stevenvh
    Apr 5 '12 at 13:30
  • 2
    \$\begingroup\$ @stevenvh - The Apollo Guidance Computer was only 2.048MHz and did more than simulate :) \$\endgroup\$
    – MikeJ-UK
    Apr 5 '12 at 13:54
  • 5
    \$\begingroup\$ @Mike - Sometimes a simulator has to do more than the real thing. I remember, when you touched-down a bit hard, you saw the horizon shake. You don't have to program that in the real thing! \$\endgroup\$
    – stevenvh
    Apr 5 '12 at 13:58

Not the answer you're looking for? Browse other questions tagged or ask your own question.