Skip to main content
Department of Information Technology

Embedded Systems Project

This page gives information on the project done in the course "Programming for embedded systems;" expect updates in the near future.


  • 2011/05/11: A hint concerning the provided demonstration project: to use additional functionality or peripherals of the MCU/board, you might have to add further firmware sources to the project (provided in the folder Firmware/src). It can be necessary to add the #include "assert.h" to some of those sources, in case the compiler complains that the functions "assert" or "assert_param" are not defined
  • 2011/05/03: New version of the demonstration project, now also including drivers for the touch screen

Development hardware

The common hardware provided for this project is:

This hardware has now arrived and is immediately available. It can be used in combination with a Windows PC and the uVision development environment (so far tested with evaluation version 4.20) to develop and run ARM Cortex M3 software/systems.

For working with the boards and on the projects, the following lab slots have been reserved:

Date Time Place
Wednesday Apr 20th 13:00 - 17:00 1313
Thursday Apr 28th 13:00 - 17:00 1313
Thursday May 5th 13:00 - 15:00 1313
Friday May 6th 15:00 - 17:00 1313
Wednesday May 11th 13:00 - 15:00 1313
Friday May 13th 15:00 - 17:00 1313
Thursday May 19th 13:00 - 15:00 1313
Friday May 20th 15:00 - 17:00 1313
Thursday May 26th 13:00 - 15:00 1313
Friday May 27th 15:00 - 17:00 1313

Alternatively, we offer the individual groups to take one board + programmer kit home for the duration of the project, to be able to work with the hardware whenever you wish to; in this case, you will have to sign a form stating that you are responsible for the hardware and have to provide reasonable compensation in case of loss or damage. Send an email to Philipp Ruemmer in case you are interested in this.


  • Reference manual for the STM micro-controller
  • Description how to properly connect the analogue input ports of the boards to the headphone output of a music player or computer (provided by Amir Motevakel)

Development with uVision

We provide a demonstration project (project skeleton) to simplify starting with the software development. Compilation has been tested using uVision 4.20, but should (most likely) also work with uVision 4.14 (the version that is currently installed on the lab computers in 1313). The project contains

  • required initialisation code
  • drivers to use LCD/LEDs, as well as the touch screen and further peripherals present on the board
  • the FreeRTOS operating system.

Altogether, the provided framework closely corresponds to the environment that you have used in the assignments and the lab.

NB: Simulation of the STM3210C-Eval board currently does not seem to work with uVision; compilation and execution of software on the actual development board does.

Further code examples

  • How to do PWM with the development board (the provided project mostly coincides with the skeleton above, but the ledTask now sets up PWM on one of the pins)

Updated  2011-06-09 16:47:11 by Philipp Rümmer.