Why choose a career in Embedded Systems?
Many of the intelligent devices are surrounding us and are increasing rapidly.
Can you imagine a single person without a smartphone and a computing device without a processor/controller? Today, most of the devices are connecting and talking to each other often referred as ubiquitous computing.
There was a huge demand for professionals, expertise in Firmware (programming the hardware) and open source technologies like Linux. Also, most of the industries prefer candidates having knowledge in multiple domains.
However, there is a shortage of talented engineers unaware of the opportunities in embedded domain moving towards IT-based MNC’s and missing a demanding career in embedded systems.
“ The future depends on what you do today “ – Mahatma Gandhi
Challenges for a Fresher
Many of the job aspirants notably fresher passing out from the college thought it was hard to get into core industry. There are some misconceptions behind this.
They thought industries hire people from IIT’s, NIT and some well-reputed colleges. Secondly, there was not enough practical knowledge in the academics. However, I will not agree with this.
Why, because, 80% of the Industry professionals working in the core industry is not coming from reputed universities. Most of the people working in IT domain are also migrating to the embedded domain for better career prospects.
Qualifications required for getting a Job
Eligibility to get into the firmware area is – you must have
- Completed bachelor’s degree (B. Tech or B.E) in Computer Science/Electronics and Communication/Electrical Engineering or
- Completed Masters Degree (M. Tech/M.Sc) in Electronics and Communication/Electrical/Computer.
Services Offered by Embedded Engineers
Embedded Development is a vast field, and hence it is categorized into various domains for optimal performance.
#Embedded Hardware Engineering
This area designs hardware products across various industries like Healthcare, Consumer Electronics, AeroSpace and Defense, Automotive, Power Electronics, and Solar Energy.
#Embedded Application Development
This domain develops navigation subsystems, multimedia, mobile and wireless communication applications on various cross platforms like Windows, Apple, Blackberry, and Android.
#Embedded Software Engineering
Software development is the critical domain among all. Services offered by this area are Board support package (BSP), Firmware development, Device driver development, Porting of native Operating system Linux, Windows to another device like Android, Blackberry.
Moreover, Middleware feature development for WiFi, Bluetooth and peripheral integration of various devices.
#Modeling and Simulation
Before building the embedded product it is important to ensure that procurement cost does not go higher. To maintain this model-based design has to be implemented using modelling and simulation tools.
This feature helps to develop quality products at low cost.
#Verification and Validation
An end to end life cycle tests is implemented using standards such as CMM, Six Sigma, EMI and EMC for the proper working of hardware and software. These methodologies check the defects of faulty embedded systems.
Multiple Options in the Multicore World
There are many areas related to embedded systems. You can choose any of the industry as a career depending on your interest and skill sets.
Some of the industries are consumer electronics, Telecommunications, Automotive, Aerospace and Defense, Industrial Electronics, Robotics.
# Hardware designer
Embedded Hardware Engineering is one of the central parts of product development.
It includes design and development of PCB (Printed Circuit Board) as well as FPGA Hardware.
If you are a new to an embedded industry, you can start your career as a PCB designer.
What is the Job Role of PCB designer
- Understand the specifications
- Select the components and draw the schematics using PCB design software.
Schematic entry is the interconnection of various components and devices.
- Design PCB Layout (Placement and Routing).
Places all the footprints (Physical symbols) onto the workspace. Workspace portrays the real dimensions of the board.
- Generate Gerber files for the layout design.
In addition to the above, the designer has to test and document the product.
Skills required for an Embedded Hardware Engineer
- High-speed board design of Microcontroller or Processor and peripheral devices like SPI, I ²C, USB,
- Power supply design.
- Knowledge on various instruments like Oscilloscope, Function Generator, Logic Analyzer, Multimeter.
To become a PCB designer you have to know one of the Electronic design automation tools.
6 Favorite PCB design Tools used in the Industry
Eagle –Easily applicable graphical layout editor is one of the most widely used PCB design software used by professionals and hobbyists. It runs on Windows and Linux Operating system.
It has three editors. Schematic Editor, Layout Editor, and Autorouter.
Schematic editor – For drawing interconnections between electronic components.
Layout editor – For placing all the parts interconnected in the workspace as footprints.
Auto router – Keeps your layout design in the best possible shape and order.
Diptrace is another free EDA (Electronic design automation) tool used by beginners. Diptrace tool uses five steps to design a PCB. Schematic entry, Routing, Generating files for manufacturing (Gerber files), Making the footprints and components.
EasyEDA is a free cross-platform online PCB design tool. You can simulate the electronic circuits, and design your PCB on any platform like Windows, Linux, Android, and Mac OS.
It is well suited for beginners, Professionals, and hobbyists.
CadSTAR is a free desktop based PCB design software used by professionals.The software is well suited for high-speed board design of microprocessor/microcontroller. The user can create a simple design to complex multilayer PCBs.
The software checks the signal integrity, Power integrity, EMC analysis and DRC (Design rule check) errors.
If you are starting to learn PCB design, you can use free software edition cadSTAR express.
Kicad is also a cross-platform and open source EDA tool. The design suite offers schematic capture, PCB layout with Gerber file generation.
Orcad design suite delivers high advanced capabilities and design flow. Today Most of the experienced professionals are using orcad for efficient PCB design.
You can start with one of the six tools depending upon your experience and ease of comfort.
“Certain things catch your eyes, but pursue only those that capture your heart.” by Michael Nolan
To start a career as ASIC designer, you must be proficient in digital electronics and Analog Electronics. The engineer must have knowledge of programming languages like Verilog, VHDL, ASIC design workflow, UVM. Knowledge in Perl scripting is an advantage for ASIC Verification Engineer.
# Board Support Package Engineer
If you are a professional working on embedded application development Moreover, also having knowledge of Assembly programming and hardware architecture you can choose BSP ( Board support package) development. Board support package developer develops the software for all the hardware devices on the board along with bootloader that supports minimal device to load kernel image. The functions performed by BSP engineer are initializing all the CPU clock,
Onboard Controllers like Interrupts, I2c, UART, SPI, and Ram Segments. The developer needs to have knowledge on embedded C, Assembly programming, Moreover, RTOS or Linux kernel programming.
# Device Driver developer
This role is somewhat nearer to BSP but not equal. BSP makes your embedded hardware to boot and drivers are a part of BSP. In short, the difference between BSP and device drivers is Device driver is an interface between your real hardware and kernel i.e. Operating System, whereas BSP, brings up all the equipment to life so that you can run applications.
You can choose either Windows or Linux platform for device drivers, as they are lucrative jobs in the current industry.
Future Scope of Technologies in Embedded Industry
According to the survey conducting by Forbes, five technologies generate inexhaustible jobs in India and other developed countries.
#1 IoT – Internet of Things
What is IoT (Internet of things) – The dream of every technologist and enthusiast.
My definition of IoT is the way of independent physical objects around us connects and communicate with each other in a smart and secure form to enhance the lives of people.
What is the need of IoT?
Today, most of the physical objects are smart. Every smart device has many inbuilt sensors collecting the data. This data is analyzed and stored in the cloud.
For example, a person’s health condition can be monitored remotely by a doctor and supervise him.
#2 Wearable Technology
Wearable technology is also in demand today. Some of the wearable computing devices are smartwatches from Apple and Samsung, Fitness trackers from (Fitbit, Nike) and Googles from Google.
Wearables can keep track of your health, diet, fitness using the sensors like GPS, Accelerometer, and Gyroscope on your smartphone. Your wearable device sends the information collected to the smartphone via Bluetooth or wifi.
#3 Self-driving Cars
Do you imagine a car without a driver? The autonomous driving technology is coming in the future. As per the reports from top technologists, there would be around 10 million self-driving cars in action by 2020.
The self-driving cars use advanced sensors for monitoring, mapping, and obstacle avoidance. The sensor employed in self-driving cars is LIDAR (Laser Illuminating Detection and Ranging ).
#4 Energy Systems
Electricity is one of the common problems for the industries as well as people. To make the best use of natural sources, Sun is the divine source of the universe. We can generate electricity using the sun as the renewable energy source.
By combining photovoltaic cells into solar panels, we can convert solar energy into electricity. We can also use wind power to turn the captured wind into electricity using generators.
If you are a technology enthusiast eager to work on embedded systems, here are my five tips to begin your journey.
5 Tips for Fresher to make a Successful Career
Direct Link to Infographic: Embedded Systems Engineer Infographic
7 Skills to start your career as Embedded Software Developer
To start your career in embedded domain, you need to have the following skills.
- Knowledge in Digital Electronics and Analog electronics.
- Good understanding of Microprocessor/Microcontroller architecture.
- Working on Embedded C for Target devices like 8051, ARM or any other.
- Knowledge of Linux kernel internals and Operating system.
- Any Scripting language Shell/Python.
- Debugging tools like JTAG debugger, Gdb, Valgrind. Familiar with Test instruments like CRO and Logic Analyzer.
- Familiar with protocols like I2c, SPI, and UART.
Top Companies Hiring around the Globe
Some of the top companies hiring in India are:
- Robert Bosch
- Tata Elxsi and much more.
Here the list of some companies:
If you are a fresher go for a start up company so that you can get a chance to work on multiple technologies. After getting enough experience, you can move to MNCs.
If you are experienced professional already working on Microcontroller/Microprocessor move towards open source technology platform Linux.
Also Read: Introduction to Embedded Systems