full embedded system development

Embedded system is any electronic device with a programmable computer such as Factory control system, ECU system, Avionics systems, Temperature controllers, Theft tracking system etc.

Microcontroller Unit (MCU)

One of the most fundamental stages of Embedded System development is Microcontroller selection that meets system solution technical specifications. This can be a medium performance MCU for commercial automation systems and Industry-scale high performance controllers. Microcontroller selection involves the following selection criteria:

  • Processing power
  • Memory, RAM and Flash
  • Required peripherals (I2C, SPI, UART, USB, ETH, FSMC, LTDC, etc…)
  • Availability of software libraries, drivers, middleware and code examples.
  • Reliability, Scalability and robustness.
Embedded Software

Software development for Embedded system is the most critical stage, and that is where most of the investment and effort is put to ensure a highly reliable software that meets industry standards. Embedded Software consists of several parts:

  • Application code: this is where the basic microcontroller programming is carried out to structure the code, add required peripherals and write application code that solves client’s problem.
  • Device drivers: Involves developing software drivers for externally connected devices to the microcontroller such as sensors, controllers, processing devices and actuators.
  • RTOS Software: Real-Time-Operating-System is the heart of embedded software that controls and puts together all parts of software through precise scheduling and multi-threading.
  • Middleware development: When an application requires some processing, control and intelligent algorithms or operations to be carried out, separate middleware/library is written to increase software modularity and usability. Examples of which are; Matrix library, PID Control library, Ethernet library, else.
Embedded Hardware

Hardware development is another critical stage where a lot of investment is made to ensure a robust hardware solution with excellent performance, high level reliability and safety. Hardware building involves the following activities:

  • Hardware components selection that meets both performance and environment criteria.
  • Schematic design and drawing for all Electrical Circuits.
  • Computer-Aided testing/simulation
  • PCB design and assembly.
  • Control box design and manufacturing
User Interface (UI)

Human-machine interface is another essential part of embedded system that is required in all applications. We provide wider range of User Interface solutions for Embedded Systems:

  • LCD display with a GUI software as part of the system
  • Physical control with buttons, switches, light indicators and Keypads.
  • PC Interface application for monitoring and control of the system
  • Remote monitoring and control via cloud.
  • Industrial SCADA User Interface.

Embedded Systems design and development is approached through multiple stages of development as highlighted below:

Requirements definition

This stage concerns with capturing requirements from client to ensure a comprehensive understanding of the problem that client need to solve through an Embedded system development.

Theory development and proof of concept

Once requirements are defined and confirmed, theoretical solutions are then developed and tested through computer-aided simulation to develop an optimal theoretical approach to the problem.

Rapid prototyping

Full embedded system prototype based on theory is then rapidly developed test the proposed solution. This stage takes the longest as it involves most of the software and hardware development work.

Embedded system

After all the hard work is done in the previous stage, Software is finalized; software is fully re-structured, extensive error handling is added, and thoroughly tested. For hardware part, PCB boards are design, control box is made to assemble system together. System is then fully integrated, test and deployed to client’s plant.