Skip to main content

BIM 443 - Embedded Systems

Faculty of Engineering and Natural Sciences · Computer Engineering · Undergraduate

ECTS: 5 T+P+L: 2+0+1 Departmental Elective
Coordinator: Dr. Öğr. Üyesi Özgür SAĞLAM
Instructors: Dr. Öğr. Üyesi Özgür SAĞLAM

Course Objective

The objective of this course is to study embedded systems, such as the Raspberry Pi kit, to implement electronics and computer engineering projects and to interface with the real world by using the latest technologies of embedded Linux and Python.

Course Content

Introduction to embedded systems, getting started with the Raspberry Pi, basic Linux commands, Python programming basics, GPIO programming & interfacing, ADC & temperature sensor interfacing, SPI interfacing

I2C interfacing, stepper motor interfacing, servo motor interfacing, ultrasonic ranging, and student projects.

Course Learning Outcomes

  1. Describes the definition of embedded systems and architectures.
  2. Uses embedded Linux (Raspbian) commands and utilities.
  3. Distinguish Raspberry Pi Hardware and configurations.
  4. Writes well-commented Python programs.
  5. Analyse well-commented Python programs for compiler errors/warnings.
  6. Interface embedded peripherals like GPIOs, i2c, SPI, and 1-wire.
  7. Design projects using external modules such as ADC, motors, sensors, and ultrasonic ranging kits.

Core Area Distribution

(44) Physical Sciences%10 (48) Computing%50 (52) Engineering and Engineering Trades%40

Teaching Methods

ExpressionQuestion-AnswerDiscussionExercise and PracticeGroup StudyExperiment - Test / Lab/ Workshop / Field PracticeProblem Solving

Assessment & Evaluation

Performance Assignment ( Lab / Workshop / Field Work / Seminar / Presentation / Completion Study / ThesisProject / DesignTesting (Essay / Tests: True-Falls, multiple-choice, short answer, matching)

ECTS / Workload

ActivityQuantityDuration (h)Total Workload
Course Duration (Including Exam Week)15345
Out of Class Study Period13339
Midterm166
Quiz000
Assignment000
Practice12336
Final166

Course Schedule

WeekSubjectPreparation
1Introduction to Embedded SystemsLecture notes
2Getting Started with The Raspberry PiLecture notes
3Basic Linux CommandsLecture notes
4Embedded Programming fundamentalsLecture notes
5Embedded ProgrammingLecture notes
6GPIO Programming & InterfacingLecture notes
7ADC & Temperature Sensor InterfacingLecture notes
8Midterm ExamLectures
9SPI interfacingLecture notes
10I2C InterfacingLecture notes
11Stepper Motor InterfacingLecture notes
12Servo Motor InterfacingLecture notes
13Ultrasonic RangingLecture notes
14Student ProjectsPresentations
15Students' ProjectsPresentations
16Final ExamLectures