You are logged in as: Anonymous (Author)
Roles: [Gäst]
Readers: [All]
Authors: [All]
Login | Logout

-> List exercises
-> Solutions by exercise

-> New solution
-> Course Evaluation

-> New registration
-> List existing

Programming Embedded Systems 2017 (fall)

Course Objectives
After completing the course the student will know
* how to build (program...) small embedded systems
* program in C on low level
* program structures for small embedded systems
* interfacing to sensors, actuators
* learn some typical hardware / software:
- TI MSP430, TI TivaC, Microchip PIC, Embedded Linux, some mobile OS
* basic uP Interfacing bus technology: Serial (RS-232, RS-485), CAN
* start up hardware, booting
* use error detection methods
* how to take limited resources into consideration.
( * module architecture in Linux. - if time )

Jerker Björkqvist,, Agora, room 346C

Programming Embedded Systems I & II,

Booting: Booting.pdfBooting_2.pdf

Lectures and labs: 31.10-19.12.2017
Final meeting: TBD

  • Lectures Tuesdays 14-16 hours, Agora 110A Starting 31.10.2017
  • Exercises (5) - According to separate schedule
  • Small Project in Group
  • Optional Exam (for grading 0-5)

In order to pass the course, the following requirements must be fulfilled
  • Accepted exercises
  • Project work
  • Learning Journal written

The course is graded according to 2 options:

A. Passed / failed. no exam, but all exercises and final project performed. A learning journal is required !
B. Graded 0-5, requires a exam (additional to all exercises and final project)

In case B, either of the 2 following exams should be attended:

Exam 1:
Exam 2:

Learning Journal
During the course, you should keep a learning journal. The learning journal should include what was done in the course, i.e.
* lectures (main points / what did I learn? / what was new? / did I agree with what was said? / feedback)
* exercises (the lab reports from the labs made)
* final project (report)
* feedback , i.e. what is good/bad with course lectures labs etc...


31.10.2017 14-16Introduction / Hello embedded world
7.11.2017 --NO LECTURE --
14.11.2017 14-16Structure of code / real-time / Simple embedded OS
21.11,2017 14-16-- NO LECTURE --
28.11.2017 14-16Serial programming / Flexible scheduler / Analog IO using ADC / PWM
5.12.2017 14-16Co-operative task scheduling / watchdog timers
12.12.2017 14-16Sensors and interfacing to sensors / Can-bus
19.12.2017 14-16Shared clock scheduling / Project Vision presentations
9.2.2018 13.30-16Project presentations

Excercises start Web 8.11.2017, in room 307A-C in Agora
Following lab times are available, each week, select from one of the available lab groups.
  • Group 1: Wednesday, 9-12
  • Group 2: Wednesday 13.30-16.

1. Super loopIntroduction to MSP430
Introduction to environment
Wednesday 8.11 9-12
Wednesday 8.11 13.30-16
Room 307 A-C
2. Task based software architectureCreate a task-based mini OS
Defining tasks / O-O like code
Programmable timers and interrupts
Wednesday 15.11 9-12
Wednesday 15..11 13.30-16
Room 307 A-C
3. I/O and schedulingInterrupt based scheduling
State machine
Reading switches
Low power operation
Wednesday 22.11 9-12
Wednesday 22.11 13.30-16
Room 307 A-C
4. Reading the temperatureUsing AD-converter, interfacing to internal/ external NTC, interrupt base scheduling of multiple tasksWednesday 29.11 9-12
Wednesday 29.11 13.30-16
Room 307 A-C
5. Shared clock scheduling / multiprocessorShared clock scheduling on MSP430Wednesday 13.12 9-12
Wednesday 13.12 13.30-16
Room 307 A-C
Each exercise should be documented and electronically submitted on the web address
Exercises will be performed mainly on your own in a small group, but each exercise will be started up by a short introduction and there will be a lecturer (Jerker) present in the lab.

Do a small scale project in groups of 2-4 persons. You can yourself choose the topic, but it has to be accepted by the lecturer. The environments provided by the lab: (but you can also suggest your own environment).
The projects are presented (in a seminar, orally)
A. Before the project start: A short introduction to the project
B. After the project (the results)

Example of projects
Modtronix / MicrochipInternet based home surveillance
Internet radio
AirstationTemperature display
DreamboxOwn software module, displaying temperature or weather
TI watchLear how to to use a small wrist computer / sensors
Raspberry PiThe sky is the limit....
TivaC development platformEmbedded solution
Beagle bordEmbedded solution

Equipment for projects:
There are some new equipment: presence sensor, IR transmitter/receiver attachable to SBC65EC, 3-button version of daughtercard.
Please read the this document for more information:


Exercises / evaluation

Code: 453502.0
Name ExercisesProjectLJExamSTURE

Operativsystem 2018 (period 3)
Kandidatseminarium 2018
ASP Labs 2017
Operativsystem 2017 (period 3)
Programming Embedded Systems 2017 (fall)
Kandidatseminarium 2017
Programmering i C/C++ 2016
Programming Embedded Systems 2017
ASP Labs 2015
Kandidatseminarium 2016
Operativsystem 2015/2016 (period 2)
Programming Embedded Systems 2016
Programming Embedded Systems 2015
Operativsystem 2014/2015 (period 2)
Programmering i C/C++ 2015
Kandidatseminarium 2015
Programmering i C/C++ läsår 2014-2015
Datorteknik hösten 2015
Obligatorisk praktik
Accenture Road Show
Digital Television Techniques 2015 / Wireless communication
Programmering i C/C++ läsår 2013-2014
ASP Labs 2011
Digital Television Techniques 2014 / Wireless communication
Programming Embedded Systems 2014
Operativsystem 2013/2014 (period 2)
Kandidatseminarium 2014
Kandidatseminarium 2014
JOO: ÅA <--> UTU course exhange
ASP Labs 2013
Digital Television Techniques 2013
Programming Embedded Systems 2013
Operativsystem 2012/2013 (period 2)
Programmering i C/C++ läsår 2012-2013
Kandidatseminarium 2013
Digital Television Techniques 2012
Programmering i C/C++ läsår 2011-2012
Operativsystem 2011/2012 (period 2)
Programming Embedded Systems 2012
Kandidatseminarium 2012
Digital Television Techniques (5 cp) Period IV / 2010
Programming Embedded Systems 2010
C++ järjestelmäohjelmointi 2011
Programming Embedded Systems 2011
Kandidatseminarium 2011
Operativsystem 2010/2011 (period 2)
Programmering i C/C++ läsår 2010-2011
Räkneövningar på nätet
Kandidatseminarium 2010
Huvudämnesinfo 2010
Tent 11.12.2009 / Resultat
Programmering i C/C++ läsår 2009-2010
Excercises Digital Television Techniques 2008
Programmering i C/C++ läsår 2007-2008
Praktikum i inbyggda datorsystem