Course details

Microprocessors and Embedded Systems (in English)

IMPe Acad. year 2018/2019 Summer semester 6 credits

Current academic year

Embedded systems, introduction, applications. Microcontroller architecture. Memory subsystem. Programmers model, programming of the ARM core. Stack. Interrupt subsystem and its programming. On chip peripheral devices and their programming: system clock generator, timer, communication interface UART, IIC and SPI, analogue and digital input and output, RTC module. Programming techniques for embedded systems in C language.


Language of instruction



Examination (written)

Time span

26 hrs lectures, 6 hrs exercises, 8 hrs laboratories, 12 hrs projects

Assessment points

55 exam, 15 mid-term test, 16 labs, 14 projects




Strnadel Josef, Ing., Ph.D. (DCSY FIT BUT)
Šimek Václav, Ing. (DCSY FIT BUT)

Subject specific learning outcomes and competences

  • Students are familiar with general structure of microcontrollers and with the techniques of embedded systems design.
  • Students are capable to design and debug the routines and initialization routine for each peripheral device. They are skilled in utilizing of basic debugging techniques for the application programs written in C language.

Generic learning outcomes and competences

Understanding of design specificity of embedded systems using microcontrollers and techniques of application debugging.

Learning objectives

To give the students the knowledge of architecture of different microcontrollers. To acquaint with performance of individual subsystems namely CPU- programming model, flash memory, timer, interrupt subsystem, communication interface, AD converter. Make students familiar with basic rules and programming techniques in a  high-level language C as well as with embedded system design.

Prerequisite kwnowledge and skills

To be familiar with the structure of CPU  and other computer components, basics of electronics and machine-level programming. The basic knowledge of programming in C language.

Study literature

Fundamental literature

Syllabus of lectures

  1. Introduction into Embedded systems.
  2. ARM Core for microcontrollers.
  3. Memory subsystem and interrupts.
  4. Programming in C.
  5. Communication intefraces.
  6. FITkit programming.
  7. Digital inputs and outputs, ports.
  8. Timers, counters.
  9. Analogue input and output.
  10. System clock and clock generation.
  11. Power supply and power consmption of embedded systems.
  12. Practical aspects of embedded systems design.
  13. Real-time systems.

Syllabus of laboratory exercises

  1. Introduction to lab kit, serial communication.
  2. Digital input/output.
  3. Timer, PWM.
  4. Analogue input.

Syllabus of computer exercises

  1. Microcontroller programming.
  2. Lab kit - usage, structure, programming.
  3. Minerva Kit - how to use.
  4. Development tools for embedded systems with microcontroller.
  5. Microcontrollers' debugging interfaces.
  6. Development support for time-critical application.

Syllabus - others, projects and individual work of students

  1. Individual twelve-hour project.

Progress assessment

  • 4 laboratory assignments with the defense, with due-date submission to IS  (16 points max, out of that: 8 points for solution functionality, 4 points for solution quality, 4 points for solution defense quality)
  • 1 mid-term written test (15 points max)
  • 1 project with defense and due-date submission to IS (14 points max, out of that: out of that: 7 points for solution functionality, 4 points for solution quality, 3 points for solution defense quality)

Controlled instruction

Following activities are monitored: attendance and activity during lectures, exercises, laboratories and project-related works. All works have to be submitted before the deadlines; late submissions will be evaluated by 0 points.

Exam prerequisites

No conditions are applied.

Back to top