Operating system development for Raspberry Pi

Simple user
Overall rate
  • 1
  • 2
  • 3
  • 4
  • 5
You voted:

transferable adaptability innovative acceptability impact effectiveness availability creativity collaborative

View the translated version

The good teaching practice at a glance

Subject of practice


Target groups


Educational level

Higher Education

Short Summary

Through a couple of hands-on laboratory exercises students learn how to:

  • use Raspberry Pi,
  • program an operating system in assembly code,
  • compile, install and run operating system on Raspberry Pi.

Each student had his own Raspberry Pi and completed the exercises by himself. Student demonstrators were helping the students with the installation of required software and as well as in conducing the exercises.

Duration of the implementation

2014-11-30 22:00:00 - 2015-01-20 22:00:00

Difficulty of ICT solutions used


Detailed description

Age of learners

20 - 35

Learning outcomes

Knowledge of the basics of operating systems development in assembly code. Competencies to compile, install and run operating system on Raspberry Pi.

Typical learning time

4 hours

Description of challenges faced (Are there any difficulties teachers/learners might face?)

It is important to prepare all technical requirements and test it before conducting the exercises.

Each student has to be supplied with:

  • PC capable of writing to the SD card and installing software
  • GNU compiler toolchain that targets ARMv6, such as MinGW, Msys and Yagartoo
  • Raspberry Pi computer with Raspbian OS on SD card
  • power supply
  • HDMI to HDMI cable
  • monitor with HDMI input/output

Detailed description

The practice is divided into a series of exercises designed to be taken in predefined order. Each exercise includes some theory, and also a practical experience, completed with a full answer.

By the end of the practice, the students should know enough about Operating Systems that they could try to put together everything they have learned and make one.

The practice begins with the introduction that does not contain a practical element, but exists to explain the basic concepts of what is an operating system, what is assembly code, and other important basics.

The practice includes following exercises:

Lab 1

  1. The first exercise contains an explanation about how to get started and teaches how to enable the 'OK' LED on the Raspberry Pi board near the RCA and USB ports.
  2. The second exercise builds on previous exercise by teaching how to use the timer to flash the 'OK' LED at precise intervals.
  3. The third exercise builds second exercise using it to flash the SOS morse code pattern on the 'OK' LED.

Lab 2

  1. The fourth exercise teaches some basic theory about graphics, and then applies it to display a gradient pattern to the screen or TV.
  2. The fifth exercise builds on fourth exercise by teaching how to draw lines and also a small feature on generating pseudo random numbers.
  3. The sixth exercise builds on fifth exercise by teaching how to draw text to the screen, and introduces the concept of the kernel command line.
  4. The seventh exercise builds on sixth exercise by teaching how to manipulate text to display computed values on the screen.

Learning Activities / Implementation

Normal 0 21 false false false HR X-NONE X-NONE


The teacher should prepare all technical equipment including:

  • ·         Installation of Raspbian Operating system on Raspberry Pi computers
  • ·         Installation of GNU compiler toolchain that targets ARMv6 on PCs


Resources used to realise the practice
Infrastructures/material resources
Tools used to realise the practice

PowerPoint presentations and support from student demonstrators in class

Country of originCroatia
Language of the practiceCroatian
Website relatedhttp://www.pmfst.unist.hr/heritage/gallery/
Status of the practiceFinal
Download full practice desciprion
Area of good practice
  • ICT enabled learning - Using digital resources for face-to-face classroom practice & for online learning/blended classroom practice
This practice is
Transferable, Innovative, Acceptability, Impact, Effectiveness
Further contributors of this practice
The practice is prepared according to the course of Computer Laboratory, University of Cambridge
Useful literature

About the author

Name of contributorJelena Nakić
Affiliation of contributor Lecturer
Institution where this practice was implementedFaculty of Science, University of Split, Croatia
Contact e-mailjelena.nakic@pmfst.hr