Single-Course Danish 5 ECTS

Rapid Prototyping of Digital Sensor Systems

Overall Course Objectives

The course introduces the student to the microcontroller with the aim of constructing prototypes of digital measuring systems. An Arduino Uno R3 microcontroller is used to digitize sensor signals, to register user input, and to control motors, displays, and other devices.

Learning Objectives

  • explain the architecture of the ATmega 328p microcontroller and the purpose of the ALU, registers, program counter as well as the types and use of memories included in the ATmega 328p.
  • explain the principles of the binary and hexadecimal number systems and explain the binary representation of the data variable types available in standard C and Arduino C.
  • explain and be able to use all data variable types available in standard C and Arduino C and be able to use type casting.
  • write programs using Arduino C and standard C, using conditionals (if, case/switch), loop structures (for, while, do while), and user-defined functions.
  • write programs that can perform simple mathematical calculations using the built-in math functions.
  • clear and set bits in registers using bitwise operators in standard C.
  • program the Arduino Uno R3 to interface with LCD displays, LEDs, pushbuttons and handle issues like switch bouncing and pull-up/pull-down resistors.
  • program the Arduino Uno to communicate with serial peripherals using the I2C protocol.
  • explain the principle of the succesive approximation analog-to-digital converter (ADC).
  • explain the performance parameters of the ADC and program it to digitize low frequency sensor signals.
  • explain the principle of pulse-width modulation (pwm) and use it to control LED light intensity and to control a DC motor.
  • comply with the rules for participation in laboratory exercises, including arriving on time, showing consideration for fellow students, avoiding destroying equipment and components and cleaning up the workplace after the exercise.

Course Content

Sensor Technologies: Thermistors, pressure sensors and light dependent resistors.
Digital systems: Arduino Uno R3 system, ATmega 328P microcontroller, push buttons, LCD displays, LEDs, RGB LED, DC motors, digitalization of low frequency signals.
Programming in standard C: Type declaration, mathematical operations, user-defined functions, for and while loops, if blocks, bit manipulation with Arduino C and with plain C. Reading from and writing to the registers of the microcontroller.

Recommended prerequisites

An introductory course in programming. The language is not significant.

Teaching Method

Lectures, exercises, lab work, self-assessment quizzes.



A mandatory core course in the undergraduate program in Biomedical Engineering.
Participants must buy and bring their own Arduino Starter kit. It is recommended to buy “Elegoo – The most complete starter kit for UNO” several months before semester start. An Arduino Uno R4 cannot be used in the course, as it is completely different from the microcontroller used in the lectures.

Limited number of seats

Minimum: 10, Maximum: 120.

Please be aware that this course has a minimum requirement for the number of participants needed, in order for it to be held. If these requirements are not met, then the course will not be held. Furthermore, there is a limited number of seats available. If there are too many applicants, a pool will be created for the remainder of the qualified applicants, and they will be selected at random. You will be informed 8 days before the start of the course, whether you have been allocated a spot.

See course in the course database.





13 weeks


Health Tech


DTU Lyngby Campus

Course code 22439
Course type Bachelor
Semester start Week 5
Semester end Week 19
Days Wed 8-12

7.500,00 DKK

Please note that this course has participants limitation. Read more