Master’s studies

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), 3, 4, 5
  • Established: 2010-03-16
  • Established by: The Faculty Board of Science and Technology
  • Revised: 2016-04-19
  • Revised by: The Faculty Board of Science and Technology
  • Applies from: week 26, 2016
  • 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
  • Responsible department: Department of Engineering Sciences

Learning outcomes

After passing 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.

Reading list

Reading list

Applies from: week 27, 2016