Embedded technology is now in its prime and the wealth of knowledge available is mind blowing. However, most embedded systems engineers have a common complaint: there are no comprehensive resources available which deal with the various design and implementation issues of this technology. Intellectual property regulations of many corporations as well as the tendency to keep technical know-how within a restricted group of researchers are partly to blame for this.
The uses of embedded systems are virtually limitless, because every day new products employing embedded systems are introduced to the market. Generally speaking, an embedded system is a combination of hardware which is decorated with software dedicated to a particular task. Even a clock is a form of embedded systems. Nowadays, you can hardly see any electrical device without it.
Recently, hardware such as microprocessors, microcontrollers and FPGA chips have become much cheaper. These are all refined forms of embedded systems. So, when implementing a new form of control, it is wiser to just buy the generic chip and write your own custom software than producing a custom-made chip for a particular task; because the latter costs far more time and money. Many embedded computers even come with extensive libraries so that ‘writing your own software’ becomes a very trivial task.
It is possible for one small and relatively cheap microprocessor to replace dozens or even hundreds of hardware logic gates – the building blocks of microprocessors, timing circuits, input buﬀers and output drivers, etc. It is also no fantasy that one generic embedded system with a standard input and output configuration can be made to perform in a completely diﬀerent manner just by modifying the software.
If anyone wants to start working on embedded systems, here are a few recommendations. First step is learning the C language. Almost 80 percent of embedded work is done using C language. Learn basic concepts of C language and then you are ready to go for hardware. Second step is to choose hardware or rather a microcontroller. A microcontroller is just a combination of logical gates with some peripherals. If I define peripheral in one line, it will be ‘qualities or abilities of a microcontroller’. There are hundreds of boards. For the beginners, I would strongly recommend Arduino.
Arduino microcontroller has diﬀerent models. The most famous one is Arduino Uno R3. Arduino board is so simple and easy. Moreover, over 90 percent of projects include Arduino microcontrollers in it. If you are aware of C language, Arduino will be at your fingertips. Do not worry about the content. A lot of quality Arduino tutorials are available online.
The Arduino is open-source electronics prototyping platform composed of two major parts: the Arduino board (hardware) and the Arduino IDE (software). The Arduino IDE is used to write the program that will interact with your Arduino board and the devices connected to it. In the Arduino world, such a program is called a sketch, which has its origin in its mother language C.
To conclude, I would like to emphasize again that today not a single device can exist without embedded systems. Humanoid robots are being designed so that, by the end of 2030, all the work will be done by robots. This is due to the advancement in embedded systems and machine learning. Some robots are still under study, which have senses and can make a decision of their own. They emulate humans and this has only been possible, thanks to the beauty of embedded systems.
Mubeen Khalid is currently enrolled in electrical engineering at University of Engineering and Technology, Lahore. His areas of interest are embedded systems and artificial intelligence.