Engineering Projects
Hello friends, I hope you are fine and doing great in your lives. Today, I am not going to write an article or a tutorial, rather I am going to tell you about different engineering projects that I have worked on. If I am talking about engineering projects then it means a variety of different kind of projects. These projects may include microcontroller based projects with Arduino, 8051 or pic, 555 timer based projects, Matlab projects, LabVIEW projects, Proteus projects and a lot more.
In this article, I am going to share some of the very interesting projects from my list. If you are an engineering student or someone who loves to work on engineering projects, then you can definitely start from here. The first ones that I am discussing with you are Arduino projects.
Arduino Based Engineering Projects
The most commonly used microcontroller is Arduino. It is widely used in embedded systems and also in classrooms for teaching purposes. The main features of Arduino are:
- Digital input and output pins
- Analog pins
- PWM pins
- ICSP connector
- Quartz crystal
- USB connection
- Reset button
- Open source software
- Build in voltage regulation
- Easy to use
- Cheap
I have posted a lot of stuff on Arduino. You can find tutorials on how to use Arduino, Arduino basics, libraries and all my projects here Arduino Projects. Now let’s get started with Arduino based engineering projects. The first one is for displaying atmospheric temperature on LCD.
1. How to use Temperature Sensor 18B20 with Arduino in Proteus ISIS?
- Using temperature sensor with microcontroller is a very popular project with engineering students.
- A variety of temperature sensors are available that you can interface with microcontroller for monitoring temperature.
- I have used sensor 18B20 with Arduino which is most commonly used sensor and gives accurate value. It is very efficient and easy to use as it has only one wire.
- I have interfaced this sensor with microcontroller and displayed the result that is atmospheric temperature on an LCD.
- You can find the tutorial for this project here How to use Temperature Sensor 18B20 with Arduino in Proteus ISIS? The libraries that you will need for this project are listed here which you can download also. I have provided all of the details about components, code for your microcontroller and simulation in this tutorial.
2. Interfacing of Seven Segment with Arduino in Proteus
- The second project is interfacing of seven segment display. This project is also very helpful for you as seven segment display can be used with different engineering projects. For example in clocks, counters, stop watches etc.
- In this project, I have interfaced seven segment display with Arduino to show different characters. The whole project is simulated on Proteus.
- For the project you need to have Arduino library and seven segment display library which you can download from our website. This tutorial can be found here Interfacing of Seven Segment With Arduino in Proteus.
3. Arduino Bluetooth communication using HC-05
- Bluetooth communication is very interesting thig to do which covers this project.
- In this project, I have used Arduino to communicate data to mobile phone.
- The Bluetooth module used in this project is HC-05 which is a serial module.
- You can find the complete description of this project here Arduino Bluetooth communication using HC-05.
- I have also provided the details of all components and code for your project.
4. Intelligent Energy Saving System
- From the name you must have guessed that this project is going to help you in reducing the energy consumption.
- The project is designed for a room but can be extended to house. Also this project is a part of home automation system.
- IR sensors are used for detecting presence of person in room, and a bulb and a fan are considered as a load that are being monitored by this system.
- For getting display, an LCD is also attached.
- You can find this project here Intelligent Energy Saving System. All the component details, circuit diagrams and code are given there.
5. Traffic Signal Control Project Using Arduino
- Controlling traffic signals is a very popular project among students. It’s a god project for beginners, so I am adding it up here.
- This projects involves controlling lights at fixed time intervals.
- You can find further details and code on this project in the following link Traffic Signal Control Project Using Arduino.
6. Control Servo Motor with Arduino in Proteus
- If you are working on robotics, then you must need to control servo motors. Other than robotics, servo motors have wide applications where you need precise angular motion.
- In this project, I have controlled a servo motor using Arduino and simulated it on Proteus.
- Also, I have added push buttons so that we can move servo motor to some desired position.
- You can find the project here Control Servo Motor with Arduino in Proteus. This very simple and easy project but very useful for adding in other projects.
7. EasyVR Shield with Arduino
PIC Microcontroller based Engineering Projects
Pic microcontroller is also used widely for engineering projects. It is a microcontroller family from Microchip Technology. Just like other microcontrollers it has RAM, ROM, counters, timers, ADC and DAC converters etc. Some of the characteristic features of this microcontroller are:
- Uses Harvard architecture
- Ease of programming
- Easy interfacing
- Supports RISC
- Low power consumption
- Wide availability
- Fast processing
If you want the complete list of our pic microcontroller projects along with all the tutorials on basics than you can follow this article PIC Microcontroller Projects. Now I am going to share some of the projects here.
1. Electronic Door Lock using PIC Microcontroller
- This is a project in which I have designed an electronic door lock. This project can be a module of home automation system or home security system.
- The project can be installed on the main gate of the house. Anybody who wants to come in has to enter a password. If someone tries to enter the house using a wrong password then a buzzer gets on and aware the family members.
- Pic18f452 is used in this project. I have used solenoid for locking purpose, a serial terminal for communication medium and EEPROM for saving password.
- The complete details, code and simulation can be found here Electronic Door Lock using PIC Microcontroller.
2. Display ADC value on LCD using PIC Microcontroller
- In this project, I have displayed the values from Analog to Digital Converter (ADC) of pic microcontroller to an LCD.
- LCDs are used in a variety of engineering projects so this project could be very helpful to you.
- To get analog values for ADC, I have used current transformer and a potential transformer.
- The values from ADC are 10 bit so after converting them to 8 bit, I have displayed them on LCD.
- You can find complete project here Display ADC value on LCD using PIC Microcontroller.
3. Password Protection using PIC Microcontroller
- Password Protection is again a very useful project which can be employed in different projects.
- In this project, I have used an LCD and a keypad.
- Proteus is used for simulation while pic is microcontroller.
- In this system, I have driven a motor, if the user provides correct password.
- If the user provides wrong password, then he gets another chance to enter password.
- The simulation and code can be downloaded from the tutorial. Complete project is provided here Password Protection using PIC Microcontroller.
555 Timer based Engineering Projects
555 timer is an integrated chip used in timer and oscillator applications. It is also used for generating pulses. This IC founds applications in creating time delays. You can find basics of 555 timer here What is 555 Timer? I have written tutorials on 555 timer including different projects which you can access here 555 Timer projects. I am going to mention some of them in this article.
1. Sequential LED Flashing Project with 555 Timer
- This is basic project in which I have made LEDs blink in a manner, such as ascending order or descending order.
- Using the same technique you can create patterns of your own choice.
- In this project I have used a shift register 4017. This 4017 is Serial In parallel out register.
- The clock pulse needed by shift register is provided by 555 timer.
- I have provided all the details of the work here Sequential LED Flashing Project with 555 Timer.
2. Relay Control with 555 Timer
- Relay control using 555 timer is an advanced level project. I have simulated it on Proteus ISIS.
- Relays are used for automatic switching operations. In this project I have used a mechanical switch to control relay.
- You can watch a short video of the simulation in this tutorial. The link to follow is Relay Control with 555 Timer.
3. Capacitive Touch Sensor with 555 Timer
- In this tutorial I have discussed how you can use a capacitive touch sensor with 555 timer.
- Capacitive touch sensing technology is used in capacitive coupling. Other applications include mobile phones, audio players, tablet computers etc.
- Other than capacitive touch sensor, I have used an NPN transistor and an LED with 555 Timer.
MATLAB Projects
Now I am going to tell you about the projects I have made on Matlab. Matlab is very important tool for engineers which is very easy to learn. It is basically used for solving complex mathematics problems. You can work with matrices in this software. Other than that, you can use this software for simulation purposes. I am mentioning some of the projects here but you can find all of them following MATLAB Projects.
1. Speech Recognition using Correlation
- Speech recognition is used in a lot of different projects. These projects can be security systems or automation projects.
- In this project, I have used technique of cross correlation for speech recognition in Matlab.
- The main idea is to find similarity between the signal stored in our database and the testing signal by comparing the two.
- I have used nine audio files in this project. You can download these files and code from here Speech Recognition using Correlation.
2. Analysis of Sinusoidal PWM of AC Signal
- This project is a Simulink based project. Simulink is the simulation tool in Matlab.
- In this tutorial, I have shared the analysis if Sinusoidal Pulse Width Modulation of AC signals.
- I have added all the details of this project and explained every bit of code in this tutorial. You can find this project here Analysis of Sinusoidal PWM of AC Signal.
3. Detect Circles in Images Using MATLAB
- Matlab is very useful software when it comes to image processing. You can do all type of image processing on Matlab.
- This is a very basic project and quite easy one in which I have detected circles in an image.
- I have used an image for the said purpose and then applied imfindcircles command to it.
- I have posted the code and rest of the working here Detect Circles in Images Using MATLAB.
So these were some of the projects that could be very helpful for you. Moreover you can take a look on my PLC related projects here PLC Projects. Also if you are working on LabVIEW then you must take a look on my tutorial on LabView projects. I hope you will enjoy reading these articles and will them a try.
Embedded Systems Software Development Tools
Hi Friends, I hope you are fine. I have another topic on embedded systems that I am going to share with you. Today, I am gonna tell you about Embedded Systems Software Development Tools. I have already told you about the hardware tools you need for developing embedded systems. You can find them in this article 6 necessary embedded tools.
If you are new to Embedded Systems then you should first have a look at What is Embedded Systems? and then you must read What is Embedded Computer because these two tutorials will give a detailed overview of Embedded Systems. Moreover, if you are interested in Learning Embedded System Programming then today's tutorial will help you in choosing the right tools among Embedded Systems Software Development Tools. I have also shared Examples of embedded systems which will also help you in getting an idea why Embedded system is so important. Before I tell you the details of these Embedded Systems Software Development Tools, let’s first take a look on what is meant by embedded software.
Embedded Software
Embedded Software is the software that controls an embedded system. All embedded systems need some software for their functioning. Embedded software or program is loaded in the microcontroller which then takes care of all the operations that are running. For developing this software, a number of different tools are needed which I will discuss further. These tools include editor, compiler, assembler and debugger. Let’s have a look at them.
1. Editor
- The first tool you need for Embedded Systems Software Development Tools is a text editor.
- This is where you write the code for your embedded system.
- The code is written in some programming language. The most commonly used language is C or C++.
- The code written in the editor is also referred to as source code.
2. Compiler
- The second among Embedded Systems Software Development Tools is a compiler.
- A compiler is used when you are done with the editing part and made a source code.
- The function of compiler is to convert the source code into object code.
- Object code is understandable by computers as it is a low level programming language.
- So we can say that a compiler is used to convert a high level language code into low level programming language.
3. Assembler
- The third and an important one among Embedded Systems Software Development Tools is an assembler.
- The function of an assembler is to convert a code written in assembly language into machine language.
- All the mnemonics and data is converted in to op codes and bits by an assembler.
- We all know that our computer understands binary and it works on 0 or 1, so it is important to convert the code into machine language.
- That was the basic function of an assembler, now I am going to tell you about a debugger.
4. Debugger
- As the name suggests, a debugger is a tool used to debug your code.
- It is important to test whether the code you have written is free from errors or not. So, a debugger is used for this testing.
- Debugger goes through the whole code and tests it for errors and bugs.
- It tests your code for different types of errors for example a run time error or a syntax error and notifies you wherever it occurs.
- The line number or location of error is shown by debugger so you can go ahead and rectify it.
- So from the function, you can see how important tool a debugger is in the list of Embedded Systems Software Development Tools.
5. Linker
- The next one in basic Embedded Systems Software Development Tools is a linker.
- A linker is a computer program that combines one or more object code files and library files together in to executable program.
- It is very common practice to write larger programs in to small parts and modules to make job easy and to use libraries in your program.
- All these parts must be combined into a single file for execution, so this function requires a linker.
- Now let’s talk about libraries.
6. Libraries
[ultimate_spacer height =”10”]
- A library is a pre written program that is ready to use and provides specific functionality.
- For Embedded Systems Software Development Tools, libraries are very important and convenient.
- Library is a file written in C or C++ and can be used by different programs and users.
- For example, arduino microcontroller comes with a number of different libraries that you can download and use while developing your software.
- For instance, controlling LED or reading sensor like an encoder can be done with a library.
- The last one on my list is a simulator.
7. Simulator
- Among all embedded software tools, simulating software is also needed.
- A simulator helps you to see how your code will work in real time.
- You can see how sensors are interacting, you can change the input values from sensors, and you can see how the components are working and how changing certain values can change parameters.
- These were the basic software tools required for embedded software development.
When I am talking about embedded software tools, it is also important to give you an idea about IDE which is the next section of my article.
Integrated Development Environment (IDE) - Embedded Systems Software Development Tools
- An Integrated Development Environment is software that contains all the necessary tools required for embedded software development.
- For creating software for you embedded system, you need all of the above mentioned tools.
- So it is very helpful to have software that can provide all of the necessary tools from writing to testing of your code, in one package.
- An IDE normally consists of a code editor, compiler and a debugger.
- An Integrated Development Environment also provides a user interface.
- An example of integrated development environment is Microsoft visual studio. It is used for developing computer programs and supports different programming languages.
- Other examples of IDE that are common are given below.
- Android Studio
- Eclipse
- Code Blocks
- BlueJ
- Xcode
- Adobe Flash Builder etc.
- Depending on what kind of microcontroller you are using, you can choose from many different software applications. I am going to share a few of these Embedded Systems Software Development Tools here in my article.
1. MPLAB
- If you are working with PIC Microcontroller, than you definitely need MPLAB.
- MPLAB is an integrated development environment from Microchip technology.
- It is a software that runs on your personal computer and is needed to create program for your pic microcontroller.
- It helps in editing, debugging and programming of microchip microcontroller that you use in your embedded system.
- The latest edition of MPLAB is MPLAB X. You can download this software free form microchip website.
- For developing embedded software for your system using MPLAB, you have to go through the following steps:
- The first step in this design process is to choose the PIC microcontroller that meets the requirements and parameters for your system.
- Know all the components of your embedded system by making a rough design.
- Next step is to write code for your embedded software. It is your choice to write code in assembly language or some high level programming language.
- Now you have to make your code ready to program your microcontroller. So using compiler / assembler convert code into machine code.
- The fifth step is to debug your code to remover errors.
- Finally, upload the code in to your microcontroller. And it is ready to be used in the embedded system.
- There are many important features of MPLAB which are really helpful in software development. I am going to mention some of them:
- Free C compilers
- Macros
- Complex breakpoints
- Third party tools
- Change variables in watch window etc.
2. Arduino Software
- Arduino software is used if you are working with arduino microcontroller.
- It is also open source software just like MPLAB that runs on your personal computer.
- Arduino software helps you to create program for your microcontroller providing all the necessary embedded software tools.
- The codes that you write on arduino software are referred to as sketches and have an extension .ino.
- Integrated development environment of arduino is very user friendly and has a lot of features that make your job easy. For example, you can open multiple files with different extensions in one window.
- With arduino you can make use of a number of different libraries for your functions and peripherals. Some of them are:
- LiquidCrystal
- WiFi
- Audio
- RTC
- LedControl
- Robot
- Matrix
- Capacitive Sensing
- Now I am moving towards the next one which is Keil.
3. Keil
- Keil is an integrated development environment for a wide range of microcontrollers including 8051, 251, ARM7, and C16x/ST10 microcontrollers.
- This software includes compiler, assembler, linker, debugger, simulator etc.
- This software is also easy to use and learn.
- The software for 8051 is used by professional embedded system developers and beginners both.
- Depending on the microcontroller, you are using you can go for the right software.
- Now let’s move towards the next tool that is MATLAB.
4. MATLAB
- Matlab is one of the very important tools for software developers.
- It provides you with an environment where you can solve all of your computational problems.
- You can work with matrices, graphs, vectors, functions, arrays, plots etc. You can make algorithms. Also you can create user interfaces.
- With Matlab, you can also interface programs written in other programming languages.
- Matlab comes with additional software, Simulink that enables you to create simulation.
- It is really a helpful tool for embedded software developers, as you can work on sensors data, plot it and see response by changing certain variables.
5. LabVIEW
- LabVIEW stands for Laboratory Virtual Instrument Engineering Workbench. This software is also used for viewing output.
- The main functions that can be performed using LabVIEW are data acquisition, industrial automation and instrument control.
- This software is basically for visual programming language.
- Some of the benefits of LabVIEW are:
- Libraries
- Interfacing to devices
- Parallel programming
- User community
- That was all about LabVIEW basics. The next on the list is PSpice.
6. PSpice
- SPICE stands for Simulation Program for Integrated Circuits Emphasis, and PSpice is its version for personal computers.
- PSpice is simulation software that is used for simulating circuits.
- It helps in analyzing electronic circuitry, verifying circuit designs and predicting their behavior.
- It has a number of libraries for digital and analog components.
- The components that are available include
- resistors,
- capacitors,
- voltage and current sources,
- Inductances etc.
7. Proteus
- Proteus is kind of simulation software where you can create circuits, make model of your embedded system including microcontroller to see how it works, measure circuit parameters, change sensor values and much more.
- It helps you to create PCB (printed circuit board) design for your embedded system.
- Microcontroller simulation is an important feature of this software where you can load a hex file to your microcontroller in the design, connect all other components to it and see how it works.
- This software runs only on Windows operating system.
8. Visual Studio
- Visual Studio is also an integrated development environment provided by Microsoft.
- It is used for developing computer programs for Microsoft Windows.
- It can support different programming languages and basically consists of a code editor and a debugger.
- With this software you can build different mobile apps, window apps, extensions, games etc. The choice of language is yours.
- Now I am moving to the next tool which is EasyEDA.
9. EasyEDA
- EasyEDA is an online tool that you can use to create schematics, PCB designs, and simulations.
- Since it is an online tool that runs on web, there is no need for you to download and install it in your personal computer. Instead you can run it directly.
- Also there is no need of updating your software or to remove bugs, as it is online tool and keeps updating itself. New features are added automatically.
- Another advantage is that it runs on all types of OS (windows, linux etc.) as EasyEDA works on your web browser.
10. Altium
- The last one on my list of embedded software tools is Altium which is also PCB designing software.
- PCB designing is very important part of developing an embedded system, so it is good to know all the available resources for PCB design.
- The PCB designing module of altium has a lot of features including
- Adding hole tolerance
- PDF 3D export
- Live Drill Drawing
- Supporting Embedded Components etc.
So these are the 10 embedded software tools that should be known by an embedded software developer. I hope you have enjoyed these Embedded Systems Software Development Tools. I have given the introduction and basics of each of them.
6 Necessary Embedded Tools
Hello Friends, I hope you are fine and having fun in your lives. Today I am going to tell you about the 6 necessary Embedded Tools.It's the next episode in the Embedded systems tutorials. So, first of all, we had a look at What is Embedded System? and we have also understood What is Embedded Computer? Then we had a look at 8 things for learning embedded system programming , that can help you for the coding part of your system. An embedded system design includes both hardware and software. So it is good to know all the tools that are available and necessary for the said purpose.
In an embedded system you have to work with the software along with the hardware. You have to deal with sensors and actuators. Things are happening in real time. An embedded system keeps track of all the processes occurring in it and performs its operation. Embedded System programming is different from general programming. So, now what we need to know about is Embedded Tools. Today, I am gonna discuss the hardware embedded tools and after that I will share the software Embedded tools. That's the beauty of Embedded systems that along with programming as in Software you also have to be expert of hardware like electronics. Because without electronics you can't implement your Embedded Project. You should have a look at these Real Life Examples of Embedded systems and you will get clear about this fact, all these devices includes electronics parts. So, let's have a look at the 6 Necessary Embedded Tools:
Embedded Tools
There is a variety of embedded tools available out there for development of hardware and software for embedded systems. These embedded tools include editors, compilers, assemblers, debuggers, and simulators etc. for software part and soldering iron, desoldering gun, Digital Multimeter, oscilloscope, cutter, laptop etc. as hardware tools. All of the embedded tools are necessary and work together. After a short review of software tools, I am going to write about hardware tools which are the main focus of my article.
Software Embedded Tools
- The first step of the development process is writing code for your microcontroller.
- Various editors are available for different languages. Mostly code is written in assemble language or C language.
- First the code is written then it is compiled and debugged. A file is generated that is ready to be uploaded to your microcontroller.
- It is always good to use simulation tools during development process before finalizing your final product and converting into hardware.
- Using simulation tool reduces a lot of errors that you may encounter in your system. Also you can check different parameters of your system using your simulation software.
Hardware Embedded Tools
This is the main section of my article in which I am going to give you an idea of different hardware embedded tools and accessories needed to build an embedded system. Of course, you are going to connect components together to form a system, so you require a variety of tools. The components that you need may include sensors, actuators, microcontroller, converters etc. You can find information on components in my article on What is Embedded System? Now let’s talk about the tools in detail.
1. Soldering Iron
- The first tool among embedded tools that I am going to discuss here is soldering iron or soldering gun.
- As the name suggests, it is a tool used for soldering. A soldering iron supplies heat to melt a wire. This molten wire fills the space in the joints between two parts.
- To connect components together, or to fix components on your circuit board, you need to solder them. So soldering iron serves the purpose.
- A wire is used with this iron which is provided heat so that it melts down. This wire is called soldering wire.
- Mostly, these irons are supplied with electric current through cords or through batteries.
- The supplied current heats up the iron. The temperature of iron can be controlled in some models.
- This tool comes with a stand to keep the hot iron in a safe position.
- A wax and a sponge may also be provided with the gun to clean the tip after usage.
- The tip of a soldering iron can also be changed and removed easily. Tips of different shapes and sizes are used for different types of work pieces.
- A soldering iron is very light weight and easy to carry around. And really a very necessary tool in embedded system development.
2. Desoldering Gun
- Desoldering gun is also one of the important embedded tools. It is also named as desoldering pump.
- Desolder means to remove the solder usually from a joint. It serves the opposite function of a soldering gun.
- Sometimes we need to separate components from each other or to remove components from a circuit board as PCB (printed circuit board). This is required for repair or disassembling operation. So a desoldering iron is used in such cases.
- A desoldering iron removes the solder by sucking it. Due to this sucking operation, it is named as pump.
- A suction pump in this tool sucks the molten solder and makes the joint open again.
- This device is very useful to correct a wrong connected component.
3. Digital Multimeter
- A digital multimeter or DMM is a testing device among my list of embedded tools.
- This device is used to measure values of voltage, current and resistance.
- It is also used to check connectivity between two points.
- Digital multimeter is a standard testing tool for engineers and technicians.
- A DMM serves the function of three devices, ammeter for measuring current, voltmeter for measuring voltage and ohmmeter for measuring resistance. All the three devices come in this single package.
- It consists of a display that shows the measured value, slots for inserting test leads, few buttons such as power button and a switch to select operation you want to use.
- The test leads are inserted into DMM and then connected to the item being tested to form a closed circuit to the DMM.
- Measurement values such as volts, amperes or ohms are selected from the switch and result can be noted from the display.
- It is a very useful and must-have tool for embedded system developer.
4. Oscilloscope
- The next item in embedded tools is oscilloscope which is a testing device just like a digital multimeter.
- An oscilloscope is a device used to view voltage signals with respect to time. The signal is represented as a 2-D plot.
- It is commonly known as a Cathode Ray Oscilloscope (CRO) or simply a scope.
- An oscilloscope can be used to show more than one signal at the same time.
- This device is not just used for voltage signals, instead it can be used for other electric signals as well.
- The waveform represented by oscilloscope is calibrated and different characteristics of wave such as frequency, amplitude, wavelength, time intervals etc. can be measured through it.
- Now let’s move towards the next item which is a cutter.
5. Cutter
- A cutter also known as wire cutter or clipper is used to cut jumper wires.
- Other than jumper wires, you can also use to cut copper, steel or other wires.
- Other than wire cutters, wire strippers are also used.
- A wire stripper is used to remove insulation from wires without cutting them.
- Now I am moving towards the last item on my embedded tools that is a laptop.
6. Laptop
[ultimate_spacer height = "10"]
- Laptop is among the most important tools required for embedded system development.
- You need a laptop from the very initial stage until the complete development of your product.
- Your laptop should be equipped with all required software tools that I mentioned earlier and an internet connection.
- You can search for suitable components for your system, write code and produce file for your microcontroller, simulate your system, have data sheets for all your components in it and much more.
All of the tools that I mentioned in this article are essential ones for working on embedded systems. I hope you will find this article informative.
Real Life Examples of Embedded Systems
Hello Friends, I hope you are fine and doing great in your lives. Today I am going to write an article on real life examples of embedded systems. These Embedded Systems Examples belong to real-life appliances and devices, which we normally use in our daily routine. I hope you already have the idea of embedded systems but if you don't, you can find the introduction to embedded systems in my previous article What is Embedded System? And also you can go through What is Embedded Computer? I have also shared few Embedded Systems Examples in this article. My article on 8 things for learning embedded system programming can help you in getting starting with your Embedded Systems Project.
Embedded systems perform specific tasks. They have a Microcontroller as the main part which controls all the operations required through them. This article on examples of embedded systems can help you to get an idea of common systems which we use in our daily lives. These systems are smart and more efficient, which is increasing their use day by day. Almost every device that we use today is an example of embedded systems. Embedded systems examples can be seen at our homes, offices, industries and in automation systems.
So, in simple words, most of the daily routine appliances, devices or automated equipment lies in the circle of Embedded Systems Examples. I have discussed a few of these Examples of Embedded Systems in today's tutorial so that you got to know their importance and believe me if you learn embedded Systems then you can also create something, helpful to society. So, let's get started with Examples of Embedded Systems:
Examples of Embedded Systems
As I told earlier, there's an endless list of Examples of Embedded Systems and we can't cover all of these Embedded Systems examples in detail here so I have discussed a few of these Embedded Systems Examples in detail and have mentioned the rest of them and yes still I have missed a lot. :) One of the most exciting Examples of Embedded Systems is Digital Camera so let's have a look at its features:
Embedded Product: Digital Camera
- One of the embedded products is a digital camera.
- Cameras that we use today are smart and have a lot of features that were not present in early cameras all because of the embedded system used in them.
- A digital camera has basically three functions, to capture an image which we call data, to store image data, and to represent this data.
- Today images are stored and processed in form of digital data in bits.
- There is no need for the film for storing images. This feature has increased the storage capacity and made it easy to transfer images.
- In digital cameras, the first image is captured and converted to digital form.
- This digital image is stored in internal memory.
- When the camera is attached to your personal computer for uploading images, it transfers the stored data.
- If I talk about the smart camera, it has some extra features than digital cameras.
- Smart cameras are able to capture details of the scene.
- These cameras analyze the images and are able to detect humans, motion, faces etc. from the whole image.
- For the detection of objects in the image, some processing is required in cameras.
- Usually, image processing includes low-level and high-level processing.
- Various algorithms are available that are employed for this purpose.
- Components of a smart camera include:
- Image sensor that may be a CCD (Charge Coupled Device) or a CMOS (Complementary metal-oxide-semiconductor)
- Analog to digital converter (A2D)
- Image Processor
- Memory.
- Lens.
- Led or other illuminating devices.
- Communication Interface etc.
Smart cameras may consist of some more devices depending on features.
- So, we can say that camera is one of the important embedded systems examples. It has its own processor, sensors, actuators and also memory for storage purposes.
Embedded Systems Application: Automotive Embedded Systems
- Examples of embedded systems include automotive. Today cars use embedded systems to replace old traditional systems.
- Electronic Control Units are used in automotive embedded systems Examples.
- This unit contains a Microcontroller, switches, sensors, drivers, etc.
- All the sensors and actuators are connected to the electronic control unit.
- Automobiles using embedded systems may consist of hundreds of microprocessors.
- Each microcontroller (Arduino, PIC Microcontroller, 8051 Microcontroller etc.) performs its own dedicated task. Some of them control engines. Some run dashboard devices.
- The whole system is actually comprised of several small systems.
- Using embedded systems in automotive has reduced the cost factor.
- It has improved the overall performance and increased functionality.
- It has also reduced weight and made automobiles more safe and reliable.
- Applications of automotive embedded systems include:
- Automatic Stability Control
- Traction Control System
- Pre-crash Safety System
- Airbag
- Car Navigation System
- So you can see that using embedded systems in automobiles is very useful and has increased the functionality of automobiles.
Embedded Systems Application: Home Security System
- In embedded systems examples, I have another interesting one on my list that is a home security system.
- Home security systems are used largely today.
- These systems have several features just as checking for fire or gas leakages, and detecting if someone suspicious tries to enter the house.
- A Microcontroller is used for controlling all the operations. Sensors give data and if something wrong happens then safety alarms get activated.
- Sensors used in such systems include gas sensors, smoke sensors, temperature sensors, IR sensors etc.
- Also, a keypad is included in such systems for entering passwords at the gate.
- If the correct password is entered then this embedded system opens the gate and if someone tries to enter the wrong password then an alarm is set on and gates remain closed.
- The output is received from alarms or some display.
- Here's a block diagram of the Embedded Systems Circuit Diagram(normally used in home automation projects):
You should also read:
- The output can also be sent to some distant location.
- If family members are not present at the home then still they can monitor the activities going on in their house.
- The home security system is not limited to homes.
- Such systems can be used at shops, stores and in industries.
- Almost every industry and office has security systems that can recognize the workers from their faces or identity cards.
- Home automation system is also one of the examples of embedded systems as the home security system.
Embedded Product: Automatic Washing Machine
- Daily life examples of embedded systems include automatic washing machines and dryers.
- Washing clothes is not a difficult task now owing to embedded systems.
- You just have to add clothes and leave them to the machine. Rest operations are done by your machine itself.
- Machines have a Microcontroller for controlling all the tasks.
- Sensors and actuators in this case are level sensors, valves, motors and also a display and keypad to input information.
- Once you load clothes in machine, the whole process consists of three cycles. Washing, rinsing and spinning.
- All three cycles are initiated by the machine itself. You just have to enter information for hot or cold water and press the start button.
- During washing and rinsing cycle, water is added to the drum by pipes.
- Closing and opening of valves for adding water is checked through level sensors by microcontroller like PIC Microcontroller.
- Then the rotation of drum starts for pre-set time. After that water is drained out through pipes.
- During spinning cycle, water is not added and drum rotates for a set time.
- All the processes are controlled by microcontroller program.
- The timings for each cycle can be changed through the keypad.
- So this was another embedded systems examples. Now let’s move towards the next one.
Embedded Operating System
- Personal digital assistant (PDA) is the next example on my list. It’s an embedded operating system designed for personal use.
- You can find a lot of personal embedded operating system examples i.e. Mobile Phones, data organizers, PDA etc.
- Personal Digital Assistant is just like a personal computer in hand. It was used before smartphones came out.
- This embedded operating system is used as an information manager and has the ability to connect to internet.
- This embedded operating system has a display mostly touchscreen for the user to interact with the device.
- The display is used for entering data, memory card is used for storing data and it is provided with Bluetooth or WiFi for connectivity.
- Some of the personal digital assistants use keypads instead of touchscreen to input information.
- This device is very handy in managing and sorting personal information. It is very light in weight and serves multiple functions.
- Small Embedded computers i.e. Rapberry Pi, Beagle Bone etc. have also been introduced in the market.
- The next example of Embedded Systems that I am going to tell you is Industrial Robots.
Embedded Systems Applications in Industrial Robots
- Embedded systems have a lot of applications in industries.
- Today, every process is being taken towards automation.
- So industrial robots are very important to mention with embedded systems examples.
- An industrial robot is an embedded system that comes in a variety of forms and each performs a number of different tasks.
- Some industrial robots are used for moving parts, tools, materials etc.
- Some are used in assembly operations while some of them are used in manufacturing.
- These robots have increased the productivity.
- They are widely used where precise operations are required or at the places which are difficult to access for humans.
- To understand the working of industrial robot as example of embedded systems, I am going to tell you about automated painting robots.
- Painting robots have a wide application area.
- They are replacing humans as they require less time for the whole operation and ensure best result.
- All of the activities are controlled through the program.
- Timing for the whole process and amount of paint is preset.
- Assembly robot is another example of industrial robots.
- The task of such robot is to create an assembly from all the parts.
- All parts are collected and assembled in correct sequence to form final product.
- There are a lot of examples of industrial robots.
- All are good embedded systems examples.
- Now let’s talk about another type.
Embedded Product: Automated Teller Machine
- An automated teller machine (ATM) is also an embedded system.
- It is a computerized device used in banking.
- You all are already familiar with its operation and use.
- A customer can access and perform his transactions without going to the bank and meeting some assistant.
- This machine consists of a card reader for detecting card and accessing information of the person.
- Also it has a keypad so the user can enter his commands and password.
- A screen displays information. A printer prints the receipts and cash is received from cash dispenser.
- A network is present between the bank computer and ATM machine through a host computer.
- All the data is verified with the bank computer and all transactions are stored in it.
- All these input and output operations are carried with the help of microcontroller.
- So this makes a one of the best examples of Embedded Systems.
Embedded Calculator
- Calculator is also one of the examples of embedded systems.
- Actually it is one of very earlier embedded system that is used widely.
- In this example, the function is to take input from the keypad, perform the required operation and show the results on LCD.
- Embedded Scientific Calculator has a high performance processor.
- A number of mathematical complex calculations can be performed by these calculators.
- You can also program such scientific calculators.
- With such kind of functionality, these calculators are very advance as compared to simple calculators, all because of embedded systems.
Examples of embedded systems are numerous and it is hard to discuss all of them here. Embedded Systems are used in different fields like:
- Automobiles
- Aerospace
- Telecommunication
- Consumer Electronics
- Banking
- Homes
- Offices
- Security Control
- Academia
Some other examples include:
- Anti-lock brakes.
- Auto-focus camera.
- Teller machines.
- Automatic toll systems.
- Automatic transmission.
- Elevators
- Power Suppliers
- Avionic systems etc.
I have just mentioned few of Embedded Products & Applications. Here, I have compiled few examples of Embedded Systems in a single image below and you can see in this image that we are literally slaves of Embedded Systems. :)
That was all from my side, I hope you will enjoy reading these Examples of Embedded Systems and if you don't find any Embedded Systems Examples in above list then you can share it in comments below and I will add it up. So, stay blessed and have fun. Take Care !!! :)
10 Things for Choosing Microcontroller
Hi friends, I hope you are fine and doing great. Previously I have written an article on embedded system programming that you can access here 8 things for learning Embedded System Programming. One of the important parts of an embedded system is a microcontroller, so choosing correct microcontroller for your embedded system is very necessary. Therefore, today I am going to tell you how you can select the best microcontroller for your application. In this article, I will be sharing all the details you need to know before finalizing your product.
So, if you are trying to choose the right Microcontroller for your project then you must be working on Embedded System Project, so you should read What is embedded Systems? and What is Embedded Computer. So, you should have a look at them as they are really interesting and covers the complete basics. After these articles, you should also have a look at Real Life Examples of Embedded Systems. So, before going into the details, let's first have a look at basics of Microcontroller.
Basics of Microcontroller
- Microcontroller is just like the CPU for your embedded system.
- It is different from microprocessors which require external peripherals. A microcontroller has all the peripherals on the main chip.
- counters, input and output ports on the single chip.
- External devices cannot be added on microcontroller, also extra memory cannot be added.
- Microcontrollers are suitable for embedded systems, as they are limited in size and cheap.
- Microcontrollers are suitable for applications which have limits on size and cost.
- Few examples of Microcontrollers are Arduino, PIC Microcontroller, 8051 Microcontroller etc.
- There are different families of microcontrollers which have different features. You can choose depending on the specifications you need.
- Microcontrollers are preferred in embedded systems because they have various advantages. Some of them are:
- Efficiency
- Use more logic to carry functions
- Can perform diverse functions
- Minimum and controlled power consumption
Now that I have defined a microcontroller, I am moving towards the main section of this article. Here's a screen shot of Arduino board:
How to select Microcontroller ?
Selecting right microcontroller for your application is very important. There are several things to consider including technical features, cost and size. It is necessary that you should have an idea of your project details, requirements and constraints. First try making a rough idea of your project and problem statements and then you can follow these 10 steps.
1. Know Hardware Requirements
The first thing to consider while choosing a microcontroller is to consider what hardware devices your project need. You must have an idea what hardware peripherals you need to connect with your microcontroller.
- Does your embedded system needs communication interfaces like UART?
- Does it needs Ethernet?
- How many output and input pins you need to connect?
- Does it needs USB port or other serial ports?
- Do you want PWM?
These are some questions to think. You can reduce your choices from a number of microcontrollers by considering the hardware requirements.
2. Know Software Requirements
Just as hardware of the project, you need to know the software required by your project. The software requirement is also important to consider.
- What processing speed is required?
- What type of calculations are involved?
- How much processing power is required?
- What are the timing constraints?
Once you have all these answers you can look for the microcontroller that can fulfill the purpose.
3. Architecture
The architecture of a microcontroller is the internal structure. When you have the idea about hardware and software requirements of the project, you can look for different type of microcontrollers to find the matching ones. They have a number of families and come in a variety of types that include 4 bit, 8 bit, 16 bit and 32 bit. 32 bit microcontrollers are the ones used in embedded systems.
4. Cost and Power Requirements
Cost factor is very important while developing a project or an embedded system. If you require complex functions and operations from your microcontroller, cost will be higher. If it is for a simple application, than a cheap microcontroller can serve the purpose.
Power required in your project should also be considered. If you are going to run your system on battery than consider the rating. Consider if your microcontroller meets the power or not.
5. Memory Requirement
The memory size is very serious issue to consider. How much memory is required by your code and How much RAM you need are worth considering. There should be some extra memory from estimated so you will not run short of space.
6. Search Microcontrollers
Up till this step, you have all the information required to start looking for microcontrollers. You can use online information available for different microcontrollers. Also, you can take help of some professional who can direct you to some family of microcontrollers. You will use your previous steps to filter from a wide variety. Search for new products available in the market so you can make better use of all the features.
7. Part Compatibility
Microcontrollers come in a variety of types. It is important to check whether the type you selected is compatible with other tools or not. If you are developing a system for mass production and use, then make sure that the microcontroller you select would be available for your product. And if you try switching from one type to another, then the new one should be compatible with the older one.
8. Know Software Tools
Microcontrollers come with some standard software tools with them. These tools are provided by the manufacturers and are very useful. They come with assemblers, compilers, debuggers and simulating tools. So it is good to know about all the products available with the microcontroller.
9. Simulation Tools
It is good to use simulation software to check the working of microcontroller. As I told in the previous point, some of the microcontrollers come with simulation tools that are very useful in the development process.
10. Start with Microcontroller kits
Microcontroller kits are very useful for starting your work. If you are beginner, then experimenting with kit can be very interesting. You can start with mini projects or you can build small circuits for testing purposes. If you already know how to work with microcontrollers then you can skip this step.
These are the 10 steps that you can go through while selecting a microcontroller for your project. The more you know about your requirements and different products available, it becomes easier to select the best suited microcontroller.
8 Things for Learning Embedded System Programming
Hello Friends, I hope you all are fine and doing great in your lives. Today I am going to tell you about the essential things you need to know for learning embedded system programming. An embedded system relies heavily on its program so it is very important to know the programming basics. First, let’s define embedded systems before going into the details of embedded system programming. In my last two articles, we have seen What is Embedded Systems ? in which we have learn the basics of Embedded Systems and after that we threw some light on What is Embedded Computer ? So, if you guys haven't read them yet then I would suggest you to must read them first because they will give you the basic idea of Embedded System Programming.
An embedded system is a system which is designed and developed for performing some specific tasks. It has a microprocessor or microcontroller. The system is devised to perform special tasks and has its own hardware and software parts. Digital Cameras, Phones, automotive systems are some of the examples of embedded systems. To perform required functionality, correct program for the system must be created. You should also have a look at Real Life Examples of Embedded Systems which will give you a better idea of why Embedded systems is so important. Moreover, you should also have a look at these Embedded System Projects.
Embedded System Programming
Now that you have an idea about embedded systems, so let's take a step forward and learn Embedded system. I am going to tell you about some basic things, every beginner need to know about embedded system programming before starting their projects.
1. Choose Programming Language
- The first step of learning Embedded System Programming is to select a programming language. Your first stage is to know all the options available and then choosing one from them according to your requirement and application.
- Embedded Systems can be programmed using both low level programming languages and high level programming language.
- Both languages have their own advantages and uses. Assembly language is used for low level programming. For high level programming, C is used mostly.
- Complex and sophisticated systems make use of low level programming languages. The user has more control on the hardware and memory with low level programming language.
- Small systems use high level programming languages. Such languages are easily understandable and the programs are readable and compact.
- As a beginner, you can start developing of your embedded system using C language.
2. Learn C/ C++
- The second thing to do for embedded system programming is to learn the programming language. The most commonly used language is C or C++.
- Most of the embedded system products are designed such that they support C language.
- This language is easy to learn and a good start for beginners. C is preferred for embedded software development.
- Programs written in C language are readable and easy to debug. This language is efficient and provides support for Input and Output devices.
- Therefore it is necessary to learn this language if you want to go for embedded system programming.
- You should get an idea about the basics of C. know about variables, conditionals, loops, structures and functions etc.
- You can check this great C# Tutorial on our blog, if you wanna learn C#.
3. Know your Microcontroller
- Microcontroller or microprocessor is the very important part of embedded system. So the third thing that you should know is your microcontroller.
- A microcontroller will act as a CPU of your embedded system. It has RAM, ROM and some other peripherals such as timers, counters etc.
- Most commonly used microcontrollers are Arduino, PIC Microcontroller or 8051 Microcontroller etc.
- Depending upon the application, first choose a microcontroller. It depends on the hardware that you want to connect with. Also the software requirements should be kept in kind while choosing microcontroller.
- It is the third step of learning embedded system programming. Now let’s move towards fourth step of embedded system programming.
4. Know Basic Electronics
- For learning embedded system programming, you need to know about electronic devices. If you have no idea about basic electronics, it is almost impossible to design embedded system program.
- Embedded system is not just writing a program. Your purpose is to make a complete system that can effect physical things. So it is necessary to learn hardware with software.
- For learning basic electronics, you can start with small projects instead of studying the details of all type of devices available.
- Also you should get an idea of basic terms like voltage, power, current, resistance etc.
- You can read tutorials about the concepts and also you can try starting with small circuits.
- Once you know these basics, you can work with your components and embedded system programming more efficiently.
5. Get your Equipment and Tools
- For learning embedded system programming, you will need some equipment other than microcontroller and hardware.
- You can start by having
- jumper wires,
- circuit boards,
- batteries,
- resistors
- leds
- soldiering iron and
- Some testing devices like DMM (digital multimeter).
- These equipment is necessary just as other parts of the system.
6. Select Components
- Selecting components is also an important part of learning embedded system programming. For each component you have a variety of types to choose from. It is important to select the one best suited for your application.
- Datasheets are available for each component. First you should learn how to read a datasheet.
- All information regarding a component can be found from its datasheet.
- You can find how to use a component, what the specifications are and what are the power requirements from a datasheet.
7. Start with Mini Projects
- The best method to learn is to practice. Before you start working on some real projects, try to work on small projects.
- Working on some mini projects will help you in getting familiar with the microcontroller and your components.
- Also you can start with microcontroller kits, it is also helpful for beginners.
- After working on such projects, you can move to your actual project.
8. Use Simulation Tools
- Using simulation for your embedded system programming is also very useful.
- It is impractical to design a system and developing it into hardware form before checking if it is working as required or not.
- Simulation allows the programmer to check for various conditions and to control different parameters. It is even more useful when working on large projects where you have minimum resources and also where trying things after developing project is expensive.
- You should have a look at these Proteus Simulation Tutorials.
If you have passed through all these steps and know your task then you can start working on embedded system programming. I hope now you have an idea that programming of an embedded product is quite different from regular programming as it requires you to know about the components, microcontroller and coding language.
What is an Embedded Computer ?
Hello Friends, I hope you all are fine and doing great in your lives. In last article, we have seen What is an Embedded System? Today I am going to write about Embedded Computer. I will be going through the embedded computer definition and how they differ from our general-purpose computers.
After that, we will have alook at the relation between control systems & embedded computers and different hardware platforms for embedded computers. Then I will throw some light on embedded computer as an emerging field. In the last section, I am going to tell you some basics of programming languages. I have also shared a tutorial on Real Life Examples of Embedded Systems so you should also have a look at this tutorial. Let’s first define an embedded computer before getting into details.
What is Embedded Computer?
We use normal computers & laptops at homes or offices, they are normally termed as general-purpose computers because they are capable of multiple tasks i.e. you can play games, you can install software, you can watch movies etc. Moreover, normal computers are quite big in size, expensive and draw heavy power. So, you can't use a general-purpose computer in your embedded projects as size & cost are main issues.
So in the past decade, engineers have designed small electronics computers, they have all accessories a normal computer has i.e. RAM, ROM, Hard Drive etc. We can install Operating Systems on them(i.e. Windows, Linux, UBUNTU etc.) and can connect external perripherals (i.e. LCD, mouse, keyboard etc.). They have different technical specs depending on their manufacturers and are normally available on their official sites. These electronic computers are very small in size as compare to general computers and also quite low priced.
Now let's have a look at a proper Embedded Computer Definition:
Embedded Computer Definition
- An Embedded Computer is a small-sized, compact, powerful and easy-to-operate electronic module, based on microcontroller/microprocessor and act as a bridge between electronics hardware and computer software.
- Embedded Computer performs specific functionality, which is normally programmed in it by its programmer.
- Embedded Computer normally has electronics I/O pins on it, which are used for interfacing embedded sensors & modules with it.
- After getting values from real world hardware, we can apply any algorithm on them in real time.
- Few Embedded Computer examples are Raspberry Pi, Beagle Bone, Arduino YUN, FPGa, Beagle Bone etc.
- Embedded Computer can work alone and can also be a part of a large system & the most common task that embedded computers perform is Cloud based IoT Projects.
- Amother important task that embedded computers perform is heavy computing, engineers use it to solve complex algorithms i.e. Blockchain.
- Below figure shows few of Embedded Computer examples:
Now, I hope you must have understood the word
Embedded Computer meaning.
Embedded Computer System
- An embedded system designed using embedded computer is termed as Embedded Computer System.
- Smart Web Based Air Conditioner is an example of Embedded Computer System and they are very smart devices.
- You can control its temperature through Android App and can also check power ratings etc. from the app.
- So, Embedded Computer Systems are very smart systems, modern artificial intelligence, robotics etc. are few other examples.
General Computer vs Embedded Computer
- As I have explained earlier, an embedded computer is different from a general purpose computer.
- A general purpose computer for example our PCs are used for different tasks.
- Embedded Computer can only work on a specific task.
- A PC is able to work on different functions at the same time. As I am typing a document on MS word while listening to songs and downloading stuff from google chrome. MS word a special application software for documenting, music player for playing sound tracks, chrome is a browser, and all of these programs are running at the same time.
- We can also perform these tasks on an embedded computer system but they are not designed for these functions.
- IF you run GTA V on Pentium 1, what will happen ???
- Embedded computers are designed for specific embedded computer functions.
- Normally Embedded computers are used in those projects where data needs to be collected from electronic sensors & then needs to be uploaded on some webserver(website).
- Embedded computers are also used for complex algorithms, you must have heard of Bitcoin Mining, Raspberry Pi (an embedded computer) is a first choice for bitoin mining as it consumes low power.
Control Systems and Embedded Computer
- All modern control systems are based either on embedded computer or on PLC i.e. programmable logic control.
- Programmable logic control is used in industries but embedded computers are used everywhere.
- In embedded computers, all of the system is enclosed in some case while it is provided with and user interface.
- This interface is for the user to control and manage the operations of the computer and to see the output in some cases.
- The embedded computer is designed to meet the specifications of the control system.
- The embedded computer should be programmed in such a way that it should be able to control the variables and processes.
- The program should be real time so it can perform all operations in some time interval fulfilling the requirement.
- The control systems also require safety mechanisms that are controlled by embedded computers.
Embedded Computer may be built upon different kind of hardware. I am discussing three of them.
Microcontroller Based Embedded Computer
- Today microcontrollers are used with embedded computer instead of using microprocessor.
- Microcontroller is actually a chip with CPU and some other parts like RAM, ROM, Timers, Counters, Input/ Output ports etc. CPU is the main part that does processing.
- Microcontroller is different from microprocessor which require input/ output ports, timers and other peripherals as external parts.
- Microcontroller based systems are smaller in size and consume low power.
- Microcontrollers come in a variety of types. 4 bit, 8 bit, 16 bit and 32 bits are some of them.
- Examples of microcontrollers are Arduino, Pic microcontroller, 8051 microcontroller etc.
FPLD Based Embedded Computers
- In embedded computer, field-programmable gate arrays (FPGAs), Application specific integrated circuits (ASIC) etc. could be used as alternatives for microcontrollers.
- FPLD stands for field programmable logic devices. FPLDs include FPGAs (field programmable gate arrays) and CPLDs (complex programmable logic devices).
- FGPAs (field programmable gate arrays) are hardware devices which can be programmed.
- The hardware is not fixed so the user can design on its own.
- Although field programmable gate array offer flexibility, it is very complex.
- We can also build microcontroller using it.
DSP Systems Based Embedded Computer
- DSP (Digital Signal Processing) system based embedded computers are also being used.
- They found application where signal processing is required.
- DSP systems are somehow similar to microcontrollers if I talk about the peripherals and power consumption.
- The difference is that they also provide support for digital signal processing operations.
- The application areas include speech and music processing applications and communication systems.
Embedded Computer - an Evolving Field
- Today Embedded Computer is being used almost everywhere. They have found a lot of applications.
- Now embedded computers are considered as a separate field. They are able to perform a large number of different operations.
- Designing hardware and software for embedded computers is critical and it requires complete knowledge of this field.
- There are five things that should be known by a designer, which serve as the objectives of embedded computer.
Architectural Design
- The first step is to build a design that would be able to incorporate all the hardware parts.
- The design should be able to support all the functionality required from the embedded system.
- An embedded computer may be connected to sensors, actuators, switches, user interface etc. and it should be able to meet power requirements.
Analysis
For the development of product, it is necessary to know your hardware and software. The performance of each component should be known. The analysis may include:
- Analysis of components
- Analysis of power required
- Timing analysis
Modeling
- For the complete analysis of embedded computer, designer creates models before finalizing the product.
- This step is also important for performance analysis.
Verification
- It is necessary to verify the complete functionality of the embedded computer.
- Embedded Computers are application specific so it is necessary to ensure that they perform their required function efficiently within the constraints.
Application Orientation
- Embedded Computers are application oriented.
- Today, it is also becoming common to develop systems with some common applications.
- Almost all chips have some basic functionality and it is the choice of user to choose operations out of them.
Now I am moving towards the last section, which will give you guys an idea of programming embedded computers.
Writing Program for Embedded Computers
- Embedded Computers are normally programmed using high level programming languages i.e. python, C# etc.
- These languages provide more control to the user over the hardware and memory.
- Codes written in high level programming language are easier to understand and are more compact.
So, that was all about Embedded Computer. I hope you have enjoyed the tutorial, let me know if you have any questions. Thanks for reading.
What is an Embedded System? Definition, Examples, Types & Development
Hello friends, I hope you all are fine. Today, we will discuss What is an Embedded System? We will also have a look at Embedded Systems definition, examples, applications, types & development. For most of you, this term would have been quite familiar & normally people confuse it with a computer or Industrial PC etc. A computer is an application of high-performance Embedded computing but it's not an embedded system itself.
In my article, I am going to tell you all the basic information, need to know about Embedded Systems. What is an embedded system? How is it different from our personal computers? What are its main features? How can we enhance the performance of Embedded Systems? What are the main components of Embedded Systems? What would be the design parameters and constraints in designing an Embedded System? How can we classify such systems? and in the end, I am going to share some common examples.
I have also posted a tutorial on What is Embedded Computer? So, you should also read that because I have shared the basics in it. Moreover, if you are interested in learning Embedded System Programming then you should have a look at 8 Things for Learning Embedded system Programming. Let’s first define a system before diving into embedded systems, because that's essential and without understanding the basics you can't move to the pro.
What is System ???
- A system is a group of units, joined together to work in a specific routine and perform some fixed operation.
- These units could be of any nature i.e. if you are working on an electronics system then these units will be electronic components.
- Similarly, if you are working on some mechanical system then these units will be mechanical equipment or machinery etc.
- So, now let's have a look at the embedded systems and see what are its units.
What is an Embedded System ???
What is an Embedded System? In order to understand this question, let's take a simple example of traffic signal lights. "Traffic signal lights" is a simple system, following a fixed routine (i.e. Red, Yellow & Green). Before embedded systems, DLD(Digital Logic Design) was normally used to design such systems using 555 Timer. In DLD circuits, we have to design logic using electronic components (logic gates etc.), which makes the circuit quite messy and thus too difficult to debug. Moreover, DLD circuits are too difficult to upgrade as it involves hardware testing. If you check the image on the right side, I have divided this circuit into 3 blocks:
- Green Block: Input Power Supply(battery).
- Red Block: Electronics circuitry for Logic Designing.
- Orange Block: Output LEDs.
In order to overcome all these DLD issues, embedded systems were introduced where we write the logic in programming code. So, unlike DLD(pure electronics), embedded systems consist of both electronics hardware and programming software. As you can see in the second figure, we are controlling 8 LEDs using a single microcontroller. Now all the logics are written within this microcontroller in the form of programming code i.e. For how long Red LED should remain ON "OR" the duration between lights etc. Now the electronics part is very simple, we can add as many LEDs as we want, we can also change the logic in our software without touching the hardware & most importantly, now we can make it smart by adding cameras or sensors etc.
Embedded Systems Key Features |
1 |
Key Component |
Microcontroller/Microprocessor |
2 |
Electronics Hardware |
Must (At Least Basic circuit of the embedded controller) |
3 |
Mechanical Hardware |
Could be |
4 |
Programming |
Must |
5 |
For Microcontrollers |
Low-Level Language(i.e. C, Assembly language etc.) |
6 |
For Microprocessors |
High-Level Language(i.e. Python, C# etc.) |
Let's have a look at a proper Embedded Systems Definition:
Embedded Systems Definition
- An Embedded system is a microprocessor/microcontroller based smart system, constituted of both hardware(electronics must) & software(programming) and designed to perform a set of tasks.
- It could be a big independent system or a small part of some other system(Embedded or not).
Embedded Controller
- An Embedded Controller is a key component of an embedded system, which stores programming code in its ROM(read-only memory) and performs assigned tasks. An embedded controller is of two types:
- Microcontroller: Arduino, PIC Microcontroller, Atmel etc. (Low-Level Programming: Assembly Language, C programming etc.)
- Microprocessor: RaspberryPi, FPGA, BeagleBone, Arduino YUN etc. (High-Level Programming: Python, C++ etc.)
- So, we can say embedded systems have their own programmable computer, which we can call embedded computer systems but it's different than general-purpose computers.
A general-purpose computer such as Pentium PC or Intel Industrial PC is not embedded systems as it doesn't perform any specific embedded function. A PC itself is connected to many embedded systems, such as a printer, keyboard, mouse, scanner, modem and many others. Such systems perform specific functions and have their own microcontrollers in them.
Embedded Hardware
- In order to power up an Embedded Controller, we need to design an electronics hardware circuit, which we can call Embedded Hardware.
- In the case of microcontrollers, we also need to design its electronics basic circuit, to provide operating frequency.
- If our embedded system is dealing with complex items i.e. sensors, motors, actuators, solenoids etc., then we have to design their respective control circuits.
- Embedded hardware could also be some mechanical structure or hydraulic/pneumatic pumps etc.
In simple words, embedded hardware depends entirely on the nature of embedded systems but it must involve electronics circuitry as we have to power up our microcontroller.
Embedded Software
- An Embedded Software is a piece of programming code, has to be uploaded in ROM(read-only memory) of the Embedded Controller & enables the embedded system to perform specific tasks.
- Microcontroller companies have also designed windows based software, where programmers can write & compile codes.
- For Microprocessor, high-level programming languages are used i.e. python, C#, C++ etc.
Embedded Systems Example
I have written a detailed tutorial on
Examples of Embedded Systems, which you should read as I have shared real-life examples of Embedded Systems in it. Let's have a look at a few of them:
Printer
- The printer has its own embedded computer system, thus it doesn't need any external controller.
- The embedded controller in the printer is programmed to perform few fixed tasks i.e. read the data and print it on paper.
Few other Embedded Systems examples are:
- Telecommunication.
- Medical Appliances.
- Military systems.
- Automobiles.
- Consumers Electronics.
I hope that by now, you have an idea of what is Embedded Systems? Now let's have a look at key characteristics of an embedded system.
Characteristics of Embedded System
Embedded Systems have few specific characteristics, which you will find in all of them, These Embedded Systems characteristics are as follows:
Specific Function
- As I told in the previous section, an embedded system is not a general-purpose system, instead, it's designed to perform specific functions.
- If we have a look at embedded system examples (i.e. Camera, Mp3 Player, mobile phones etc.), they are all designed to perform some fixed task(although rich in features).
- These specific tasks are installed in embedded systems using programming and once installed, embedded systems keep on doing their assigned tasks.
Specific Algorithm
- For performing specific tasks, the algorithm also needs to be specific.
- Although in smart embedded systems, Artificial intelligence has changed the game.
User Interface
- Embedded systems may or may not have a user interface i.e. GUI (graphical user interface).
- In 95% Embedded projects, GUI is available in either hardware(LCD, GLCD, TF etc.) or software(interface to control machines) form.
- A user interacts with the embedded system using these user interfaces.
Real-Time Operation
- Another characteristic of embedded systems is to operate in real-time.
- According to the associated functionality, embedded systems react to events happening in real time and response accordingly.
Multi-Operational
- In Embedded systems, multiple operations may occur at the same time at different rates.
- For example, obtaining data, processing data, processing audio or video signals etc.
- All these operations may occur simultaneously or at different times and at different rates.
- Here, I should discuss the MIMO systems, they are multi input and multi-output systems and its opposite is SISO means single-input single output.
Now let's have a look at few features of an Embedded system:
Features of Embedded Systems
These features decide the overall ranking of an embedded system:
Performance
- The performance and accuracy of an embedded system is the main feature.
- It is measured considering all the conditions and constraints on the system.
Cost
- The cost factor is another important feature.
- Such systems are built for performing specific functions and in large quantities.
- The design process is costly but once a system is designed, customized and produced in bulk, overall cost becomes minimum.
Size
- One of the features of an embedded system is its size.
- The size should be small and it is done by adding more functionality in a single chip so that the need for external parts is reduced.
Power Consumption
- The power consumption is also low.
- This feature is becoming more and more important in new systems.
- Sometimes it happens that your embedded system has to be isolated and needs to run for a very long time so in such cases the power consumption is a critical factor and it has to be really low.
Reliability
- Embedded systems are reliable if they are operated under normal conditions.
These are the features of embedded systems. In the next part of my article, I am going to mention some constraints that should be kept in mind while designing such systems.
Embedded Systems Constraints
There are three constraints on designing of almost every embedded system:
Available System Memory
- It is necessary to consider the memory available when designing an embedded system.
- So selection of Microcontroller or Microprocessor plays an important role here.
- Before starting an embedded system, you must first do the complete calculation of memory usage.
Available processor speed
- One of the critical things to look upon is processor speed in the case of embedded systems.
- For example, if your task is to calculate the time of some incident then you must select a high speed processor.
Power Dissipation
- The need to limit the power dissipation is another constraint.
- This is usually done by adding more functions to the CPU.
- New designs of high performance embedded processors have more and more functions on a single chip to reduce space and power consumption.
- It’s the choice of the user to decide which functions he wants to use.
Now I am moving towards the next section of this article, where I am going to give you an idea of the basic composition of embedded systems.
Embedded Systems Components
- Embedded Systems Components can be categorized into four main groups
- , which are:
- Analog Components.
- Digital Components.
- Software.
- Converters.
Analog Components
Analog Components are very necessary components as they help in interacting with the real world. Examples of analog components are:
- Sensors.
- Actuators.
- Controllers.
Digital Components
Digital components mostly reside on the chip and do the processing operations. Examples are:
- Processors.
- Co-processors.
- Memory.
- Controllers.
- Buses.
- Application-Specific Integrated Circuits (ASIC).
Converters
Converters are used for converting signals. For example:
- Analog to Digital Converter (A2D).
- Digital to Analog Converter (D2A).
Software
Without software, an embedded system cannot work. The software is written in both low & high-level languages. This software is burnt to some non-volatile memory i.e. ROM. Examples are:
- Application Programs.
- Exception Handlers.
So these were the components of an embedded system. Let’s now talk about types of Embedded Systems:
Types of Embedded Systems
- There are numerous types of Embedded systems, based on performance and functionality.
- Based on performance, there are three types of Embedded systems, which are:
- Small Scale.
- Medium Scale.
- Sophisticated.
- On the basis of functionality, Embedded systems types are:
- Real-Time Embedded systems.
- Standalone Embedded systems.
- Networked Embedded systems.
- Mobile Embedded systems.
Let's have an overview of these Embedded Systems types, one by one:
Real-Time Embedded Systems
- If an embedded system has to operate for a specific time, without any delay in the output/input, are termed as Real-Time Embedded Systems.
- Vehicle Number Plate Recognition using Camera is an example of Real Time Embedded System, such cameras are operating in big cities, they get the plate number using image processing in real-time.
- Real-Time Embedded Systems follow time constraints & give output at specific times.
- Here's a screenshot of Pixy Camera, which is very small in size, easily interfaceable with microcontrollers/microprocessors and used in real time embedded systems, you can read more about it here: Getting Started with Pixy Camera.
Stand-Alone Embedded Systems
- Stand alone embedded system takes input from its own input ports, processes data and gives output.
- Such systems work on their own, without using any external host.
Networked Embedded Systems
- Networked Embedded System is the fastest-growing type of embedded systems.
- These systems are connected with networks that could be LAN, WAN or the internet.
- The connection can be wireless or wired.
- Such systems use the network to access all the resources.
Mobile Embedded Systems
- This is the class of embedded systems that are used in portable devices.
- Examples of such devices are mobile phones, cameras, music players etc.
Based on the performance of the microcontroller, there are three types of embedded systems:
Small Scale Embedded Systems
- If the microcontroller used in an embedded system is 8 bit or 16 bit, it is classified into a small scale embedded system.
- Such systems have less complex hardware and software parts and can also be operated on batteries.
- Normally such embedded systems use Arduino boards or PIC Microcontrollers or 8051 Microcontrollers etc.
Medium Scale Embedded Systems
- The second class is a medium scale embedded system.
- It uses one or more than one 16 bit or 32 bit microcontrollers.
- It may use DSP (digital signal processor) or may use RISC (reduced instruction set computer).
- The hardware and software of these systems are complex.
Sophisticated Embedded Systems
- The third class of embedded systems is sophisticated.
- Such systems have huge hardware and software complexity.
- So they need PLA (programmable logic array), scalable or configurable processors.
- These systems have speed constraints.
That was all about the types and classification of embedded systems. I have discussed the basic information about each type with you guys. I am moving towards the next segment which is on microcontrollers. It is important to discuss why microcontrollers are used with embedded systems. Let’s define a microcontroller first.
Embedded Systems Development
- If you ask me who's an Embedded Systems Developer, my reply will be a Mechatronics engineer.
- If you want to be an embedded systems developer, you have to learn:
- Electronics Circuits: It's required for interfacing sensors/modules with embedded controllers.
- Embedded Programming: Embedded controllers are trained to specific tasks using programming codes.
Microcontroller
- Microcontroller has a CPU as the main part and other parts like RAM, ROM, I/O ports, and timers on a single chip.
- You can say that it has all components fixed on one chip.
- It is different from microprocessors which have Input/ output ports, timers and other peripherals connected as external parts.
- You should also read 10 Things for Choosing Microcontroller as it's gonna help if you wanna select Microcontroller for your Embedded Systems Project.
- Microcontrollers are suitable for applications which have limits on size and cost.
- The user can not add external devices to such a processor.
- No memory could be added.
- Few examples of Microcontrollers are Arduino, PIC Microcontroller, 8051 Microcontroller etc.
- Microcontrollers are suited for embedded systems.
- Other than microcontrollers, field-programmable gate arrays (FPGAs), Application specific integrated circuits (ASIC), custom logic etc. could be used as alternatives.
- They come in a variety of types. 4 bit, 8 bit, 16 bit and 32 bit. Mostly 32 bit microcontrollers are used in embedded systems.
- The advantages of using microcontrollers are:
- Microcontrollers are efficient.
- They can make use of the same logic to perform many diverse functions.
- Microcontrollers simplify the design of families of products.
- They use more logic to implement functions.
- Microcontrollers now have features that control and minimize power consumption.
- Owing to all these advantages and growing development in this field, microprocessors are used vastly.
Now let’s move towards the last segment of this article. I am sharing some applications here.
Embedded Systems Applications
There are a number of areas where embedded systems are used today. Their applications are not limited and it is hard to write all of them here. Embedded Systems are used in areas like:
- Automobiles
- Telecommunication
- Consumer Electronics
- Computer
- Homes
- Offices
Here I am going to give you a list of other applications and examples of embedded systems. They include:
- Anti-lock brakes.
- Auto-focus camera.
- Teller machines.
- Automatic toll systems.
- Automatic transmission.
- Avionic systems etc.
So, that's all about the Embedded Systems and I hope now you can easily understand
what is an Embedded System? why and where it is used? You should also have a look at these
Embedded System Projects. If you have any questions, regarding this topic then ask in comments and I will try my best to reply them. :)
Introduction to Inverters
Hello friends, I hope you all are well and doing great in your lives. In today's tutorial, I am going to share the Introduction to Inverters. An inverter converts DC voltage or current to AC voltage or current. You can also say that it transfers or converts power from a DC source to an AC load. The aim of this circuit is to supply AC power similar to the one that we receive at homes.
Firstly, I am going to share some basic information related to inverters. In the second section, I will give you the basic configuration or parts of it and in the last section, I will tell you the types and applications. Let's now get started with the Introduction to Inverters:
Introduction to Inverters
- An inverter is connected to a DC source and it converts it into AC power in its circuit.
The details on input and output are as under.
- The input is DC power. The value of input voltage depends upon the application. Some applications require 12 V while some may require very high voltages of thousands volts.
- The ideal output of an inverter is a sinusoidal waveform. Such a wave gives continuous flow of power. But the output from the circuit is generally not ideal. It gives output in the form of square wave, quasi-square wave or PWM.
- The conversion of DC power to AC power can be done using two approaches. Both do conversion in two steps.
- In the first approach, a low voltage DC power is converted into high voltage DC power and then in the second step this high voltage DC power is converted to AC power.
- In the second approach, a low voltage DC power is converted to low voltage AC power and then this output is stepped up to high voltage AC power.
- They are available in different types in market. They exist in different shapes and sizes. They vary from low power to high power functions.
Let’s move towards the second section in which I am going to tell you all about the main parts of an inverter’s circuit.
Parts of an Inverter
In this section of my article, I am going to tell you about the configuration and constituents of the circuit. The generally used ones may consist of these four parts:
- Converter
This is the circuitry to convert commercial power to required DC power.
- Smoothing Circuit
This circuit smooths the pulses in DC power.
- Inverter
This is the most important part whose purpose is to convert DC to AC power.
- Control Circuit
This part controls the entire inverter operation.
In the next section, I am sharing some knowledge on the classification of inverters.
Classification
Inverters can be classified according to a number of different factors.
Output Waveform
First classification is based on the nature of output waveform for example, sine, square, quasi-square or PWM. Inverters can produce a pure sine wave or a modified sine wave. A modified sine wave is the one which is more close to a square wave.
Power Device
Second classification is based on the type of power or switching device used. This power device may be one from transistor, thyristor or MOSFET etc.
Configuration
On the basis of configuration, it can be classified into three types which are given below.
Single Phase Half Bridge
- This type of inverters is used in low power applications and also known as inverter leg.
- The circuit of single phase half bridge inverter consists of 2 choppers and a DC source with 3 wires.
Single Phase Full Bridge
- Full bridge inverters are also used for applications which require low power.
- The circuit consists of 4 choppers and a DC source with 3 wires.
Three Phase Inverters
- Three phase inverters are used in medium to high power applications.
- They provide a three phase voltage source.
- It is used where frequency, amplitude and phase of the voltage should be controllable.
Now I am moving towards the last section of this article where I will be sharing some applications of this device.
Applications
Inverters got a variety of applications. I am going to mention some of those.
- They are used in AC motor drives with adjustable speed.
- They are used in UPS (Uninterruptable Power Supply) which is a very common application now a days.
- They are being used in portable devices.
- Inverters are used in controlling air flow. For example they are used in fans, blowers and drying machines.
- They are used in power generation systems.
- Inverters have helped in increasing efficiency of machines and decreasing their sizes. To change speed and other conditions is now easier than before. They are used in driving machine tools, tables, etc.
- They also find application in conveyor belts as they can be used for controlling speed.
- Inverters are used where there is a need to run AC devices from batteries.
- They are used in industries in packaging machines, weighing machines and carts.
- They are also used in hybrid and electric cars.
- They also find applications in motor speed controllers.
- This device is used in voltage compensators.
So, that's all about the
Introduction to Inverters. I hope you will get some knowledge from this
Introduction to Inverters. Let us know about your questions in the comment section.
Embedded System Projects
Hello everyone, I hope you all are fine and having fun with your lives. Today, I am going to share a detailed Embedded System Projects list for Engineering Students. I hope you guys are gonna enjoy this list of Embedded System Projects. I have shared a lot of Arduino and PIC Microcontroller related projects on my website but they are all posted randomly and are mixed with each other. That's why I have thought of creating this post, so that others can easily access them at one place.
Embedded System Projects are those Projects which are used in almost all kinds of automation. All the modern electronics based projects come in this category. In simple words, all those projects where we use Microcontrollers are termed as Embedded system Projects. So, here I have divided these Embedded system Projects in terms of the Microcontroller used. Before going into the details of these projects, you must first have a look at what is Embedded Systems. If your project is not listed in this list of Embedded System Projects then use the Contact Form and we will reply you. So, here's the detailed list of Embedded system Projects:
Basics of Embedded Systems
Our team has started this section recently and we are sharing the tutorials on basics of Embedded Systems. I will share the links of these tutorials in this section. Let us know if you like these tutorials:
- What is Embedded Systems? ? In this tutorial, I have shared the basics of Embedded Systems i.e. what are Embedded System Projects and how to design them, but tis not in details just the basics.
- What is embedded Computer? ? In this tutorial, I am going to share the basics of Embedded Computer. If you have read the previous tutorial then you must be well aware of Embedded systems so now its time learn about Embedded Computers.
- 8 Things for Learning Embedded Systems Programming ? In this tutorial, I have shared the 8 essential things which are required for Learning Embedded Systems Programming.
- 10 Things for Choosing Microcontroller ? In this tutorial, I have shared the 10 basic things required for selecting the right Microcontroller for your Embedded System Projects.
- Real Life Examples of Embedded Systems ? In this tutorial, I have discussed the Embedded Systems Examples and these examples belong to real life. I have shared them in detail.
Arduino Based Embedded System Projects
Below mentioned Embedded System Projects are all designed using Arduino Board. These Embedded System Projects are listed from basics to pro. So, if you are new to Embedded Systems, then I would recommend you to start from the very first project and then move lower but if you are pro then you can find your favorite one from this list of Embedded System Projects.
- Circuit Designing of LCD With Arduino in Proteus ? Its first project In this list of Embedded System Projects. In this project, I have interfaced a small LCD with Arduino UNO board and then I have printed words on it. You can use this project to create a simple notice board. Its a good project for beginners.
- Interfacing of Keypad with Arduino in Proteus ISIS ? Next thing to learn in this list of Embedded system Projects is Keypad. So, in this proejct we have interfaced Keypad with Arduino. Now you can easily design a small security system where user need to enter password using this keypad and then you print the result on LCD which we learn in previous tutorial.
- Intelligent Energy Saving System ? In this Embedded System Project, I have designed an Intelligent Energy Saving System. In this project, the system automatically turns ON or OFF the lights & Fans depending on presence of person in the room. Its YouTube video is also given in this tutorial.
- Voice Recognition Project Using EasyVR Shield ? Its a series of tutorials on EasyVR shield and its the first tutorial in this series. In this tutorial, I have given an overview of the Project named as Voice Recognition Project using EasyVR Shield.
- Home Automation Project using XBee & Arduino ? In this Embedded System Project, I have designed a complete Home Automation Project in which the Loads of a room are controlled via remote. For wireless communcation between remote and the loads I have used XBee module.
- GSM Based Home Security System ? In this Embedded System Project, I have designed a Home Security System and used seven sensors for security purposes and when any of those sensors gave warning then a tet message is sent over to user’s mobile phone.
PIC Microcontroller based Embedded System Projects
Here's the list of Embedded System Projects where I have used PIC Microcontroller as a controlling board. These are not much in number because I have mostly worked on Arduino but still much to have a look. I hope you will like them:
- Control Servo Motor with PIC Microcontroller in Proteus ISIS ? Its a simple project in this list of Embedded System Projects, in which I have controlled a Servo motor using PIC Microcontroller. This Servo Motor project can be used in many engineering proejcts where you need rotation.
- Interfacing of LM35 with PIC Microcontroller ? Its a digital Thermometer using LM35 and PIC Microcontroller. It will give you the atmospheric temperature in digital form, which you can display on any LCD. Its also a simple beginner level project in this list of Embedded System Projects.
- Stepper Motor Control using PIC Microcontroller ? Its a Stepper Motor Control Project in which I have controlled the stepper motor using PIC Microcontroller. Its a medium level project and needs some skills to accomplish it.
- Electronic Door Lock using PIC Microcontroller ? Its quite a good project in this list of Embedded System Projects and by adding some more functionalities in it you can make it as a final year project. So, if you have any questions related to this proejct then ask in comments.
- Password Protection using PIC Microcontroller ? Its also a good project in which I have designed a simple Password Protection System using PIC Microcontroller. I have given the Proteus Simulations for download on this project link.
8051 Microcontroller based Embedded System Projects
Here's the list of Embedded System Projects where I have used 8051 Microcontroller. I hope you guys are gonna like them, if you have any comments then share them.
I hope you have enjoyed this
Embedded System Projects List for Engineering Students. Let me know if you have any other project in mind. So, till next tutorial take care and have fun !!! :)