Embedded System

About workshop:

Build real-world embedded solutions using a bottom-up approach from simple to complex in this hands-on, lab-based workshop.

Learn how electronic gadgets are designed, developed, and built as embedded systems that shape the world. This is a hands-on, learn-by-doing workshop that shows you how to build solutions to real-world problems using embedded systems. The course uses a bottom-up approach to problem solving, building gradually from simple interfacing of switches and LEDs to complex concepts like display drivers, digital to analog conversion, analog to digital conversion, interrupts, and communication. We will present both general principles and practical tips for building circuits and programming the microcontroller in the C programming language.

What you'll learn:

  • Understanding of embedded systems using modular design and abstraction
  • C programming: considering both function and style
  • How to build and test circuits with switches, LEDs, resistors, potentiometers, and liquid crystal displays
  • Synchronization of hardware and software input/output with switches, lights, sensors. motors, and liquid crystal displays
  • How to solve problems using a finite state machine
  • Implementation of an I/O driver and multi-threaded programming using interrupts
  • Debugging
  • How to read a data sheet
  • How to construct a working embedded product


  • Microcontrollers
  • Harvard and von-Neumann architecture
  • Embedded C
  • Peripheral Interfacing
  • De-bouncing, I2C, SPI and UART
  • Interrupts, Serial and Parallel communication, Working Project