CS428 Embedded Systems Lab: Course Info

Department of Computer Science

University of Crete



E4 - Computer Architecture and Computer Systems




Spring 2024


Angelos Bilas

Manolis Marazakis


Course Info
                   Syllabus                        Assignments                 Policies


Course Information





Jan 30, 2024

·       Πρώτο μάθημα, Δευτέρα 5-Feb-2024, 16:00-18:00, A.113

·       Subscribe to the course mailing list hy428-list

·       Course schedule will always be on the CS428 web page

·       Course mailing list h y 4 2 8 - l i  s t @ c s d . u o c . g r 

·       Link τηλεδιδασκαλίας, εφ’ όσον χρειαστεί

Course Purpose


The purpose of this course is to provide an understanding of issues in the design and implementation of embedded systems as well as related operating system and virtualization support. Topics include: 

·       Communication and peripherals: interrupt controllers, LCDs, sound, serial interfaces, busses

·       Interrupts and interrupt handling NAND FLASH and memory technologies

·       Concurrency, real-time characteristics 

·       Operating systems support

·       Kernel drivers, memory management, network and storage I/O in the kernel

·       System virtualization: processor, memory, I/O 

CS428 is a lab-oriented course with hands-on assignments that guide you through working with embedded processors and the Linux operating system. You will prototype working solutions in real systems and you will go through the steps of real system design and implementation. This year we will use the Lego NXT & Arduino platforms, as well as QEMU and ARM-based, Linux-capable boards for the assignments. The course will also include in-class sessions with low-level operating systems tweaking, driver development, and virtualization mechanisms using Linux. 


Course Type

·       Area: E4 - Computer Architecture and Computer Systems

·       ECTS: 6

·       Prerequisites: CS225




·       Lecture Notes

·       Lab/Assignment Material



·       Wayne Wolf, Οι Υπολογιστές ως Συστατικά Στοιχεία, Κωδικός Βιβλίου στον Εύδοξο: 3409

·       Peter Marwedel, Embedded System Design, Κωδικός Βιβλίου στον Εύδοξο: 172897

·       Doug Abbott, Linux for embedded and real-time applications, Κωδικός Βιβλίου στον Εύδοξο: 178999

·       Peter Marwedel, Embedded System Design, Embedded Systems Foundations of Cyber-Physical Systems, 2nd Edition, Publisher: Springer, ISBN 978-94-007-0256-1. (online)

·       Paul Lokuciejewski and Peter Marwedel, Worst-Case Execution Time Aware Compilation Techniques for Real-Time Systems, Publisher: Springer, ISBN 978-90-481-9928-0. (online)

·       Michael J. Pont, Patterns for time-triggered embedded systems, ACM Press Books and Addison-Wesley, ISBN 0 201 33138 1. (online)

Lab Facilities

Assignments are to be done on CSD linux workstations and the Lego Mindstorms NXT platform. Course equipment is located in the Embedded Systems Laboratory (Room B.107). Each assignment specifies what type of equipment you will need along with the assignment instructions.



·       Course schedule will always be on the CS428 web page

·       Course mailing list h y 4 2 8 - l i s t @ c s d . u o c . g r 


Lecture 1 

Lecture 2

Backup Lecture

Monday, 16:00-18:00, A.113

Wednesday, 16:00-18:00, A.113

Friday, 16:00-18:00, A.113





Office Hours

Angelos Bilas


Monday + Wednesday (ping me after class)

Manolis Marazakis

Monday + Wednesday (ping me after class)


Teaching Assistant


Teaching Assistants


Office Hours

Dimitrios Vlachos

Embedded Systems Lab, K.316

(TBC) Wed 18:00 - 19:00, Fri 18:00 - 19:00, or  arrange via email


(c) Copyright University of Crete, Greece, Last Modified: 30-Jan-2024