Basic Information

  • Course Code: Cs 684
  • Course Name: Embedded Systems
  • Course Offered In: 2023-‘24
  • Semester Season: Spring
  • Instructors: Prof. Kavi Arya, Prof. Paritosh Pandya
  • Prerequisites: No prerequisites but a basic knowledge of microcontroller and serial communication protocols like SPI, UART could be helpful, specifically in the course project
  • Difficulty (1 being easy and 5 being tough): 3

Course Content

The beginning of the course consists of design of FSMs using a language called “Heptagon”. The later part involved various methods of scheduling for RTOS and programming device driver for embedded systems. Throughout the course there were assignments related to Heptagon and the course project. Towards the end of the course there was a course project. The problem statement for the project was a hardware implementation of a valet parking bot, in which we have to design a line following robot with obstacle avoidance to park the robot at a given position. Topics taught: Model Based Design - Introduction to FSM, State Charts, Lustre/Heptagon LUSTRE/Heptagon - Synchronous Dataflow Programming, Finite State Automaton, Concurrent Automata Embedded System Device Drivers - Motor Interfacing and PWM, ADC Interfacing RTOS

Contents and resources for last year course is available at :https://cse-erts.github.io/cs684/ *Could be updated after the semester start.

Feedback on Lectures

The lectures were easy to follow and slides were good enough. Prof. Kavi Arya lectures were a little vague but Prof. Paritosh Pandya’s lectures were relevant and organised. There were theory lectures as well as lab lectures. The lab lectures were focussed to help with the project and were conducted by the TA’s towards the end of the course. I personally didn’t find the lab lectures to be useful, as most of the stuff was pretty basic and could be easily found in the manual of electronics of the robot in a much detailed manner.

Feedback on Evaluations

There were 3 assignments, 6 labs, 2 quizzes, midesem , endsem, course project fro evaluation.

Weightage: Quizzes : 5% Assignments: 20% Labs : 15% Project : 30% Midsem : 20% Endsem : 10%

The assignments were related to the theory covered in class and the lab were related to the course project. The midsem was straight forward except for the portion taught by Prof Kavi Arya, just like the lectures it was very vague. Endsem was focussed on the topics taught by Prof. Paritosh,

Study Material and Resources

For theory, lecture slides were sufficient. For any hardware related issue in the project, solutions are generally available on the internet as the hardware is pretty basic like Arduino and some basic sensors. Other resources for assignments, labs and project were available on the course website.

Final Takeaway

I think there isn’t much to learn from the course for 3rd or 4th year electrical engineering student, most of the stuff was pretty basic in terms of hardware which already get covered in core lab courses, the only challenging part was the project, primarily due to improper hardware resources. The algoritms can be developed using simple embeddded c, but the course focused on developing these algoritms by translating heptagon code into embedded c. For branches other than electrical , it could be taken as an introductory course to embedded systems. For elec students, I think EE 712 is a much better altrernative. Overall, the course is easy to follow, major difficulties would be probably caused by malfunctioning hardware.