Embedded System Design Course Introduction
Embedded system design is a rapidly evolving field that plays a crucial role in numerous industries. Welcome to the Embedded System Design Masterclass, a comprehensive course specifically designed for CSE and ECE students. This course delves deep into the intricacies of firmware programming and emphasizes the implementation differences among three prominent Integrated Development Environments (IDEs): Arduino IDE, DAVE (Infineon), and Modus Toolbox (Infineon). Throughout this masterclass, you will have the opportunity to explore over 30 practical examples and complete three engaging projects using the XMC4700 Relax Kit. These real-world examples and projects serve as a platform to showcase the distinctive capabilities, implementation strategies, requirements, features, advantages, and limitations of each IDE. By the end of this course, you will have gained an extensive understanding of embedded system design principles and be well-equipped to excel in this exciting field.
Throughout this masterclass, you’ll engage with over 30 practical examples and complete 3 projects using the XMC4700 Relax Kit. These examples and projects will demonstrate the diverse capabilities of each IDE, highlighting their distinct implementation strategies, requirements, features, advantages, and limitations.
Course Objectives and Outline
The main objectives of this course are:
- Familiarize students with firmware programming in the context of embedded systems.
- Explore the nuances of each IDE (Arduino IDE, DAVE, and Modus Toolbox) and understand their unique strengths and applications.
- Develop practical skills in implementing various embedded system designs using different IDEs.
- Enable students to effectively utilize GPIO, ADC, Bluetooth, UART, SPI, I2C, RS-485, CAN, Ethernet, RFID, and USB communication in their projects.
- Facilitate hands-on experience with codeless app development using MIT App Inventor and Python-based hardware control.
The course consists of multiple sections, each dedicated to specific topics and projects. Here is an overview of the sections covered:
- Section 1: Introduction to Firmware Programming
- Section 2: Firmware Design using Arduino IDE
- Section 3: Firmware Design using DAVE IDE
- Section 4: Firmware Design using Modus Toolbox
- Section 5: Practice and Evaluation
- Section 6: Codeless App Development using MIT App Inventor
- Section 7: Python-based Hardware Control
- Section 8: Major Project: Python + DAVE + Hardware Control
Each section is further divided into subtopics and projects, providing a structured learning path to enhance your skills progressively.
By the end of this masterclass, you will have gained comprehensive knowledge of embedded system design principles, hands-on experience with different IDEs, and the ability to implement diverse projects using the XMC4700 Relax Kit. Get ready to unlock the full potential of embedded system design and embark on an exciting journey of innovation and learning!
Course Outcome and Placement Opportunities
Completing the Embedded System Design Masterclass will empower you with valuable skills and knowledge highly sought after by core companies in the field of embedded systems. The course is designed to provide you with a strong foundation in firmware programming and hands-on experience with different IDEs, enabling you to excel in various aspects of embedded system design.
Upon successful completion of the course, you can expect the following outcomes:
-
In-depth Understanding: You will develop a deep understanding of embedded system design principles, including firmware programming, communication protocols, and hardware control.
-
Proficiency in IDEs: By working extensively with Arduino IDE, DAVE (Infineon), and Modus Toolbox (Infineon), you will become proficient in utilizing these IDEs for different project requirements, enhancing your versatility as an embedded system design professional.
-
Practical Experience: The course focuses on practical implementation through 30+ examples and 3 projects. This hands-on experience will sharpen your skills and make you adept at translating theoretical knowledge into real-world solutions.
-
Communication Protocols Mastery: You will gain expertise in various communication protocols such as UART, SPI, I2C, RS-485, CAN, Ethernet, and USB. This knowledge will prove invaluable when working with interconnected systems.
-
Codeless App Development: The inclusion of MIT App Inventor and Python-based hardware control expands your skill set, allowing you to create intuitive user interfaces and explore new avenues of embedded system development.
-
Major Project Experience: The major project, combining Python, DAVE, and hardware control, will serve as a showcase of your comprehensive skills and problem-solving abilities. It will boost your confidence and provide a tangible demonstration of your capabilities to prospective employers.
Regarding placement in core companies, this course will significantly enhance your chances of securing lucrative positions in the embedded systems industry. Core companies actively seek candidates with strong firmware programming skills, practical experience with different IDEs, and a solid understanding of communication protocols. By completing this masterclass, you will position yourself as a well-rounded professional capable of tackling challenging projects and contributing effectively to core companies in sectors such as automotive, consumer electronics, industrial automation, and more.
Remember, the knowledge and skills gained from this course, along with your commitment and dedication, will be instrumental in opening doors to exciting career opportunities in the field of embedded system design.
Sr. No. | Section | Project Number | Topics Covered | IDE | Number of Days | Day |
1 | 1 | Introduction to Firmware Programming | 1 | 1 | ||
2 | 2.00 | Firmware design | Arduino IDE | 1 | 2 | |
3 | 2.01 | Introduction to Arduino IDE setup | Arduino IDE | 1 | 3 | |
4 | 2.02 | 2.01 | Design of GPIO / ADC based Motor control | Arduino IDE | 1 | 4 |
5 | 2.03 | 2.02 | Design of Bluetooth based GPIO Control / Motor control | Arduino IDE | 1 | 5 |
6 | 2.04 | 2.03 | UART communication – Communication with PC | Arduino IDE | 1 | 6 |
7 | 2.05 | 2.04 | SPI communication – Dot Matrix display | Arduino IDE | 1 | 7 |
8 | 2.06 | 2.05 | I2C communication – LCD Display | Arduino IDE | 1 | 8 |
9 | 2.07 | 2.06 | RS-485 communication – Communication with PC | Arduino IDE | 1 | 9 |
10 | 2.08 | 2.07 | CAN communication – Communication with PC | Arduino IDE | 1 | 10 |
11 | 2.09 | 2.08 | Ethernet communication – Web-server | Arduino IDE | 1 | 11 |
12 | 2.10 | 2.09 | RFID card communication with PC Using CAN Bus. | Arduino IDE | 1 | 12 |
13 | 3 | Firmware design using DAVE IDE | DAVE IDE | 1 | 13 | |
14 | 3.01 | Introduction to DAVE IDE setup | DAVE IDE | 1 | 14 | |
15 | 3.02 | 2.01 | Design of GPIO / ADC based Motor control | DAVE IDE | 1 | 15 |
16 | 3.03 | 2.02 | Design of Bluetooth based GPIO Control / Motor control | DAVE IDE | 1 | 16 |
17 | 3.04 | 2.03 | UART communication – Communication with PC | DAVE IDE | 1 | 17 |
18 | 3.05 | 2.04 | SPI communication – Dot Matrix display | DAVE IDE | 1 | 18 |
19 | 3.06 | 2.05 | I2C communication – LCD Display | DAVE IDE | 1 | 19 |
20 | 3.07 | 2.06 | RS-485 / Modbus communication – Communication with PC | DAVE IDE | 1 | 20 |
21 | 3.08 | 2.07 | CAN communication – Communication with PC | DAVE IDE | 1 | 21 |
22 | 3.09 | 2.08 | Ethernet communication – Web-server | DAVE IDE | 1 | 22 |
23 | 3.10 | 2.09 | USB communication – GPIO status | DAVE IDE | 1 | 23 |
24 | 3.11 | 2.10 | RFID card communication with PC Using CAN Bus | DAVE IDE | 1 | 24 |
25 | 4 | Firmware design using Modus Toolbox | Modus toolbox | 1 | 25 | |
26 | 4.01 | Introduction to Modus Toolbox setup | Modus toolbox | 1 | 26 | |
27 | 4.02 | 3.01 | Design of GPIO Control / ADC based Motor control | Modus toolbox | 1 | 27 |
28 | 4.03 | 3.02 | Design of Bluetooth based GPIO Control / Motor control | Modus toolbox | 1 | 28 |
29 | 4.04 | 3.03 | UART communication – Communication with PC | Modus toolbox | 1 | 29 |
30 | 4.05 | 3.04 | SPI communication – Dot Matrix display | Modus toolbox | 1 | 30 |
31 | 4.06 | 3.05 | I2C communication – LCD Display | Modus toolbox | 1 | 31 |
32 | 4.07 | 3.06 | RS-485 communication – Modbus | Modus toolbox | 1 | 32 |
33 | 4.08 | 3.07 | CAN communication – TX/RX with PC | Modus toolbox | 1 | 33 |
34 | 4.09 | 3.08 | Ethernet communication – Web-server | Modus toolbox | 1 | 34 |
35 | 4.10 | 3.09 | USB communication – GPIO status | Modus toolbox | 1 | 35 |
36 | 4.11 | 3.10 | RFID card communication with PC Using CAN Bus | Modus toolbox | 1 | 36 |
37 | 5 | Practice and Evaluation | 1 | 37 | ||
38 | 6 | Codeless app development | 1 | 38 | ||
39 | 6.01 | Introduction to MIT app inventor | MIT app inventor | 1 | 39 | |
40 | 6.02 | 4.01 | Design of GPIO / ADC based Motor control | MIT app inventor / Arduino IDE | 1 | 40 |
41 | 6.03 | 4.02 | Design of Gesture based GPIO / Motor control | MIT app inventor / Arduino IDE | 1 | 41 |
42 | 6.04 | 4.03 | RFID card communication with PC through hardware | MIT app inventor / Arduino IDE | 1 | 42 |
43 | 7 | 5.01 | Python based hardware control | MIT app inventor / Arduino IDE | 1 | 43 |
44 | 7.01 | 5.02 | Python and H/W UART communication | MIT app inventor / Arduino IDE | 1 | 44 |
45 | 7.02 | 5.03 | Python and H/W communication through USB | MIT app inventor / DAVE | 1 | 45 |
46 | 7.03 | 5.04 | Python HMI control | MIT app inventor / DAVE | 1 | 46 |
47 | 8 | 6.01 | Major project: Python + DAVE + HW control | 1 | 47 |