# Syllabus

## Syllabus

## 2025/2024

{% embed url="<https://docs.google.com/spreadsheets/d/1KMxh91lhzOutbreEmb0z_5PnNPWuz3xi/edit?ouid=102913037255517680681&rtpof=true&sd=true&usp=sharing>" %}

***

## 2023

### Preparation

* Exercise: C Programming Revision
* Exercise: Bit-wise Operation for Register

### Week 1

**Day1**

Lecture

* Grade Guideline [\[download\]](https://drive.google.com/file/d/1OXKkR2Dztf9z-J-1cLM9Aar0pOKg2zT6/view?usp=sharing)
* Course Introduction [\[download\]](https://drive.google.com/file/d/1Mjfh2wXrMOfTrvloatAfTTJqvqOUoesS/view?usp=sharing)
* Review of Digital Logic [\[download\]](https://drive.google.com/file/d/1N4PWsLOabA62MfZaL-F78E61xlo6q9eY/view?usp=sharing)

**Day2**

Tutorial

* TU: C Review (basics, Data type)
* TU: C Review (Bitwise)

Exercise

* EX: Bit-wise Operation for Register

### Week 2

**Day1**

Tutorial

* TU: mbed Part 1
* TU: mbed Part 2

**Day2**

Lecture

* MCU Memory/Register Part-1
* MCU Memory/Register Part-2

### Week 3

**Day1**

Holiday

**Day2**

LAB

* LAB: mbed

Assignment

* TU: [Tutorial-Install uVision](https://ykkim.gitbook.io/EC/ec-course/tutorial/mdk-uvision/installation)

### Week 4

**Day1**

Lecture

* MCU Architecture - Part 1
* MCU Architecture - Part 2

**Day2**

Lecture

* GPIO basics
* GPIO Digital In/Digital Out Register

Tutorial

* TU: Github, docs(md)

Assignment

* Assignment: github, md download

### Week 5

**Day1**

Tutorial

* TU: uVision setup
* TU: GPIO Digital Out
* TU: GPIO Digital In

**Day2**

Tutorial

* TU: keil uVision 5 Debugging

LAB

* LAB: GPIO DigitalInOut(LED)

### Week 6

**Day1**

Lecture

* System Clock Register (RCC)

Tutorial

* TU: RCC

**Day2**

Tutorial

* TU: Github, documentation(md)
* TU: Creating Application API for GPIO

LAB

* LAB: GPIO DigitalInOut (7-segment)

### Week 7

**Day1**

Lecture

* Interrupt
* EXT Interrupt Register
* SysTick Register

**Day2**

Tutorial

* TU: Ext Interrupt & SysTick Interrupt

LAB

* LAB: LED EXTI

### Week 8

**Day1**

Lecture

* Timer Output Compare
* PWM

Tutorial

* TU: Timer Interrupt, PWM output

**Day2**

**TEST**

### Week 9

**Day1**

Tutorial

* TU: PWM\_Servo Motor

**Day2**

LAB

* LAB: Stepper with FSM
* LAB: DC Motor with Control Loop

### Week 10

**Day1**

Lecture

* Timer Input Capture

Tutorial

* TU: Timer Input Capture

**Day2**

LAB

* LAB: Timer Input Capture(Ultrasonic)

### Week 11

**Day1**

Lecture

* Analog Input/Output (DAC/ADC)

Tutorial

* TU: ADC

**Day2**

LAB

* LAB:ADC

### Week 12

**Day1**

Lecture

* Serial Communication

Tutorial

* TU: UART

**Day2**

LAB

* LAB: I2C / Bluetooth

### Week 13

**Day1**

Lecture

* IoT Introduction

LAB

* Project 1

**Day2**

LAB

* Project 1

### Week 14

**Day1**

Lecture

* Communication

LAB

* Project 1

**Day2**

LAB

* Project 2

### Week 15

LAB

* Project 2 Demo

### Week 16

Test

* Final Test

### Lab and Tutorial

### Tutorial

TU: C Review : C basics, Data type

TU: C Review\_ Bitwise

**TU: GPIO Digital Out (code, report)**

**TU: GPIO Digital In (code, report)**

**TU: Keil uVision 5 Debugging (code , report)**

TU: RCC ( x, YKK )

**TU: Creating Application API for GPIO (code, report )**

**TU: Github, docs(md) ( report)**

**TU: Ext Interrupt & SysTick Interrupt (code, report)**

TU: Timer Interrupt, PWM output (code x , **report**)

TU: Timer Input Capture

TU: ADC

TU: UART

TU: WIFI / Server

TU: Arduino

***

#### Lab

***

**LAB: GPIO DigitalInOut (LED) (code , report)**

**LAB: GPIO DigitalInOut (7-segment) (code , report)**

**LAB: Ext Interrupt & SysTick Interrupt (code, report)**

LAB: PWM\_Servo Motor (code x , **report**)

LAB: PWM\_DC Motor

LAB: Stepper with FSM

LAB: Ultrasonic & DC Motor

LAB:ADC

LAB: I2C / Bluetooth

LAB: IoT Sensor

LAB: TBA
