All courses
EMB 115
Term 2
4 credits
Microcontroller Fundamentals
Students will learn microcontroller architecture, programming in C, interfacing with peripherals, and basic debugging techniques. Through hands-on labs, participants will develop skills in designing, implementing, and testing embedded solutions for various applications. This course forms a core foundation for further study in embedded systems engineering technology.
Prerequisites
Course outline
Lectures, virtual labs, and graded assignments — completed in your browser.
01Introduction to Embedded Systems and Microcontrollerslecture
02Microcontroller Architecture and Memory Organizationlecture
03Introduction to Embedded C Programminglecture
04Lab 1: GPIO Control - Blinking LEDs and Button Inputslab
05Assignment 1: Basic Embedded C Programming Challengesassignment
06Timers and Counterslecture
07Interrupts and Pollinglecture
08Lab 2: Interrupt-Driven Systems and Timers for Delayslab
09Analog-to-Digital Conversion (ADC)lecture
10Serial Communication Protocols (UART, SPI, I2C)lecture
11Assignment 2: Interfacing with an ADC and Displaying Dataassignment
12Lab 3: Implementing Serial Communication with a Peripherallab
13Comprehensive midterm reviewlecture
14Final reviewlecture
Syllabus
* **Course description:** This course provides a comprehensive introduction to microcontrollers, their internal architecture, and their role in embedded systems. Students will gain practical experience in programming microcontrollers using the C language, covering topics such as I/O operations, interrupts, timers, analog-to-digital conversion, and serial communication. Hands-on laboratory exercises using development boards will reinforce theoretical concepts and foster problem-solving skills for real-world embedded applications.
* **Learning outcomes:**
* Explain the fundamental architecture and operational principles of common microcontrollers.
* Develop C programs to control microcontroller peripherals such as GPIOs, timers, and ADCs.
* Implement and debug embedded software for basic input/output and communication tasks.
* Design and test simple embedded systems using standard development tools and practices.
* Interface microcontrollers with external components and sensors to achieve specific functionalities.
* **Assessment breakdown:**
* Labs & Practical Exercises: 40%
* Quizzes & Homework: 20%
* Midterm Exam: 20%
* Final Project/Exam: 20%
* **Policies:**
* **Attendance:** Regular attendance is expected and crucial for success. Students are responsible for all material covered in missed classes.
* **Late Work:** Late lab submissions will incur a penalty of 10% per day, up to a maximum of 3 days. Late assignments beyond 3 days will not be accepted without prior arrangement due to extenuating circumstances.
* **Academic Integrity:** All work submitted must be original. Plagiarism or cheating will result in a failing grade for the assignment and may lead to further disciplinary action as per college policy.
* **Lab Safety:** Adherence to all lab safety protocols is mandatory. Failure to comply may result in expulsion from the lab session.