BlockList

Microcontroller Syllabus


1. Course number and nameEEE703046 – Microcontroller (+Lab)

2. Credit3 (Engineering Topics), including 30 hours of lectures, 30 hours of lab, and 90 hours of self-study; Required.

Contact Hours: 3 (Lecture: 2/week; Discussion & Examples: 1/week).

3. Instructor’s or course coordinator’s name: Ph.D. Huynh Ba Phuc.

4. Textbook: 

a. Required: 

[1] Massimo Banzi and Michael Shiloh (2015), Getting Started with Arduino, 3rd edition, Maker Media Inc. 

b. Additional Textbooks (Optional):

[1] Trương Đình Nhơn, Phạm Quang Huy (2018), Vi điều khiển và ứng dụng - Hướng dẫn sử dụng Arduino, Nhà xuất bản Thanh Niên.

[2] Rajesh Singh (2018), Arduino-Based Embedded Systems, CRC Press.

5. Specific course information:

a. Catalog description of the content of the course:

The course introduces microcontroller structure and gives instructions to students on the basic concepts of designing and implementing microcontroller circuits to control and communicate with popular peripherals and actuators. The student knows the subject of currently applied microcontrollers and knows the area of their uses. The student also knows basic integrated programming environments enabling the designing of the application. This course is practice-based. Each lesson includes a brief lecture, then students work on practical projects.

b. Prerequisites: Circuit theory (EEE703055); Microeletronics Circuit Design (EEE704074); Sensor technology (EEE703040); Object-Oriented Programming (CSE703029).

6. Specific goals for the course:

a. Course Learning Outcomes and Relationship to Student Outcomes: 

At the end of the course, students will be able to

ABET SOs and PIs

LO.01 – know the structure, main components, and applications of Microcontrollers; know the structure, technical specification, and application of Arduino.

1.1

LO.02 – use common functions of microcontroller to communicate and control common peripheral devices.

1.2

LO.03 – use the Integrated Development Environment to write programs for the microcontrollers; use simulation tools to verify the programming codes.

1.3

LO.04 – design a microcontroller circuit that combines multiple functions and peripheral modules to satisfy the requirements and constraints of a given problem.

2.1

LO.05 – divide work and communicate with each other in the team to complete a specific exercise.

5.2

b.  Related Student Outcomes (ABET SOs):

No. 

The graduates must have:

an ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics.

2

an ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors.

5

an ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives.

 

7. Brief list of lecture topics to be covered: 

Week

Lecture topics

1

Start-up Quiz

Lesson 1: Introduction

1.1. Microprocessor and microcontroller.

1.2. Central processing unit (CPU).

1.3. Program memory: Read Only Memory (ROM).

1.4. Data memory: Random Access Memory (RAM).

1.5. Timers and counters.

1.6. Input/output (I/O) ports.

1.7. Serial communication interface.

1.8. System bus.

1.9. Interrupt mechanism.

1.10. ADC and DAC.

1.11. Programming methods for microcontrollers.

2

Lesson 2: Introduction to Arduino

2.1. About Arduino.

2.2. Some Arduino boards.

2.3. Some Arduino pins.

2.4. Arduino Integrated Development Environment (IDE).

2.5. First program: Blink an LED.

2.6. Simulation.

2.7. Preparing for Quiz 1 and Exercise 1.

3, 4

Quiz 1

Lesson 3: Arduino basic functions

3.1. Digital inputs/outputs.

3.2. Analog inputs/outputs.

3.3. Time delay.

3.4. Timers.

3.5. Interrupts.

3.6. Examples.

3.7. Preparing for Exercise 2.

3.8. Discussion of Final Project.

(The online course video is for internal circulation only)

5, 6

Lesson 4: Motor control

4.1. Introduction.

4.2. PWM.

4.3. DC motor control.

4.4. Stepper motor control.

4.5. RC servo control.

4.6. Examples.

4.7. Preparing for Quiz 2, Exercise 3, and Exercise 4.

4.8. Discussion of Final Project.

(The online course video is for internal circulation only)

7

Quiz 2

Lesson 5: UART, I2C, and SPI

5.1. UART.

5.2. I2C.

5.3. SPI.

5.4. Examples.

5.5. Preparing Quiz 3, Exercise 5, and Exercise 6.

5.6. Discussion of Final Project.

(The online course video is for internal circulation only)

8

Quiz 3

Lesson 6: Servo motor control

6.1. Introduction.

6.2. Encoders.

6.3. Speed control using PID.

6.4. Position control using PID.

6.5. Examples.

6.6. Preparing for Quiz 4 and Exercise 7.

6.7. Discussion of Final Project.

(The online course video is for internal circulation only)

9,

10

Quiz 4

Lesson 7: Popular modules for Arduino boards

7.1. Distance measurement.

7.2. LCD.

7.3. Temperature, humidity, and pressure sensors.

7.4. IMU.

7.5. Exercise 8.

7.6. LiDAR.

7.7. WIFI.

7.8. Bluetooth.

7.9. CAN.

7.10. Final quiz.

7.11. Discussion of Final Project

(The online course video is for internal circulation only)

 

8. Brief list of lab topics to be covered: 

Week

Lab topics

1, 2

No labs (Meeting with the instructor for advice if needed).

3

Lab 1: Getting started with Arduino IDE. Preparing the required software.

Exercise 1: Write the first program, compile it, and upload it to the board.

4

Lab 2: Discussion of Report 1.

Exercise 2: Practice examples about digital inputs/outputs, analog inputs, timers, counters, and interrupts.

Report 1.

5

Lab 3: Discussion of Report 2.

Exercise 3: Practice examples of motor control. Using the knowledge in the previous sections.

6

Lab 4: Discussion of Report 3.

Exercise 4: Practice examples of UART. Using the knowledge in the previous sections.

Report 2.

7

Lab 5: Discussion of Report 4.

Exercise 5: Practice examples of I2C. Using the knowledge in the previous sections.

8

Lab 6: Discussion of Report 5.

Exercise 6: Practice examples of SPI. Using the knowledge in the previous sections.

Report 3.

9

Lab 7: Discussion of Report 6.

Exercise 7: Practice examples of servo motor control. Using the knowledge in the previous sections.

10

Lab 8: Discussion of Report 7.

Exercise 8: Practice examples of distance measurement using an Ultrasonic sensor. Using the knowledge in the previous sections.

Report 4.

11

Lab 9: Discussion of Report 8.

Final project: Synthesis practice using many component modules.

12

Lab 10: Discussion of the Final Report.

Final project: Synthesis practice using many component modules (continued).

Final report.

13, 14, 15

No labs (Meeting with the instructor for advice if needed).

 

9. Evaluation:

Scale: 0 – 10.

·  Final score = CC1 (5%) + CC2 (5%) + Mid-term 1 (10%) + Mid-term 2 (20%) + Final exam (60%).

·  CC1: Attendance (5%)

·  CC2: Start-up quiz (2%) + Participate in all 6 Quiz (3%).

·  Mid-term 1: Quiz 1 (5%) + Quiz 2 (5%)

·  Mid-term 2: Quiz 3 (5%) + Quiz 4 (5%) + Report 1 (10%).

·  Final exam: Final quiz (5%)+ Report 2 (10%) + Report 3 (10%) + Report 4 (10%) + Final report (25%).

Students must pay attention to the deadlines of the assignments.

Detailed evaluation:

ASSIGNMENT

RATING WEIGHT (%)

LO.01

LO.02

LO.03

LO.04

LO.05

Quiz 1

20

40

40

0

0

Quiz 2

20

40

40

0

0

Quiz 3

20

40

40

0

0

Quiz 4

20

40

40

0

0

Final quiz

20

40

30

10

0

Report 1

20

40

40

0

0

Report 2

20

40

30

10

0

Report 3

20

40

30

10

0

Report 4

20

40

30

10

0

Final Report

20

20

20

20

20

 

10. Contribution of course to meeting the Professional Component:

Engineering Topics:  3 Credits (100%)