MODULE -1 (Introduction)
Embedded Systems is simply the brain
of the most of the electronics based systems to access,
process, store and control the data. Few simple electronics
circuits can be intelligently hardware designed without
a microprocessor or microcontroller but is not worth the
economics except for simple passive operations. So it's
more or less must to put this so called silicon brain, which
we engineers call as microcontroller in all electronics
Embedded market is experiencing best of it's times and
double-digit market growth will continue for some more years.
It will continue to grow as long as semiconductor ICs are
used for data processing. This may be vague but to be precise,
your career growth is assured for another five years. This
is only a prediction/extrapolation based on the current
trends in the industry. Who knows what may come in future,
however next two years, it's going to be very hot and growing
field. That too for India, where engineers have extra edge
over other regions when it comes to programming will surely
lead in the growth. Though programming is a major task in
embedded systems. Programming knowledge alone won't help
much in getting into this world. The real challenge is in
understanding the electronics hardware and also other interface
hardware (Automobile engine, heart patient's ECG, to a motor
in a satellite).
Here in this free online course on embedded hardware and
software, our objective is to train in embedded systems
design to pass entry-level stage and prepare to deep dive
into complex embedded systems world, if you find it easy
We recommend the readers/attendees for this course should
be a holder of Bachelor of Engineering/Technology or Bachelor
of Sciences in Electronics or it's closely allied branches.
Otherwise if you are strong in theoretical parts of analog
circuits, digital circuits, and microprocessor can also
grasp this content easily. One thing is must; you should
love C programming.
What is Embedded System?
Being an electronic engineer, you might have seen PC desktop's
motherboard; it's an embedded system. It has microprocessor
(Pentium or Athlon), memory (DRAM DIMM module and onboard
SRAM) , I/O interface (keyboard, mouse etc..), Peripheral
communication interface (PCI, USB port, etc). This PC system's
architecture is designed for application such as net surfing,
excel, word, powerpoint, and you know the rest!!!. Say you
want to use same computer to monitor the engine of your
bike or car. Can you think of using big PC for that purpose?
It's so impractical. The i/p and o/p are totally different,
here comes customizing your own microprocessor/microcontroller,
memory, display, i/o and peripheral interface and also the
operating system. This field of designing application specific
computer systems is called embedded systems development.
If the response of the computer system need to be real time
and highly reliable then it's called Real Time Embedded
System. The real time means, say in a control system where
a speed of motor need to varied the moment some parameter
deflect from it's original value, then it's real time; no
waiting or hanging.
To define in a sentence, Embedded Systems is a special purpose
computer system/board, which encapsulates all the devices
such as processor, memory, interface and control in single
package or board to perform only a specific application
1: Sample block diagram of a typical embedded
Figure 2: PowerPC based embedded board.
most common examples are,
Automatic Teller Machine
The Digital Interfaced Gasoline
Airborne Flight Control System
Automotive Engine Health Monitoring
Home Security Systems
The list goes on
Wherever the microcontroller is used it's embedded computer.
leading applications of embedded market are,
Test and Measurement
This only is a list of popular applications. The embedded
is now getting into lot more interesting applications such
as RFID, Agriculture etc.. Each application need some domain
knowledge of it's interface hardware. Say the project is
to develop a coffee vending machine controller; the embedded
programmer/designer has to have knowledge on how the valves
dispensing hot water and milk operate and their technical
The user interface design is different for each application.
Some application may not need graphic interface at all but
some may need audio interface.
Embedded systems - Learning curve
Development for embedded systems is different from common
practices in many ways. For new developers in the embedded
systems world, there is a learning curve to understand where
conventional practices are no longer valid in this new environment.
To be an embedded systems developer, s/he need to know many
things about the hardware on which software will be executed.
Often embedded systems are connected to some sort of control
system (activating some switch, rotating a motor) and the
developer also needs knowledge of that system as well. If
the CPU and/or the operating system are different on the
target embedded platform, s/he have to do cross-platform
development, which has its own issues. There are different
testing techniques as well because most of the embedded
systems don't have a monitor screen where error messages
or test results can be displayed.
All of these issues make embedded systems development much
more complicated than writing a program on a UNIX machine
(or a windows PC) and then executing it.
Click on the link below to enter Module-2 and other modules
Module 2: Microprocessor, Microcontroller,
MCU Manufacturers, introduction to programming
The other modules below are put in three streams based
on the hardware boards used in the course, you read more
on that in module-2 (above link).
ABOUT THIS COURSE:
Totally EEHerald plan to bring 20+ modules. You can
be assured of completing basic course in Embedded Systems
after studying and practicing exercises in all the modules.
We will give priority to programming and serial communications
(SPI, USB, CAN etc..), and also building projects.
This free tutorials on embedded systems is prepared
by embedded professionals with fairly good industrial experience,
however we want your feedback on this course content; please
email your questions, suggestions and comments to firstname.lastname@example.org.
Your questions on present modules will be answered in the
revised modules. We may change the course content based
on the majority of your requests and feedbacks.
Please let your friends know about this course, we request
you to email this link to your friends and colleagues who
are interested in embedded system.