Microcontroller Programming

5 credits

Syllabus, Master's level, 1TE723

A revised version of the syllabus is available.
Education cycle
Second cycle
Main field(s) of study and in-depth level
Computer Science A1N, Embedded Systems A1N, Technology A1N
Grading system
Pass with distinction, Pass with credit, Pass, Fail
Finalised by
The Faculty Board of Science and Technology, 26 March 2021
Responsible department
Department of Materials Science and Engineering

Learning outcomes

On completion of the course, the student should be able to:

  • program a microcontroller in C, including the hardware configuration and interrupt routines,
  • manage parallel processes with different priorities without the help of an operating system,
  • explain the choice of data types and algorithms in view of limited resources,
  • provide a detailed description of the constraints of the selected system design,
  • debug a microcontroller application by various means.


Structure of microcontrollers and internal peripherals, memory types. Connecting analog and digital signals, including the basics of electronics. Serial communication. Hardware programming in C, device drivers, interrupt handling. Handling of parallel processes when an operating system is missing, process priority, time analysis, finite state machines. Instruction and register set as well as addressing modes for a given microcontroller family. Efficiency aspects of different data types and program structures in C. Development tools and debugging.


Lectures and laboratory work.


Written examination (4 credits). Laboratory work (1 credit).

If there are special reasons for doing so, an examiner may make an exception from the method of assessment indicated and allow a student to be assessed by another method. An example of special reasons might be a certificate regarding special pedagogical support from the disability coordinator of the university.

Other directives

The course may not be included in a degree together with 1TE663.