Hello Inventors! Welcome back to the Embedded101 course.
In the last lesson we learned about Embedded Software which is considered to be “The Brain of Embedded Systems“, and in this lesson, we will learn about “Embedded Hardware” which can be thought of as “The Body of Embedded Systems“
This lesson will focus on answering the following questions
- What are the main hardware parts of an embedded system? and
- What skills do we need to develop embedded hardware?
As usual, for the visual learners among you, here is the lesson in the form of a video.
Alright, let’s begin the lesson by taking a look at the main parts of Embedded Hardware
Building Blocks of Embedded Hardware
An Embedded system typically consists of the following parts
- Microcontroller: that can be thought of as “The heart of embedded hardware“
- Input devices: that can be thought of as “The eyes and ears“
- Output devices: that can be thought of as “The arms and legs“
- PCB: that can be thought of as “The body“
Electrical and Electronic components: can be considered as everything else!
We will see each of these parts with some analogies so that you can understand everything better!
Let us start with the 1st part, the Microcontroller!
Microcontroller: The Heart of Embedded Systems
Microcontrollers are considered to be the heart of the embedded system. They contain
- the RAM: to hold variables and constants
- Flash: to hold your code
- the processor cores: to execute the code
Since this is such an important component, we have an entire lesson coming up in this course on microcontrollers, we will learn more when the time comes!
Let us next have a look at the input devices.
Input devices can be broadly classified into two types
- The Sensors and
- Everything Else!!
Sensors can be considered as the eyes and ears of an embedded system.
Sensors “senses” various signals in the environment and gives that information as input to our embedded system.
The following are some examples of sensors
- temperature sensor
- pressure sensor
- light sensor
- ultrasonic sensor
- humidity sensor
- magnetometer or compass, etc
The presence of a given sensor in an embedded system is highly dependent on the application, since the hardware is custom–built for the given application there is no use having sensors that we don’t need!
Everything Else a.k.a the “Non-Sensor Inputs”
Sensors are not the only input to the embedded system as inputs can also come from the end-user.
For example, a “button-press” event is also technically an input, and data coming in through antennas or through wired means from external devices can also be considered as inputs!
Coming back to our analogy of comparing humans to embedded systems, our skins can be considered analogous to buttons!
Next, let us look at some output devices!
Actuators can be considered as the “arms and legs” of an embedded system.
Actuators take instructions from the software and transform them into movement.
For example, a motor can rotate forward or backward depending on the instructions given to it by us via software, which in turn will make the embedded system move forward or backward in the environment.
Actuators are largely found in industrial, robotics, and automotive applications.
Another example of output devices can be the speakers, through which you can play some sound when needed!
So I guess we can call them the voice of embedded systems!
Unlike humans, our embedded devices are also capable of producing lights in the form of
- LCD screens and
- LED lights
Next, let us have a look at the electrical and electronic components that come as a part of embedded systems.
Electrical and Electronic components
Connections between the microcontroller, sensors, and actuators can require some passive components like resistors, capacitors, and inductors.
You will also see some active electronic components like transistors and diodes in a typical embedded system. All these components will look alike from a distance as shown in the right half of the picture below. These small black rectangular parts are also known as Surface-Mount components.
The next item on our list is the Printed Circuit Board, a.k.a the PCB.
Printed Circuit Boards
Printed Circuit Boards can be considered as the body which connects all the above-mentioned components together.
Simple PCBs are usually very easy to design, you should be able to get started with just 10 to 20 hours of training and then you can start producing your own PCBs!
PCB design is beyond the scope of this course, but we will probably make an introductory course on PCB design in the future if we get enough demand from our users and once we reach 100K subscribers on our YouTube channel!
Some say PCB design is an art! There are specialists that design high-performance PCB boards with multiple layers to achieve smaller sizes at the same time keeping the product functionality intact.
There are lots of external factors that can affect the performance of PCBs like temperature, Electromagnetic Interference, etc. The job of PCB designers is to find solutions to these problems and design PCBs that give high performance.
Now that we have seen the building blocks of Embedded Hardware, the next obvious question is “What are the skills we need to develop Embedded Hardware?”
Skills Needed to Develop Embedded Hardware
An Embedded Hardware Engineer must have good knowledge about
- Fundamentals in Electronics
- Reading datasheets and Schematics
- Circuit design and analysis
- Microcontroller architectures
- Circuit debugging
- PCB designing
- Electrical engineering
- J-TAG for production and testing
- use of tools like Multimeters, Spectroscopes, Oscilloscopes and
- Soldering skills
These are just the basics, depending on the product being designed other skills like radio engineering can also be needed.
For beginners and hobbyists we don’t need to learn everything in the above list before we can start our journey, we can always use development boards to build our projects, which will be the topic for the next couple of lessons!
If you wish to take up embedded engineering as your career, you need to make a choice between hardware and software. Then focus on one of those and develop your career in that!
If you are looking for some good books to get started learning about the hardware side of embedded systems, I recommend taking a look at our recommended study materials.
With that, I will end this lesson. I hope you got a good overview of Embedded Hardware!
Feel free to share this course with your friends and colleagues!
Keep inventing and keep exploring!
I will see you in the next lesson!