Skip to content
September 2026 qualifier: applications close Sun 27 Sep · Week 1 starts Fri 2 Oct
Qualifier Hub

IITM BS Embedded C Programming Lab (CS2901): Syllabus and Tips

By Editorial TeamLast reviewed

4 min readElectronic Systems
On this page

Embedded C Programming Lab (CS2901) is a 1 credit foundation lab in the IITM BS in Electronic Systems. It is the hands-on partner of Embedded C Programming (CS2101). You program microcontroller development boards to use pins, timers and serial links, and you test and debug your code in an IDE. You need the C Programming Lab first, and you finish this lab on your second foundation visit to IIT Madras.

CodeCreditsLevelPrerequisites
CS29011 (0-0-1-1)FoundationC Programming Lab (CS1901) and Embedded C (CS2101)

The syllabus names Prof. Nitin Chandrachoodan of the Department of Electrical Engineering, IIT Madras, as the instructor.

What you need before the Embedded C Lab

The sources word this in three different ways:

  • The handbook's main course table lists no prerequisite, with the C Programming Lab and CS2101 as corequisites.
  • The handbook's prerequisite section makes the C Programming Lab a prerequisite and CS2101 a corequisite.
  • The May 2026 lab policy makes the C Programming Lab a prerequisite. It also calls the Embedded C course a prerequisite of this lab.

So the C Programming Lab must be done first. For Embedded C Programming (CS2101), the answer is less clear. All three suggested study plans put the course and this lab in the same term, which fits the corequisite reading, not the policy. Ask support before you plan both in one term.

What you do in the Embedded C Lab

The syllabus gives no week-by-week plan for this lab. It lists what the experiments cover:

  • Boards and tools. You work with modern microcontroller development boards and the software used to program them.
  • HAL and GPIO. The Hardware Abstraction Layer (HAL) lets you control parts of the chip through library functions. GPIO pins are the general input and output pins, used to read inputs and drive outputs.
  • Communication. Experiments with the UART, I2C and SPI protocols, which chips use to exchange data.
  • Timers. Using the chip's timers.
  • Testing and debugging. Checking and fixing your programs inside an integrated development environment (IDE).

The syllabus does not describe how the lab is graded.

Campus visit and lab rules

  • In both approved tracks, this lab is in your second foundation visit with the Electronics Laboratory (EE1105). Option B also puts the Linux Systems Lab in that visit.
  • You cannot register for only one lab in a term. If the Electronics Lab is not possible that term, do not register for this lab alone. See the single lab rule.
  • Visit windows and tracks are explained in ES campus visits.

Who finds it hard and how to prepare

Embedded bugs are harder to see than normal program bugs. A wrong pin setting or a bad clock setup often gives no error at all. The board just does nothing.

  • Finish the peripheral and protocol weeks of CS2101 (weeks 4 to 6) before you start the lab work.
  • Start every new setup with the simplest test, such as blinking an LED. It proves the board, the tools and the upload all work.
  • Change one setting at a time, and note what you changed.
  • Use the IDE's debugger: set breakpoints and watch variables instead of guessing.
  • Keep a table of which pin does what in each experiment.

What to take before and after

Before: Introduction to C Programming, the C Programming Laboratory (CS1901) and Embedded C Programming. With this lab done, together with the rest of the foundation, you complete the foundation level.

Common questions

Can I take the Embedded C Lab without the C Programming Lab?

No. The lab policy and the handbook's prerequisite section both make the C Programming Lab a prerequisite. Clear it in your first lab visit.

Which board will I use?

The lab syllabus says only "modern microcontroller development boards". The theory course names STM32 in week 3. Your course page will give the exact board.

Is this lab the last foundation lab?

In both approved tracks, it sits in the second and final foundation visit. Once all foundation courses and labs are done, you receive the Foundation level certificate.

Official sources

All posts in Course guides

Was this page helpful?

Share with your study group:WhatsAppTelegram