2110xxx Hardware Design and Implementation
Department of Computer Engineering
Faculty of Engineering, Chulalongkorn University
Course duration : Aug-Dec 2026
Lecturer
: Prabhas Chongstitvatana, Prof.
office Eng build 4,
Floor 17
email: prabhas dot
c at chula dot ac dot th
Lecture
: Monday 13.00-16.00 at Chulapat 4
Discord Channel: https://discord.gg/enr4UcpdC
(expired in 30 days)
The content of the course is a mixed between hardware and software.
The contents include embedded systems with special requirement on
constraints such as low power, high integration, real-time. On the hardware
side, it includes embedded processors and low level programming, logic
design, integrated circuits. On the software side, it includes
Operating systems scheduling and real-time constraints. Here are the
list of topics:
Proprocessor
Assembly level programming
Memory, Peripherals and Microprocessor interface
Operating systems and task scheduling
Real-time systems and their requirements
How we learn
We learn by doing both hardware and software. The topics include
embedded system model construction, some programming, and hands-on session.
The assignments will be given out periodically throughout the term. A small
project will be given around midterm. Students must present the results of
their projects. At the second half of the semester, a real hardware
will be presented. Students are assigned to design and implement a
small embedded system. The project will be presented in the class. The
final exam is "open book" and has an element of system design plus some
"pseudo" programming.
Announcement
3 Aug 2026 The class starts.
...
Timetable
August
Introduction
Embedded
Processors
Embedded Systems Design
Microprocessors
IOT
board (platform for interrupt programming) demo-rz.txt
example of using IoT board (in Rz): stopwatch
programming with interrupt counting
events
Assembly language S2
version 1: 32-bit processor
example of writing assembly
language: find max
Rz
language and its compiler
September
Operating systems and task scheduling basic
OS concepts
Multitask-OS (MOS) (in assembly) mos2.txt
(in Rz) mos-rz.txt
lecture from Matt Welsh, Harvard, semaphores.pdf
semaphore: demo from William Stallings, U.
of Queensland
implementing semaphores
example reader-writer mos-rz2.txt
Project discussion
logic design Basic Logic
RISC-V
instruction set
datapath
control unit
RISC-V
assembly language programming
October
Project presentation
MT-MOS variant of sim21 that has fixed 4-threads
real-time systems RTOS real-time
scheduling
Embedded Systems
Communication
Embedded systems practice (Arduino
Board)
Actual hardware: Arduino experiment
November
memory, memory and
interrupt i/o memory system
design
peripherals and interface
peripherals
(counter, timer, PWM, step motors, LED display, LCD, UART, USB)
digital/analog
conversion (ADC, DAC, MCP4922
code experiment)
Internet of Things: Everything
as a service
I2C bus
i2c spec RTC
experiments DS1307 (polling)
(interrupt)
How to connect ESP32-xx to
Arduino IDE
December
final exam
final project presentation
Homework
Weekly assignments in Mycourseville
Recommended Textbooks
1. Philip Koopman, Better Embedded System Software, Drumnadrochit
Press, 2010, ISBN-10: 0-9844490-0-0.
2. Ball S, Embedded Microprocessor Systems: Real World Design 2nd
edition, Newnes 2000
3. Vahid F, Givargis T, Embedded System Design: A Unified Hardware/Software
Introduction, Wiley 2002
Additional Materials
Transistor
level simulation of an antique CPU. 6502 is used in the iconic Apple
II machine.
http://visual6502.org/JSSim/index.html
Computer Organization and Design: The hardware/software interface
(RISC-V edition), D. Patterson, J. Hennessy, Morgan Kaufman, 2018. link
to Amazon
RISC-V Instruction Set Manual v.2.2 2017
Course Assessment
Assignments 10%
Mid project 30%
Final project
30%
Final
exam
30%
Tools
Acknowledgement
Slides and presentations are kindly permitted by Setha Pan-gnam, Chalermek
Intanagonwiwat, Krek Piromsopa
last update 3 Aug 2026