Become an Embedded Systems Engineer - Tips & Books for Success

Click For Summary

Discussion Overview

The discussion focuses on how to become a successful embedded systems engineer, including recommendations for learning resources, practical approaches, and the necessary skills. Participants share their experiences and suggest various tools and platforms relevant to embedded systems development.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested
  • Homework-related

Main Points Raised

  • One participant suggests starting with an Arduino board for hands-on learning in microprocessor programming.
  • Another participant recommends using Embedded Basic and mentions Micromint's Domino as a user-friendly platform for learning I/O before advancing to machine language.
  • It is proposed that aspiring engineers should understand both hardware and firmware requirements, as well as electromagnetic interference (EMI) considerations.
  • One participant claims that learning embedded systems is straightforward by studying datasheets, asserting that knowledge of one system translates to others.
  • Another participant challenges the idea that learning embedded systems is easy, arguing that production-grade designs involve complexities that go beyond simply reading datasheets, including different instruction sets and development tools.
  • A question is raised about the feasibility of using C# or C#.NET Framework for programming embedded systems, specifically in the context of a project involving a radio frequency-controlled robot.
  • The project description includes creating a user interface and device drivers using C/C++ DLLs called from a C#.NET program.

Areas of Agreement / Disagreement

Participants express differing views on the ease of learning embedded systems and the adequacy of studying datasheets alone. There is no consensus on the best approach to becoming an embedded systems engineer, as various perspectives on necessary skills and tools are presented.

Contextual Notes

Some participants note that different embedded systems present unique challenges, and that practical experience is essential for mastering the field. The discussion highlights the importance of understanding the nuances of various development tools and hardware requirements.

Who May Find This Useful

Individuals interested in pursuing a career in embedded systems engineering, those seeking practical advice on learning resources, and participants involved in related projects may find this discussion beneficial.

pairofstrings
Messages
411
Reaction score
7
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!
 
Engineering news on Phys.org
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.
 
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
 
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.
 
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.
 
yungman said:
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.

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.
 
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.

Requirement:
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
https://www.physicsforums.com/showthread.php?t=673567

Any ideas are welcome. I specifically want to work with .NET technology in this project.
 
Last edited:

Similar threads

Replies
2
Views
2K
Replies
4
Views
5K
Replies
10
Views
5K
  • · Replies 14 ·
Replies
14
Views
3K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K
Replies
1
Views
1K
Replies
9
Views
3K
  • · Replies 12 ·
Replies
12
Views
3K
Replies
4
Views
3K