Embedded Linux Device Interfacing, Workshop

Jul 1, 2017 - Jul 2, 2017
09:00 AM - 04:00 PM
Innoart Technologies Private Limited, 116,Pasumpon Muthuramalinga Thevar Road Nandanam Extension,Nandanam

This event has ended. Please contact organizer for more details.

Report Issues

Today, Linux runs on a variety of devices, from smartphones to infotainment systems to refrigerators. It is the most popular general purpose operating system, on the planet, used in embedded systems.

The objective of the workshop is to help developers understand how various sensors and actuators are accessed and controlled from a Linux based embedded system. We hope this increased understanding of the system, will lead to a better design, cleaner implementation, faster debugging, finally resulting in a better quality product.

Target Audience

Firmware Developers

With more and more embedded systems becoming connected and IoT enabled, they are being migrated to Linux based systems. Engineers need to adapt themselves to these emerging technologies.

This workshop will help firmware developers understand Linux driver architecture and how application code can access devices through the driver interface.

Application Developers

Embedded Systems are no longer restricted to firmware developers. With Linux being used in many embedded systems, Java and Python developers can also build useful products using these systems.

This workshop will help application developers learn how to interface with the sensors and actuators using interfaces like Serial, I2C, GPIO, PWM and ADC, from a high level language like Python.



  • Should be familiar with the Linux command-line.
  • Should be familiar with at-least one programming language.

Hardware and Software Requirements

  1. Participants are required to bring their own laptop, with at-least two free USB ports.
  2. Supported operating systems: Windows / Linux / Mac OS X.
  3. Should have the following software installed:
    1. putty >= 0.62
    2. python (with IDLE) >= 3.5.2

Powered By

Day 1

Introduction to Python
11:15Tea Break
11:30Introduction to OOP
12:30Modules, File IO
1:00Lunch Break
2:00Embedded Linux Introduction
Device Interfacing
4:00Tea Break
Introduction to Drivers
End of Day 1

Day 2

9:00Serial Interface
I2C Interface
11:00Tea Break
PWM Interface
1:00Lunch Break
ADC Interface
Q&A + Feedback
End of Day 2


Python Basics

  • Data Types
  • Variables & Dynamic Typing
  • Defining Functions
  • Control Statements

Introduction to OOP

  • Need for OOP
  • Defining Classes
  • The __init__ method
  • self argument
  • Lists and Strings

Modules & File IO

  • Creating Modules
  • Using Modules
  • Importing Styles
  • File IO

Embedded Linux

Embedded Linux Introduction

  • Why Embedded Linux
  • Hardware Components
  • Development Setup
  • Accessing the Target

Device Interfacing

  • Memory Interfacing
  • Address Decoding
  • Memory Mapped IO
  • Controller Based IO

Introduction to Drivers

  • Linux Device Abstraction
  • Device Files
  • Types of Drivers
  • Mouse Device Access
  • Audio Device File
  • Sound Mixer Device
  • CD ROM Device

Serial Interface

  • UART
  • RS-232
  • Python Serial Port Access

I2C Interface

  • On-board Interconnects
  • I2C Protocol
  • I2C Device Access

SysFS Introduction

  • Purpose of SysFS
  • /sys/class hierarchy


  • Introduction
  • Sysfs Interface
  • HID Devices
  • LEDs and Keys


  • PWM Signals
  • Sysfs Interface
  • DC Motors
  • Speed Control

Analog IO

  • Analog Inputs
  • Sysfs Interface
  • Light Sensor
  • Potentiometer


Organiser : Vijay Kumar B

Embedded Linux Device Interfacing, Workshop

Ask Organiser

Report spam or issues