EE 1334 microprocessors and embedded systems
(Theory + Labs)
This course provides an introduction to
microprocessors and embedded systems, focusing on their role in real-world
engineering applications. It emphasizes the design and implementation of
embedded solutions using high-level programming languages, such as C and Python,
with hands-on experience on Atmel microcontrollers used in Arduino platforms.
Students will gain the foundational knowledge required to program, interface,
and debug embedded systems, focusing on modular programming techniques,
interfacing sensors, and controlling hardware peripherals.
COURSE LEARNING OUTCOMES (CLOs)
| Code | Course Learning Outcomes | ABET SO-KPIs |
| Knowledge and understanding | |
| K1 | Analyze the architecture and operation of microcontrollers/ microprocessors | 1.1 |
| Skills | |
| S1 | Develop and debug C/Python programs for microcontroller/microprocessor-based systems | 2.3 |
| S1 | Interface hardware components with microcontrollers/ microprocessors | 2.5 |
| S2 | Implement communication protocols and real-time applications. | 6.2 |
| Values, autonomy, and responsibility | |
| V3 | Work effectively in teams to design and build embedded projects. | 5.1 |
LIST OF EXPERIMENTS | No | List of Topics | | 1 | Introduction to Microprocessors and Microcontrollers: Comparison between microprocessors and microcontrollers; real-world applications | | 2 | Overview of Atmel Microcontrollers and Arduino IDE: Introduction to the Atmega328p used in Arduino boards; setting up the Arduino IDE LAB1: Introduction to Arduino IDE: Setting up and testing simple LED programs | | 3 | Basics of C Programming for Microcontrollers: Data types, loops, and control structures in C for embedded systems | | 4 | GPIO Programming in Arduino: Interfacing LEDs, switches, and relays LAB2: Programming GPIO Pins: Controlling LEDs and switches | | 5 | Introduction to Python/C++ for Embedded Systems: MicroPython/C++ and its usage on ESP32 boards | | 6 | Timers, Interrupts, and Delays: Using timers and interrupts to manage tasks asynchronously | | 7 | Communication Protocols: UART, SPI, and I2C: Interfacing with sensors and displays via communication protocols LAB3: Communication protocols: Implementing UART and I2C communication. | | 8 | Midterm Exam: Covers microcontroller basics, programming, and GPIO interfacing | | 9 | Sensor Interfacing: Working with temperature, motion, and proximity sensors LAB4: Sensor Interfacing: Interfacing temperature and motion sensors. | | 10 | Motor Control and PWM: Controlling DC motors, servo motors, and fans using PWM signals LAB 5: Motor Control: Driving DC Motors and servos using PWM. | | 11 | Real-Time Applications: Implementing real-time tasks using timers and interrupts Final Project: Integrating multiple sensors and actuators in a real-time project. | | 12 | Memory Management and Data Logging: Working with EEPROM and SD cards for data storage | | 13 | Project Development: Prototype Design: Planning, coding, and testing a small embedded project | | 14 | Debugging and Troubleshooting: Identifying and fixing software/hardware bugs | | 15 | Final Project Presentation and Course Review: Present group projects and reflect on learning outcomes
|
| 
|