Course syllabus

010123120-64 ปฏิบัติการออกแบบระบบฝังตัว (Embedded System Design Laboratory)

Course Syllabus

Data entry : Dr.Danucha Prasertsom
1. Course number and name

010123120-64 ปฏิบัติการออกแบบระบบฝังตัว (Embedded System Design Laboratory)

2. Credits and contact hours

1(0-3-1)

3. Instructor’s or course coordinator’s name

Dr.Danucha Prasertsom
Dr.Pruk Sasithong

4. Text book, title, author, and year

  1. Embedded Systems Laboratory Sheet for CprE. Students Prepared by Dr. Danucha Prasertsom, Department of Electrical and Computer Engineering

5. Specific course information

  1. brief description of the content of the course (catalog description)
    All experiments are corresponded to the course of 010123119 Embedded System Design.
  2. prerequisites or co-requisites
    010123119-64 Embedded System Design
  3. indicate whether a required, elective, or selected elective (as per Table 5-1) course in the program
    Required :

6. Specific goals for the course

  1. specific outcomes of instruction (e.g. The student will be able to explain the significance of current research about a particular topic.)
    1. CLO1 Understand and use basic development tools, IDEs, and workflows for embedded programming on both ESP32 (Arduino IDE) and STM32 (STM32Cube IDE / CubeMX) platforms.
    2. CLO2 Understand the principles and physical-layer signaling of common embedded communication protocols:I²C, UART, SPI, Modbus.
    3. CLO3 Analyze real communication signals using logic analyzers or oscilloscopes, including clock, data, and framing behavior.
    4. CLO4 Interface embedded systems with external devices such as: Ultrasonic distance sensors (HC-SR04), Temperature sensors (LM73), Real-time clocks (MCP79411), Analog-to-digital converters (MCP3202), Three-phase power smart meters (ZM194-D9Y).
    5. CLO5 Develop C-based embedded programs for peripheral control and data acquisition.
    6. CLO6 Design and implement modular C library functions to improve code readability, reuse, and maintainability.
  2. explicitly indicate which of the student outcomes listed in Criterion 3 or any other outcomes are addressed by the course.
    ABET Student Outcome (SO) Listed in Criterion 3 Course learning outcome (CLO)
    PO1 : ความรู้ทางด้านวิศวกรรม และพื้นฐานทางด้านคณิตศาสตร์ และวิทยาศาสตร์ สามารถประยุกต์ความรู้ทางด้านคณิตศาสตร์ วิทยาศาสตร์ วิทยาการคำนวณ พื้นฐานทางด้านวิศวกรรม และความรู้เฉพาะทางวิศวกรรมเพื่อกำหนดกรอบความคิดในการแก้ปัญหาวิศวกรรม รวมทั้งการพัฒนาแบบจำลองทางคณิตศาสตร์และวิศวกรรม หรือ ให้นิยาม รวมทั้งประยุกต์วิธีการ กระบวนงาน กระบวนการ หรือระบบงานทางวิศวกรรมในการทำงานได้
    • CLO2 Understand the principles and physical-layer signaling of common embedded communication protocols:I²C, UART, SPI, Modbus.
    • CLO1 Understand and use basic development tools, IDEs, and workflows for embedded programming on both ESP32 (Arduino IDE) and STM32 (STM32Cube IDE / CubeMX) platforms.
    PO2 : การวิเคราะห์ปัญหาทางวิศวกรรม สามารถระบุปัญหา สืบค้นทางเอกสาร สร้างแบบจำลองรวมตั้งสมการความสัมพันธ์ระหว่างตัวแปรต่าง ๆ เพื่อหาคำตอบ และแก้ไขปัญหาทางวิศวกรรมที่ซับซ้อน จนได้ข้อสรุปเบื้องต้น โดยใช้หลักการและเครื่องมือวิเคราะห์ทางด้านคณิตศาสตร์ วิทยาศาสตร์ และทางด้านวิศวกรรมศาสตร์ ทั้งนี้ ให้คำนึงถึงการพัฒนาที่ยั่งยืนในทุกองค์ประกอบ
    • CLO3 Analyze real communication signals using logic analyzers or oscilloscopes, including clock, data, and framing behavior.
    PO3 : การออกแบบและพัฒนาเพื่อหาคำตอบของปัญหา สามารถหาคำตอบของปัญหาทางวิศวกรรมที่ซับซ้อน และออกแบบระบบงานหรือกระบวนการทางวิศวกรรมตามความต้องการและข้อกำหนดงานโดยคำนึงถึงข้อกำหนดด้านสังคม วัฒนธรรม ความปลอดภัย การอนามัยและสิ่งแวดล้อม มาตรฐานการปฏิบัติวิชาชีพ และการพัฒนาที่ยั่งยืน อาทิ มูลค่าตลอดวัฏจักรชีวิต การปลดปล่อยคาร์บอนสุทธิเป็นศูนย์ และประเด็นทางสิ่งแวดล้อมต่าง ๆ ที่เกี่ยวข้อง
    • CLO4 Interface embedded systems with external devices such as: Ultrasonic distance sensors (HC-SR04), Temperature sensors (LM73), Real-time clocks (MCP79411), Analog-to-digital converters (MCP3202), Three-phase power smart meters (ZM194-D9Y).
    PO4 : การพิจารณาตรวจสอบ สามารถตรวจสอบ วินิจฉัย ประเมินผล งานและปัญหาทางวิศวกรรมซึ่งครอบคลุมถึงการตั้งสมมติฐาน การหาข้อมูล การทดลอง การวิเคราะห์ การแปลความหมายข้อมูล สังเคราะห์ข้อมูล ข้อสนเทศ และออกแบบ เพื่อให้ได้ผลสรุปที่ถูกต้องตามหลักเหตุผล
    • CLO5 Develop C-based embedded programs for peripheral control and data acquisition.
    • CLO6 Design and implement modular C library functions to improve code readability, reuse, and maintainability.
    PO5 : การใช้อุปกรณ์เครื่องมือทันสมัย สามารถสร้าง เลือก และประยุกต์ใช้เทคนิควิธี ทรัพยากร อุปกรณ์เครื่องมือทางวิศวกรรมและเทคโนโลยีสารสนเทศที่เหมาะสมและทันสมัย โดยคำนึงถึงข้อกำหนดและข้อจำกัดของเครื่องมือและอุปกรณ์เหล่านั้น
    • CLO3 Analyze real communication signals using logic analyzers or oscilloscopes, including clock, data, and framing behavior.
    • CLO4 Interface embedded systems with external devices such as: Ultrasonic distance sensors (HC-SR04), Temperature sensors (LM73), Real-time clocks (MCP79411), Analog-to-digital converters (MCP3202), Three-phase power smart meters (ZM194-D9Y).
    PO6 : การทำงานร่วมกันเป็นทีม สามารถทำงานร่วมกับผู้อื่นที่มีความหลากหลายในสหสาขาวิชาได้อย่างมีประสิทธิภาพ สามารถทำงานในฐานะสมาชิกของกลุ่มและผู้นำกลุ่มในรูปแบบต่าง ๆ ได้
    • CLO6 Design and implement modular C library functions to improve code readability, reuse, and maintainability.
    • CLO5 Develop C-based embedded programs for peripheral control and data acquisition.
    PO8 : ความรับผิดชอบของวิศวกรต่อโลก มีความเข้าใจและความรับผิดชอบต่อการปฏิบัติวิชาชีพวิศวกรรมในบริบทของสังคม เศรษฐกิจ สิ่งแวดล้อม การพัฒนาที่ยั่งยืน และกรอบของกฎหมาย รวมทั้งสามารถประเมินผลกระทบของการแก้ไขปัญหาทางวิศวกรรมที่มีต่อสังคม สิ่งแวดล้อม และการพัฒนาที่ยั่งยืนด้วย
    • CLO6 Design and implement modular C library functions to improve code readability, reuse, and maintainability.
    PO9 : จรรยาบรรณวิชาชีพ มีความเข้าใจและยึดมั่นในจรรยาบรรณแห่งวิชาชีพ และยึดถือตามกรอบมาตรฐานการปฏิบัติวิชาชีพ ที่สอดคล้องกับกฎหมายทั้งในประเทศและต่างประเทศ เข้าใจถึงความหลากหลายทางสังคม
    • CLO6 Design and implement modular C library functions to improve code readability, reuse, and maintainability.
    PO10 : การบริหารงานวิศวกรรม มีความรู้และความเข้าใจในด้านเศรษฐศาสตร์และการบริหารงานวิศวกรรมโดยคำนึงถึงความเสี่ยงและความเปลี่ยนแปลงที่อาจเกิดขึ้น
    • CLO5 Develop C-based embedded programs for peripheral control and data acquisition.
    PO11 : การเรียนรู้ตลอดชีพ ตระหนักถึงความจำเป็น และมีความสามารถในการเรียนรู้ตลอดชีพและพัฒนาตนเองอย่างต่อเนื่อง อาทิ การเรียนรู้ตลอดชีพและการพัฒนาตนเอง การปรับตัวต่อเทคโนโลยีใหม่ ๆ การคิดวิเคราะห์ที่เกี่ยวข้องกับความเปลี่ยนแปลงของเทคโนโลยี
    • CLO1 Understand and use basic development tools, IDEs, and workflows for embedded programming on both ESP32 (Arduino IDE) and STM32 (STM32Cube IDE / CubeMX) platforms.
    • CLO2 Understand the principles and physical-layer signaling of common embedded communication protocols:I²C, UART, SPI, Modbus.
    • CLO3 Analyze real communication signals using logic analyzers or oscilloscopes, including clock, data, and framing behavior.
    • CLO4 Interface embedded systems with external devices such as: Ultrasonic distance sensors (HC-SR04), Temperature sensors (LM73), Real-time clocks (MCP79411), Analog-to-digital converters (MCP3202), Three-phase power smart meters (ZM194-D9Y).
    • CLO5 Develop C-based embedded programs for peripheral control and data acquisition.
    • CLO6 Design and implement modular C library functions to improve code readability, reuse, and maintainability.

7. Brief list of topics to be covered
Week Topic Details Activities
Week 1. Basic Tools and Arduino IDE. Basic Tools and I/O for Program Experiment on the ESP32 Board Using the Arduino IDE. Hands-on laboratory experiment and practical assignment.
Week 2. Timer/Counter. Timer/Counter for Delay Generation and Digital Input Time Measurement: Student Experiment and C-Based Implementation on the ESP32 Using an Ultrasonic Sensor (HC-SR04) for Distance Conversion with the Arduino IDE. Hands-on laboratory experiment and practical assignment.
Week 3. I²C Protocol. Physical Data Signals, Signal Decoding, and Analysis: Student Experiment and C-Based Implementation on the ESP32 Using the LM73 Temperature Sensor via the I²C Interface with the Arduino IDE. Hands-on laboratory experiment and practical assignment.
Week 4. I²C Protocol. Assignment: Student Development of a C Library Function for the MCP79411 Real-Time Clock to Enable User-Friendly Configuration via I²C Communication on the ESP32 Board Using the Arduino IDE Hands-on laboratory experiment and practical assignment.
Week 5. UART and Modbus Protocols Physical Data Signals, Signal Decoding, and Analysis. Hands-on laboratory experiment and practical assignment.
Week 6. UART and Modbus Protocols Assignment: Student Development of a C Library Function for the ZM194-D9Y Three-Phase Power Smart Meter to Enable User-Friendly Configuration via the Modbus Protocol on the ESP32 Board Using the Arduino IDE. Hands-on laboratory experiment and practical assignment.
Week 7. Basic Tools : STM32Cube IDE and STM32Cube Mx. Basic Tools and I/O for Program Experiment on the NUCLEO-F334R8 Board Using the STM32Cube IDE and STM32Cube Mx. Hands-on laboratory experiment and practical assignment.
Week 8. SPI Protocol. Physical Data Signals, Signal Decoding, and Analysis: Student Experiment and C-Based Implementation on the NUCLEO-F334R8 Board Using the MCP3202 Analog-to-Digital Converter (ADC) via the SPI Interface with STM32Cube IDE and STM32CubeMX Hands-on laboratory experiment and practical assignment.
Week 9. Software Quality in Embedded C Programming. Adhere to MISRA C guidelines, which are widely adopted in the automotive industry. Maintain consistent indentation and coding style throughout the project. Keep functions concise and focused, avoiding overly long or complex implementations. Hands-on laboratory experiment and practical assignment.
Week 10. Introduction to CAN Communication Protocol. Introduction to CAN theory. CAN frame decoding using logic analyzer. Two-node CAN communication experiment. Error injection test. Bus termination measurement. Hands-on laboratory experiment and practical assignment.
Week 11 - 15. Mini Project Assignment. Students will design, implement, and test a system by applying the embedded system concepts learned in class to solve real-world problems encountered in current applications. Hands-on experiment.
8. Course Assessment
Course assessment Weight score (%) Assessment tools Date
Laboratory Report. 70 Laboratory Report: Documentation, Experimental Results, and Analysis. 24 Nov 2025 - 13 Mar 2026
Mini Project Assignment. 20 assignment 30 Mar 2026
Class attendance. 10 group discussion 24 Nov 2025 - 13 Mar 2026
The grading table
Grading Rank
>= 80% A
75% - 79.99% B+
70% - 74.99% B
65% - 69.99% C+
60% - 64.99% C
55% - 59.99% D+
50% - 54.99% D
0% - 49.99% F

หมายเหตุ - ลำดับเนื้อหาจะมีการปรับเปลี่ยนตามความเหมาะสม