The definition of embedded system has broadened over the years. The initial definition said that an embedded system is anything that is application-specific, but, today, an embedded device like a mobile phone can do much more than just calling—it can play FM radio, click pictures and so on.
“Whatever be the additional feature, an embedded system will always be resource-constrained. The challenge to design with limited power, limited processing speed, limited memory and limited input/output (I/O) will always be there,” says Robert Oshana, director of software research and development, networking and multimedia group, Freescale Semiconductor.
Embedded engineers always need to optimise what they are doing, unlike desktop engineers who can push more memory or more processing speed. If we look around, there are many examples of pure embedded devices, and of larger systems built using multiple embedded sub-systems.
Here are some suggestions for those who aspire to become an embedded engineer and also for those who are already an embedded engineer.
Be an all-rounder
The embedded world is outside the desktop world, where pressing the ‘on’ button will not boot the system. An embedded engineer needs to be an all-rounder. “He has to know much more than just writing the code. He has to understand the hardware, how it interacts with the environment, how to use controls, sensors and actuators, and how to integrate all together,” says Oshana.
Today’s education system will teach you either hardware in electrical engineering or software in computer science. Even the computer engineering courses do not cover embedded systems completely. “Embedded engineers need a broader set of educational qualification. Cross-functional curriculum for the embedded discipline tailored to embedded career will be useful,” suggests Oshana.
Buy a development board
It’s said that if a kid can take a thing apart and then put it back together such that it still works, he will become an engineer. Gary Stringham, president, Gary Stringham & Associates, believes the same as he feels that engineering is a lot about self-learning through experimentation. He suggests, “You need to buy a development board and play with it. Program it, and get one LED to blink. Then program it to blink fast and slow. Learn how to connect it to your computer.
Get a piece of display hardware and interface it with this board. Try putting some smileys on it. Playing with electronics teaches you a lot. Doing actual stuff is very important.”
Lately, open source hardware has become very popular in the hobbyist community. Beagle board, Arduino and many such boards help you to create a new project altogether.
Choosing the right set of projects is very important. the project you choose should be influenced by the application domain in which you want to become an expert
“Open source concept helps to see how a piece of hardware works. It also helps to understand what happens if you change the code a little bit, how does your hardware function, or what happens if you change some hardware component. Playing with this, you learn and understand the functionality of a lot of things,” says Stringham.
Work on multiple projects
One thing that is really important is hands-on training. “You need to take up as many projects as possible to gain expertise in an area,” shares Oshana. Multiple projects will give you varied experience, increasing your analytical skills. However, choosing the right set of projects is very important. The project you choose should be influenced by the application domain in which you want to become an expert.
“If I see a list of projects like project in audio, project in power electronics, etc, I believe that the person has very little or no knowledge of one particular domain. It’s like jack of all and master of none. The projects need to be of similar nature or using similar components. If you become an expert in that, you certainly have the capability to pick up another domain and become expert in something else,” shares Stringham.
Oshana says, “It depends on the application area. When I try to place someone in the networking job, I look for varied projects. Instead of hiring an expert in just Cisco or in Sun, I would like to have someone who has exposure to most of the networking devices and protocols.”
Produce quality work
Embedded devices are being used in more and more safety-critical applications. “One of my friends who is an embedded engineer looked at the code written for an aeroplane and his immediate reaction was, “I do not want to fly on that airplane!” This was because the quality of code was very poor. We come across examples like pacemaker where even a minute mistake or bad-quality code may lead to death of the patient, just because the device took a few extra milliseconds to process,” shares Stringham.