Electrical Engeering BA (B), Introduction to Embedded System Programming, 6 Credits


Electrical Engeering BA (B), Introduction to Embedded System Programming, 6 Credits

General data

  • Code: ET095G
  • Subject/Main field: Electrical Engineering
  • Cycle: First cycle
  • Progression: (B)
  • Credits: 6
  • Progressive specialization: G1F - First cycle, has less than 60 credits in first-cycle course/s as entry requirements
  • Answerable department: Electronics Design
  • Answerable faculty: Faculty of Science, Technology and Media
  • Established: 3/17/2016
  • Date of change: 3/30/2021
  • Version valid from: 7/1/2021


The course aims to provide a basic understanding of what embedded systems are, what they can be used for, and how they are programmed. Student will learn to program a modern microcontroller-based embedded system and to utilize its resources in order to perform application tasks.

Course objectives

After passing the course, students should be able to:
- describe what differentiates embedded computing from personal computing,
- describe the internal resources of a microcontroller,
- handle a development environment for a modern microcontroller,
- write simple programs for a microcontroller using C/C++ programming language,
- handle both analog and digital signals to / from microcontrollers,
- link the microcontroller with other devices through serial interface such as SPI, I2C, UART,
- use and program time information within a microcontroller,
- use interrupt and polling to react in software to events in the outside world.


- Embedded system applications
- Embedded systems vs. personal computing
- Internal resources of microcontrollers
- C/C++ programming for embedded systems
- Development environments for microcontrollers
- Planning and documentation of embedded system software
- Volatile and non-volatile memory
- General purpose input/output (GPIO)
- Serial communication interfaces (e.g., UART, SPI, I2C)
- A/D converters
- Timers, Counters and PWM
- Interrupt and polling

Entry requirements

Electrical Engineering BA (A), course in Digital Electronics. Computer Engineering BA (A), 12 credits including Basic Computer Science and first course in programming.

Selection rules and procedures

The selection process is in accordance with the Higher Education Ordinance and the local order of admission.

Teaching form

Instruction is given in the form of lectures and programming exercises.

The workload of the entire course is normally 160 hours. This means that in addition to the scheduled activities a considerable amount of time needs to be spent for individual studies. The amount of teaching hours for a specific course instance is defined by the course schedule.

Lectures can be given in Swedish or English.

Examination form

L105: Laboratory exercises, Oral and Written Presentation, 3.0 Credits
Grade scale: Fail (U) or Pass (G)

T105: Written exam, Written examination, 3.0 Credits
Grade scale: Seven-grade scale, A, B, C, D, E, Fx and F. Fx and F represent fail levels.

Grading criteria for the subject can be found at www.miun.se/gradingcriteria.

The examiner has the right to offer alternative examination arrangements to students who have been granted the right to special support by Mid Sweden University’s disabilities adviser.

Grading system

Seven-grade scale, A, B, C, D, E, Fx and F. Fx and F represent fail levels.

Course reading

Reference literature

  • Author: Noam Nisan and Shimon Schocken
  • Title: The Elements of Computing Systems
  • Edition: 1st Edition
  • Publisher: MIT Press

Required literature

  • Author: Rob Toulson and Tim Wilmshurst
  • Title: Fast and Effective Embedded Systems Design - Applying the ARM mbed
  • Edition: 2nd Edition
  • Publisher: Newnes

The page was updated 9/2/2014