Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Embedded systems

  1. Oct 1, 2011 #1
    Please tell me how to become a successful embedded systems engineer. What books should I study...? I have a Bachelors degree in Electronics and communication. I have seen many job posts and requirements in it are huge. How can I achieve all those skills? Help!
  2. jcsd
  3. Oct 6, 2011 #2
    If you already have some electronics experience but have never doing microprocessor level programming it's best to learn by doing. Get an Arduino board and start making things with it.
  4. Oct 6, 2011 #3

    jim hardy

    User Avatar
    Science Advisor
    Gold Member

    second that advice.

    Embedded Basic will get you up and running in a hurry

    something like Micromint's Domino is easy to use and might be a starting platform to learn I/O before you move into machine language.
    I used them for one-of-a-kind-need-it-yesterday projects, the few extra bucks for the Basic saved days of programming.

    old jim
  5. Oct 8, 2011 #4
    Assuming you mean more than just designing firmware, you really need to design/build the full supporting circuit so simply buying Arduino or other development boards may not be the best way to go.

    Since there are several different players that can vary greatly in the micro field and a given company will typically only design with one or two platforms, I would suggest you pick two of the largest and go from there. Microchip and Atmel are probably good places to start.

    To successfully become an embedded systems engineer, you need to understand hardware requirements, firmware requirements, as well as have a solid understanding of EMI.
  6. Oct 8, 2011 #5
    Learning Embedded system is very easy, just download the data sheet and study it. You get the instruction set, the pin out, the timing requirement. Everything is in there.

    This kind of thing, you learn one, you learn all. In my days, I learned the 8085 8 bit processor, since I design the mother board for 68000, HC11 and an Analog Decvices with 8051 core and both contain ADC and DAC and RAM and all. You learn one, you know how to design all. You survive EM class, this is cake walk.
  7. Oct 10, 2011 #6
    I don't know that I would agree with this.

    While there certainly are a lot of aspects that carry over from one to the other, I believe that there is a lot more to creating production grade designs for mass than simply a cookie-cutter approach to embedded systems.

    Different embedded systems have their own set of challenges for implementation. Different cores have different instruction sets to learn, different addressing requirements, different IO requirements, and different input capacitances/inductances that can be a challenge for agency approval. (Think of how parasitic capacitances/inductances react as clock frequencies change)

    Not to mention different development tools have their own nuances. Tools like C compilers can greatly impact a project (a weaker compiler may require more program memory, thus more cost in the projects).

    In addition, firmware aspects can alter hardware requirements and layout requirements and vice-verse. Perfect examples of this would be in implementing capacitive sensing or implementing motor control.

    Without a solid understanding of all of these areas, you cannot become a successful embedded engineer IMO.

    Many of these details you cannot get just by simply reading datasheets.
    To learn much of this, there is no substitute for practice and experience.
  8. Apr 6, 2013 #7
    Can a Embedded System be programmed using C# or more specifically C#.NET FRAMEWORK?
    I am thinking about using C#.NET FRAMEWORK to create a user-interface and use/call C or C++ DLL in C#.NET program to make the EMBEDDED SYSTEM work. That's it.

    1. Web application
    2. User-Interface - Display simple buttons, text-boxes on a web browser and ability to connect to database (SQL SERVER).

    Project: Radio Frequency Controlled Robot with Video/Audio Transmission and Metal Detection
    I will create device drivers using C/C++ as DLL and I am thinking about calling DLLs in C#.NET program.

    keywords: C C++ .NET DLLs Embedded Systems

    Any ideas are welcome. I specifically want to work with .NET technology in this project.
    Last edited: Apr 6, 2013
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook