Single-Course English 5 ECTS

Hands-on microcontroller programming

Overall Course Objectives

The term Smart Grid is used to describe the vision of a future energy system that incorporates a large share of renewable energy sources into a highly automated, flexible and reliable system.
Examples of Smart Grid technologies are household appliances that react intelligently to varying system conditions, automatic mechanisms for coordination of resources, and advanced information exchange systems.
The objective of this course is to gain hands-on experience with technologies used in such systems, by designing, implementing and testing a Smart Grid application on a microcontroller system.
The intelligent energy systems are used as a case for the application, but no previous experience with energy systems is required from the students.

Learning Objectives

  • understand the basic concepts of Smart Grids
  • analyze the requirements of a Smart Grid application
  • design an application that uses inputs and outputs to interact with a physical device
  • design a user interface for local control and monitoring
  • design a communication interface for remote control and monitoring
  • implement the application on a microcontroller system
  • design a test procedure that utilizes laboratory facilities to validate the function of the application
  • perform tests in the laboratory
  • document the entire process and the developed application

Course Content

Most of the time, the students will work in the laboratory in project teams.
Introductory lectures are given on:
– Smart Grids and related ICT technology
– Specific Smart Grid applications (projects)
– Arduino MKR1000/1010 microcontroller system and its peripherals (A/D and D/A converters, Timer, I/O, Interrupte, and LCD display, etc.)
– The integrated development environment Arduino Embedded Workbench
– Communication systems in intelligent energy systems
– User-centered interface design

Recommended prerequisites

30010/02318/02101/02102/02312/02314, or equivalent
basic knowledge about programming, such as C, Python, HTML, JSON, Java or JavaScript.

Teaching Method

Introductory lectures and project teamwork

Limited number of seats

Maximum: 50.

Please be aware that this course has 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.





3 weeks




DTU Lyngby Campus

Course code 46760
Course type Candidate
Semester start Week 23
Semester end Week 26
Days Mon-fri 8:00-17:00

7.500,00 DKK

Please note that this course has participants limitation. Read more