What are the Main Embedded System Development Tools

What are Main Embedded System Development Tools? I hope everyone is fine and doing well. In this tutorial, I am going to discuss embedded system development tools. Everyone who is coming on my website must have an interest in embedded systems projects and want to become embedded system engineer. So I decided to write an article on what are the main embedded systems development tools so that you can start your career in this field by learning about these tools. You might be well familiar with Embedded System. It is no doubt that we find everywhere around us. The cameras, computers, laptops, mobile phones, and tablets that we use consist of the embedded system. There are many other real life examples of embedded systems.  Embedded System is a kind of a computer system that consists of software and hardware and performs a specific job. Here we will be sharing information about the main Embedded System development tools. There are two kinds of Embedded System Development Tools, for hardware and for software.

Types of embedded systems development tools

There are two types of embedded system development tools

  • Embedded software development tools
  • Embedded Hardware development tools

 All kinds of Embedded Systems need software’s to run them for performing specific functions.  The microcontroller contains the software for handling all the operations. For the development of software of the embedded system, there are different tools that include a compiler, editor, debugger, and assembler. Let’s discuss these embedded system software development tools in detail.

EditorMPLAB editor

  • The very first tool in the development of software for an embedded system is a text editor.
  • You need to write source code. In Embedded System Development Tools, Editor is used to writing code for embedded systems applications.
  • It is the editor where you write that code.
  • The code is written in programming language either C++ or C.
  • There is a standard ASCII text editor that is used to write source code and you save your file as ASCII text file.

Translate the code by Compiler or AssemblerTranslate the code by Compiler or Assembler

  • Compiler/Assembler is the second tool in your embedded system software development.
  • Once you are done with your source code, you need to translate that code into the instructions on the basis of which, the microcontroller will operate.
  • The set of instructions in the microcontroller is called as ‘Op Codes’.
  • Now, you might be thinking what Op Codes are.These bits are decoded and then executed.
  • Most of the times, the Op Codes are not written in bits but in hexadecimal numbers.
  • And one hexadecimal number means 4 bits.
  • Two hexadecimal number will represent 8 bits that mean 1 byte.
  • Op Codes are actually bits (0 and 1) that are present in a sequence.
  • The compiler is used to for translating the source code into another code called ‘hex code’. This code now represents the machine’s instruction code.
  • One can say that the purpose of the compiler is the conversion of a high-level programming language into a low-level programming language.


  • The codes are written into smaller parts for ease.
  • The linker is a program that combines the number of codes for execution.
  • Linkers are used for linking the codes that are saved in different files into one single final program.
  • It also takes much care of allocation of memory of chips so that the different modules saved into a single program do not overlap.


  • You can say a library is an already written program that you can use instantly and some specific function is provided by that program.For the software development tools of the embedded system, the library is very significant and appropriate.
  • Say for instance, you may download an Arduino microcontroller that is available with different libraries and you can use them in the development of your software for the embedded system.
  • Using library you can control LED’s and or read sensors like encoders.

DebuggerMPLAB debugger

  • The name debugger speaks itself.  This tool is used for debugging your code.
  • The debugger is actually as a tester and is used to test whether your code contains error or not.
  • The debugger has a complete look at the code and test if there are any errors or bugs.
  • It tests different kinds of errors like any error in your syntax or if there is any runtime error and it tells where the error is actually taking place.
  • The place where the error occurs is highlighted by the debugger so that you can easily remove your error by doing some changes.
  • So, you get to know how important debugger in the development of software is in embedded systems.

The figure shows the cycle for the development of software.embedded system development tools


  • Among all other tools used for development of software for embedded system, there is another tool stimulator.
  • The simulator enables you to know how the code that you created actually works in reality.
  • You might be able to see the interaction of sensors by changing the input entries from sensors.
  • You may analyze what type of function different components performing and what is the effect, created by changing input values.
  • After knowing about some basic tools for the software development of the embedded system, you may need to know about a software that we have here in detail.
  • Examples of simulators are Proteus which is used for simulation of the microcontroller based project and microprocessor based projects.
  • Following video lecture will show you show to use Proteus for microcontrollers simulation to check your program output

Proteus ISIS as a simulator

Proteus is software in which we can make an easily schematic capture, PCB, and simulation of a microprocessor. It’s a simple but more effective interface that simplifies the task required to be performed. It’s more attracted to the user also can say that its user-friendly.It provides a powerful working environment. The user can design the different electronics circuits with all necessary components like simple resistance, power supply, and different microprocessors or microcontroller. This application mostly used in educational institutes because it easy to use and easy to understand the students.

Proteus Feature

  • Easy to use.
  • User-Friendly.
  • Effective interface.
  • Circuit designing and schematic makes easily.
  • Provides working environment.

Microcontroller Simulation in Proteusproteus for embedded systems simualtion

The microcontroller simulation in Proteus works by applying “hex” file or another file to the microcontroller. here some important microcontrollers which we simulate in Proteus

  • Microchips
  • PIC10, PIC12, PIC16, PIC18, PIC24, dsPIC33 Microcontrollers.
  • ARM microcontrollers
  • MSP microcontrollers
  • Microprocessors

PIC Simulation

  • The Circuit
  • The Schematic
  • Select Components
  • Write Program (in Keil uVision, Mikro C  for pic etc)
  • Assembly Program
  • Attach Program
  • Test Program

Debug Program

Example of embedded systems development tools

  • Integrated Development Environment is an example of software that consists of all the tools for the development of software for the embedded system.
  • You need to have all the above-mentioned tools for the development of software for your embedded system.
  • Integrated Development Environment Software usually consists of the debugger, compiler, and a code editor.
  • Microsoft Visual Studio is an example of this software. This software is used for making many different programs of computer and is also able to support a number of different computer languages.
  • There are many Integrated Development Environment is available in the market but your choice is dependent on the type of microcontroller and processor you are using for your development.
  • For example, if you are using pic microcontroller, you can use Mikro c for pic and MPLAB for your development. if you are using ARM microcontroller, you can use Keil MDK.if you are working on embedded Linux projects, you have to choose your IDE accordingly.

Other examples of Integrated Development Environment include:

  • Xcode
  • Eclipse
  • Android Studio
  • Code Blocks
  • Adobe Flash Builder etc.
  • BlueJ

You can use other software development tools for embedded system depending on the type of microcontroller you are using. Let’s have an introduction to different IDE’s.


  • PIC microcontrollers essentially need this tool.
  • MPLAB is developed from Microchip Technology.
  • It is also an example of Integrated Development Environment software that creates program needed PIC microcontroller that you are using.
  • It enables debugging, editing and programming of PIC microcontroller.
  • MPLAB X is the advanced edition of MPLAB. You may easily download MPLAB from website of microchip free of cost.
  • You need to follow the following instructions for using MPLAB
  • Select a suitable PIC microcontroller that is able to meet the parameters and requirements of your embedded system.
  • Make a rough sketch of components of the system.
  • Then write the source according to in any high-level programming language.
  • Now, convert that source code into machine code.
  • For rectifying errors, debug the concerted code.
  • Now, put this debugged code into your microcontroller for execution.

Keil MDK for ARM-based MicrocontrollersKeil MDK for ARM

Keil is the world’s number one developer of embedded Software’s. Keil MDK is the concise software for ARM microcontroller. Keil MDK development tools include IDE, Compiler, and Debugger. It contains all the features like creating a project, building it and debugging the project. It also contains very useful and important embedded applications. There are three different Keil development softwares for ARM, which is as follow:

  • ARM Keil Microcontroller Tools for Embedded and microcontroller based projects.
  • ARM DS Development Tool for SoC, Bare-metal, Kernel, and Applications
  • ARM Models Virtual Prototyping for System Simulations.

It can control up to 3750 different devices of silicon vendors. It has user-friendly interface and easy to use in any ARM project.

So this is all about Embedded System Development Tools, I have tried to provide each and every information related to Embedded System Development Tools which will be useful for you in full understanding of embedded systems. If you are planning to design embedded system base project, this tools list will help you to get a big picture.

2 thoughts on “What are the Main Embedded System Development Tools”

  1. Sir,
    u have mentioned here two types of embedded system development tools software & Hardware development tools.
    bt explained only software development tools .
    then what are hardware development tools.
    Thanks in advance.


Leave a Comment