The objective of the Embedded Hardware Design (EHD) course is to present to the student the Computing Devices, associated Peripherals and Networks along with High Level Software (C),Python and Hardware language (Verilog HDL) which are used in the design of a modern day embedded system.

Since peripherals and networks are independent of the computing device used, the course would first only consider the Microcontroller as a computing device and build up the concept of peripherals and networks around it.

Standard peripherals like Analog to Digital and Digital to Analog Converters (ADC,DAC), Universal Asynchronous Receiver Transmitter (UART), Interrupt Controller, Programmable Peripheral Interface, Real Time Clock will be covered. Different communication standards and protocols such as RS 232, RS 485, I2C, Controller Area Network(CAN), Input output devices like keyboard, keypad and LCD would be discussed.

Multitudes of computing devices that are used in an embedded system such as General Purpose Processors (GPP), Microcontrollers, Digital Signal Processors, Programmable Logic Devices, custom designed Application Specific chips will be introduced. Single board computers such as Raspberry PI & Beaglebone Black will be used to demonstrate use of Linux OS, scripting using Python, different types of memory devices, and interfacing.

The course will focus on the architecture and high level programming (C) using the AVR microcontroller (Arduino) followed by digital circuit design using Hardware Description Language (Verilog) using Field Programmable Gate Array (FPGA) for prototyping.