Syllabus for Microcontroller Programming

Programmering av enkapseldatorer

  • 10 credits
  • Course code: 1TE663
  • Education cycle: Second cycle
  • Main field(s) of study and in-depth level: Technology A1N, Computer Science A1N, Embedded Systems A1N
  • Grading system: Fail (U), Pass (3), Pass with credit (4), Pass with distinction (5)
  • Established: 2010-03-16
  • Established by:
  • Revised: 2021-03-26
  • Revised by: The Faculty Board of Science and Technology
  • Applies from: week 26, 2022
  • Entry requirements: 120 credits within technology/science, of which 60 credits within Computer Science, including courses in Computer Architecture and Imperative Programming. Alternative: 120 credits within technology/science, of which 60 credits within electrical engineering, including courses in analogue and digital electronics, and imperative programming.
    English language proficiency that corresponds to English studies at upper secondary (high school) level in Sweden ("English 6").
  • Responsible department: Department of Materials Science and Engineering

Learning outcomes

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

  • independently design and implement an embedded system based on an eight bit microcontroller, taking into account energy conservation and possible software errors,
  • program a microcontroller using C, including hardware configuration and interrupt service routines,
  • manage parallel processes with different priority and real time constraints without the aid of an operating system,
  • select data types and algorithms suitable for the architecture and instruction set of a given microcontroller,
  • give a detailed description of limitations of the chosen system design,
  • debug a microcontroller application using different tools.


Typical architecture and internal units of a microcontroller, different types of memory. Interfacing of analogue and digital signals, including basics of electronics. Serial communications. Low level programming in C, drivers, interrupts service routines. Management of parallel processes without the aid of an operating system, process priority, timing analysis, finite state machines. Instruction and register sets and addressing modes for a given microcontroller family. Efficiency aspects on different data types and code snippets in C. Development tools. Planning and realisation of a microcontroller-based project.


Lectures, laboratory work and project supervision.


Written and oral presentation together with demonstration of project work.

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.

Reading list

The reading list is missing. For further information, please contact the responsible department.