This is the first course in a series of courses at the IoT gateway level. Embedded Linux is an important operating system that is widely used in gateway devices. The course introduces Embedded Linux and covers porting of Embedded Linux into target platforms. The course also covers the concepts of threads, inter-process communication, and memory management that are critical and necessary while developing firmware for gateway devices.



  • Basic understanding of C Language
  • Basic knowledge in electronics is helpful but not mandatory
  • IEEE-BLP's Embedded Computing for IoT Systems is recommended but not mandatory
  • No prior knowledge about the Internet of Things is required

Course objectives

  • Embedded Linux is now widely used for gateway level devices in IoT for developing numerous IoT applications.
  • The course introduces Embedded Linux and covers concepts of porting it into target platform.
  • Some of the key topics like process synchronization, Inter-Process Communication (IPC), and memory management are dealt with in depth.
  • This would not only help the learner to understand the concepts but also enable them to build applications.

Reasons to enroll

  • To design and develop IoT gateway-level based devices
  • To work with Embedded Linux operating system
  • To understand and apply the concepts of porting embedded linux into target platforms
  • To work with threads: creation, deletion, and more
  • To understand various inter-process communication techniques necessary for developing applications for gateway devices
  • To employ memory management techniques while designing gateway devices

Who can enroll?

  • New employees going through onboard training in Embedded Systems
  • Second- and third-year engineering students studying electronics/computer science engineering or related fields
  • Software engineers/working professionals who are keen to learn about IoT gateway level development
  • Hobbyists who would want to build IoT gateway level applications

Outcomes of this course

The course will help you:

  • Get introduced to Embedded Linux
  • Understand concept of porting Embedded Linux into target platforms
  • Understand concepts of thread
  • Explain about process synchronization and its importance
  • Understand inter-process communication and its usage
  • Explain memory management techniques


E-Learning modules; run time: 30 hours

  1. Introduction to Linux
  2. Introduction to Operating System
  3. Introduction to Kernel
  4. Linux Commands and File Permissions
  5. Customizing Embedded Linux
  6. Processes and Signals
  7. Threads
  8. Single and Multi-Core Systems
  9. Process Synchronization
  10. Interprocess Communication
  11. Pipes and Queues
  12. File System
  13. Memory Management


Read the FAQs