CQUniversity Unit Profile
ENEE14006 Embedded Microcontrollers
Embedded Microcontrollers
All details in this unit profile for ENEE14006 have been officially approved by CQUniversity and represent a learning partnership between the University and you (our student).
The information will not be changed unless absolutely necessary and any change will be clearly indicated by an approved correction included in the profile.
General Information

Overview

In this unit, you will learn the concepts of programming, interfacing, and controlling the operations of a microcontroller using the C language. The unit is designed to provide you with an understanding of the architecture and programming of embedded systems with microcontrollers. The course will cover essential programming elements such as data types, loops, branching statements, and functions. Additionally, you will learn about interrupt handling, timers, and counters. Furthermore, you will gain hands-on experience in designing, prototyping, and testing embedded systems using commercially available microcontroller devices. You will be given practical exercises to apply the concepts learned in the unit. The course will also cover advanced topics such as interfacing with peripherals, analog and digital sensors, and communicating with external devices through different communication protocols. Finally, you will design and prototype a real-world application as your final project. To complete the compulsory practical activities and the project, you will be required to purchase the hardware components needed. Please refer to the unit Moodle site for a list of hardware components and their costs. The unit supports the UN sustainable development goal 9 - industry, innovation, and infrastructure by discussing how microcontroller systems could be used in small-scale industries for low-cost automation.

Details

Career Level: Undergraduate
Unit Level: Level 4
Credit Points: 12
Student Contribution Band: 8
Fraction of Full-Time Student Load: 0.25

Pre-requisites or Co-requisites

Prerequisite: (ENEE13020 Digital Electronics AND ENEE13018 Analogue Electronics) OR ENEX12002 Introductory Electronics.

Important note: Students enrolled in a subsequent unit who failed their pre-requisite unit, should drop the subsequent unit before the census date or within 10 working days of Fail grade notification. Students who do not drop the unit in this timeframe cannot later drop the unit without academic and financial liability. See details in the Assessment Policy and Procedure (Higher Education Coursework).

Offerings For Term 1 - 2024

Bundaberg
Cairns
Gladstone
Mackay
Mixed Mode
Rockhampton

Attendance Requirements

All on-campus students are expected to attend scheduled classes – in some units, these classes are identified as a mandatory (pass/fail) component and attendance is compulsory. International students, on a student visa, must maintain a full time study load and meet both attendance and academic progress requirements in each study period (satisfactory attendance for International students is defined as maintaining at least an 80% attendance record).

Class and Assessment Overview

Recommended Student Time Commitment

Each 12-credit Undergraduate unit at CQUniversity requires an overall time commitment of an average of 25 hours of study per week, making a total of 300 hours for the unit.

Class Timetable

Bundaberg, Cairns, Emerald, Gladstone, Mackay, Rockhampton, Townsville
Adelaide, Brisbane, Melbourne, Perth, Sydney

Assessment Overview

1. Written Assessment
Weighting: 25%
2. Written Assessment
Weighting: 25%
3. Project (applied)
Weighting: 50%

Assessment Grading

This is a graded unit: your overall grade will be calculated from the marks or grades for each assessment task, based on the relative weightings shown in the table above. You must obtain an overall mark for the unit of at least 50%, or an overall grade of ‘pass’ in order to pass the unit. If any ‘pass/fail’ tasks are shown in the table above they must also be completed successfully (‘pass’ grade). You must also meet any minimum mark requirements specified for a particular assessment task, as detailed in the ‘assessment task’ section (note that in some instances, the minimum mark for a task may be greater than 50%). Consult the University’s Grades and Results Policy for more details of interim results and final grades.

Previous Student Feedback

Feedback, Recommendations and Responses

Every unit is reviewed for enhancement each year. At the most recent review, the following staff and student feedback items were identified and recommendations were made.

Feedback from Unit Coordinator's reflection

Feedback

Further exercises and explanations into some aspects of the hardware programming will be helpful.

Recommendation

Incorporating and highlighting hardware programming examples in lectures and tutorials and providing more explanation of codes.

Feedback from Unit Coordinator's reflection

Feedback

The use of physical hardware in this unit gave the opportunity to apply knowledge into practice.

Recommendation

This practice will be continued.

Feedback from Unit Coordinator's reflection

Feedback

C programming can be unfamiliar to some students. It is useful to provide more learning support

Recommendation

Supporting materials for learning C programming will be provided and tutorials will cover examples to bring students up to speed with the required programming level.

Unit Learning Outcomes
On successful completion of this unit, you will be able to:
  1. Apply structured programming knowledge to develop software solutions
  2. Program a microcontroller to interface with external devices such as analog and digital sensors, actuators, and computers
  3. Analyse and design microcontroller-based real-time applications using a given industry standard development system and software tools
  4. Prototype an embedded microcontroller system for an authentic application
  5. Communicate professionally using relevant technical terminology, symbols, and diagrams, and effectively document the design and prototyped solutions
  6. Work independently and collaboratively to analyse problems and propose solutions.

The Learning Outcomes for this unit are linked with the Engineers Australia Stage 1 Competency Standards for Professional Engineers in the areas of 1. Knowledge and Skill Base, 2. Engineering Application Ability and 3. Professional and Personal Attributes at the following levels:

Introductory

1.2 Conceptual understanding of the mathematics, numerical analysis, statistics, and computer and information sciences which underpin the engineering discipline. (LO: 1N 4N)

1.5 Knowledge of engineering design practice and contextual factors impacting the engineering discipline. (LO: 4N)

Intermediate

1.1 Comprehensive, theory-based understanding of the underpinning natural and physical sciences and the engineering fundamentals applicable to the engineering discipline. (LO: 1I 2I 3I 4I)

3.6 Effective team membership and team leadership. (LO: 5I 6I)

Advanced

1.3 In-depth understanding of specialist bodies of knowledge within the engineering discipline. (LO: 2I 3I 4A)

1.4 Discernment of knowledge development and research directions within the engineering discipline. (LO: 1I 2I 3I 4A)

1.6 Understanding of the scope, principles, norms, accountabilities, and bounds of sustainable engineering practice in the specific discipline. (LO: 3I 4A)

2.1 Application of established engineering methods to complex engineering problem solving. (LO: 2I 3I 4A)

2.2 Fluent application of engineering techniques, tools, and resources. (LO: 1I 2I 3I 4A)

2.3 Application of systematic engineering synthesis and design processes. (LO: 4A)

2.4 Application of systematic approaches to the conduct and management of engineering projects. (LO: 4A)

3.1 Ethical conduct and professional accountability. (LO: 3I 4I 5A 6A)

3.2 Effective oral and written communication in professional and lay domains. (LO: 5A 6A)

3.3 Creative, innovative and pro-active demeanour. (LO: 3I 4A 5A 6A)

3.4 Professional use and management of information. (LO: 3I 4A 5A 6A)

3.5 Orderly management of self, and professional conduct. (LO: 5A 6A)

Note: LO refers to the Learning Outcome number(s) which link to the competency and the levels: N – Introductory, I – Intermediate and A - Advanced.

Refer to the Engineering Undergraduate Course Moodle site for further information on the Engineers Australia's Stage 1 Competency Standard for Professional Engineers and course level mapping information https://moodle.cqu.edu.au/course/view.php?id=1511

Alignment of Learning Outcomes, Assessment and Graduate Attributes
N/A Level
Introductory Level
Intermediate Level
Graduate Level
Professional Level
Advanced Level

Alignment of Assessment Tasks to Learning Outcomes

Assessment Tasks Learning Outcomes
1 2 3 4 5 6
1 - Written Assessment - 25%
2 - Written Assessment - 25%
3 - Project (applied) - 50%

Alignment of Graduate Attributes to Learning Outcomes

Graduate Attributes Learning Outcomes
1 2 3 4 5 6
1 - Communication
2 - Problem Solving
3 - Critical Thinking
4 - Information Literacy
5 - Team Work
6 - Information Technology Competence
7 - Cross Cultural Competence
8 - Ethical practice
9 - Social Innovation
10 - Aboriginal and Torres Strait Islander Cultures
Textbooks and Resources

Textbooks

There are no required textbooks.

IT Resources

You will need access to the following IT resources:
  • CQUniversity Student Email
  • Internet
  • Unit Website (Moodle)
  • Access to a document scanner and a software that can create pdf documents
  • Access to a computer with Windows 10 with authoity to install software required for the unit
  • Downlaod and Install Visual Studio Code
Referencing Style

All submissions for this unit must use the referencing style: Harvard (author-date)

For further information, see the Assessment Tasks.

Teaching Contacts
Lasi Piyathilaka Unit Coordinator
l.piyathilaka@cqu.edu.au
Schedule
Week 1 Begin Date: 04 Mar 2024

Module/Topic

  • Introduction to C language programming environment

 

Chapter

N/A

Events and Submissions/Topic

Week 2 Begin Date: 11 Mar 2024

Module/Topic

  • Introduction to Embedded Systems and Microcontrollers

Chapter

N/A

Events and Submissions/Topic

Week 3 Begin Date: 18 Mar 2024

Module/Topic

  • AVR Programming basics
  • Digital Inputs /Outputs

Chapter

N/A

Events and Submissions/Topic

Week 4 Begin Date: 25 Mar 2024

Module/Topic

  •  Motor Control and Hardware Interfacing

Chapter

N/A

Events and Submissions/Topic

Week 5 Begin Date: 01 Apr 2024

Module/Topic

  • ATMEGA328P Serial Communication

Chapter

N/A

Events and Submissions/Topic

Assignment 1: C Language Programming Due: Week 5 Friday (5 Apr 2024) 11:45 pm AEST
Vacation Week Begin Date: 08 Apr 2024

Module/Topic

Chapter

Events and Submissions/Topic

Week 6 Begin Date: 15 Apr 2024

Module/Topic

  • Analog to Digital Conversion

 

 

Chapter

N/A

Events and Submissions/Topic

The project proposal and plan are due.

Week 7 Begin Date: 22 Apr 2024

Module/Topic

  • Timers, Interrupts and PWM

Chapter

N/A

Events and Submissions/Topic

Week 8 Begin Date: 29 Apr 2024

Module/Topic

  • Servo Motor Control

 

Chapter

N/A

Events and Submissions/Topic

Week 9 Begin Date: 06 May 2024

Module/Topic

  • Ultrasound Sensor Interfacing

Chapter

N/A

Events and Submissions/Topic

Assignment 2: Hardware Programming using Microcontroller Board Due: Week 9 Friday (10 May 2024) 11:45 pm AEST
Week 10 Begin Date: 13 May 2024

Module/Topic

  • Project Discussion

Chapter

N/A

Events and Submissions/Topic

Week 11 Begin Date: 20 May 2024

Module/Topic

  • Project  Progress Review

Chapter

N/A

Events and Submissions/Topic

Project progress review interviews

Week 12 Begin Date: 27 May 2024

Module/Topic

  • Project Help

Chapter

N/A

Events and Submissions/Topic

Review/Exam Week Begin Date: 03 Jun 2024

Module/Topic

Chapter

Events and Submissions/Topic

Assignment 3: Project Due: Review/Exam Week Friday (7 June 2024) 11:45 pm AEST
Exam Week Begin Date: 10 Jun 2024

Module/Topic

Chapter

Events and Submissions/Topic

Term Specific Information

Students are required to purchase the sensors, actuators, and a microcontroller board to complete the hardware programming assignments and the project. It is expected that students purchase all these necessary components by week 3, and the list of the required components can be found on the Week 1 Moodle site.

Assessment Tasks

1 Written Assessment

Assessment Title
Assignment 1: C Language Programming

Task Description

The purpose of this assignment is to assess your understanding of AVR C language programming and configuring control registers to accomplish specific tasks on a microcontroller. The assignment aims to evaluate your ability to analyze a system, develop a conceptual solution, create a visual representation, and write code to solve the given challenges. It is important to note that this assignment should be done individually, and seeking help or collaborating with others is strictly prohibited. You must demonstrate that you have worked independently as outlined in the assignment submission requirements. In this assignment, you will have to program simulated hardware to achieve a specific goal. The objective is to demonstrate your C programming skills within the context of solving a real-world problem.


Assessment Due Date

Week 5 Friday (5 Apr 2024) 11:45 pm AEST


Return Date to Students

Marked assignment with feedback will be returned to students usually within 2 weeks after submission. However, there will be no model answers provided.


Weighting
25%

Minimum mark or grade
30%

Assessment Criteria

This assessment will be based on the achievement of the goals specified in the assessment document, and marks will be allocated for each goal according to the following assessment criteria.

1. Goal Achievement :

  • Demonstrates the ability to understand the goals and requirements of the simulated robot program.
  • Develops a comprehensive and correct solution for each goal.
  • Achieves the desired outcomes as specified in the assignment.
  • Provides evidence of the program successfully accomplishing the goals, such as video recordings or screenshots.

2. Problem-Solving and Solution Development :

  • Presents a clear and logical approach to solving the problems.
  • Breaks down complex problems into smaller, manageable tasks.
  • Uses appropriate algorithms, data structures, and programming constructs to implement the solution.
  • Provides a detailed explanation of the problem-solving process, including any iterations or revisions made during development.
  • Includes flowcharts, or other graphical representations to illustrate the solution.

3. Code Quality and Documentation :

  • Follows standard programming conventions and naming conventions.
  • Includes appropriate comments throughout the code to explain the purpose of each section, key variables, and logic.
  • Provides an explanation of the code's functionality, highlighting any important algorithms or techniques used.
  • Writes clean and well-structured C language code.

5. Individuality and Originality:

  • Ensures that each student develops their own unique programs independently.
  • Avoids copying code or solutions from external sources without proper attribution.
  • Demonstrates creativity and original thinking in solving programming problems.


Referencing Style

Submission
Online

Submission Instructions
Report as a Pdf File, Video demos, software codes need to be uploded to Moodle

Learning Outcomes Assessed
  • Apply structured programming knowledge to develop software solutions
  • Communicate professionally using relevant technical terminology, symbols, and diagrams, and effectively document the design and prototyped solutions

2 Written Assessment

Assessment Title
Assignment 2: Hardware Programming using Microcontroller Board

Task Description

This assignment aims to evaluate your fundamental programming skills in the C language for embedded microcontroller programming. Your proficiency in developing solutions for assigned problems and implementing them using the C language on a microcontroller board will be assessed. The assignment will involve working with multiple sensors and actuators that are controlled by the microcontroller board.

Prior to commencing the coding tasks, it is essential to analyse the system, devise a conceptual solution, and create a graphical representation. You must submit all your work, including software codes and demonstration videos, as evidence of your individual efforts. Further technical details regarding the assignment will be provided upon task assignment.

 


Assessment Due Date

Week 9 Friday (10 May 2024) 11:45 pm AEST


Return Date to Students

Marked assignment with feedback will be returned to students usually within 2 weeks after submission. However, there will be no model answers provided.


Weighting
25%

Minimum mark or grade
50%

Assessment Criteria

Assessment Criteria (each question)

  1. Graphical representation of the program using a flowchart or a block diagram.
  2. A fully working program producing expected outcomes, which will be assessed based on the video demonstration, codes, and the report submitted to the Moodle site. Failure to provide a demonstration video and codes will result in a zero mark. 
  3. Explanation of the code, including all functions and configuration parameters, with appropriate comments on all code sections. Screenshots from the code should be used when explaining each section, and this should be included in the report. 


Referencing Style

Submission
Online

Submission Instructions
Report as a Pdf File, Video demos, software codes need to be uploded to Moodle

Learning Outcomes Assessed
  • Program a microcontroller to interface with external devices such as analog and digital sensors, actuators, and computers
  • Analyse and design microcontroller-based real-time applications using a given industry standard development system and software tools
  • Prototype an embedded microcontroller system for an authentic application
  • Work independently and collaboratively to analyse problems and propose solutions.

3 Project (applied)

Assessment Title
Assignment 3: Project

Task Description

This project is a significant part of the unit as it provides students with both guided and open-ended opportunities to showcase their abilities in embedded system design. The primary hardware used for this project is the microcontroller board, and students are responsible for purchasing all the required sensors, actuators, and accessories. The main objective of this project is to develop a functional prototype of an embedded system solution that addresses a real-world problem.  Your prototype's performance will be evaluated at the end of the term.


Assessment Due Date

Review/Exam Week Friday (7 June 2024) 11:45 pm AEST

Report as a Pdf File, Video demos, software codes need to be uploded to Moodle


Return Date to Students

Weighting
50%

Minimum mark or grade
50%

Assessment Criteria

1. Project Progress Reviews (Week 11) :

  • Each student will get an Individual Zoom interview with the unit coordinator. Students need to show substantial progress towards the timely completion of the project. Need to provide evidence for the progress such as video, codes, sensor and actuator testing, and design sketches

2. Goal Achievement:

  • Demonstrates the ability to understand the goals and requirements of the simulated robot program.
  • Develops a comprehensive and correct solution for each goal.
  • Achieves the desired outcomes as specified in the assignment.
  • Provides evidence of the program successfully accomplishing the goals, such as video recordings or screenshots.

3. Report :

Need to complete a report according to the given structure that demonstrates the following problem-solving skills

  • Presents a clear and logical approach to solving the problems.
  • Break down complex problems into smaller, manageable tasks.
  • Uses appropriate algorithms, data structures, and programming constructs to implement the solution.
  • Provides a detailed explanation of the problem-solving process, including any iterations or revisions made during development.
  • Includes flowcharts, or other graphical representations to illustrate the solution.

4. Software Codes :

  • Follows standard programming conventions and naming conventions.
  • Includes appropriate comments throughout the code to explain the purpose of each section, key variables, and logic.
  • Writes clean and well-structured C language code using functions.


Referencing Style

Submission
Online

Submission Instructions
Report as a Pdf File, Video demos, software codes need to be uploded to Moodle

Learning Outcomes Assessed
  • Apply structured programming knowledge to develop software solutions
  • Program a microcontroller to interface with external devices such as analog and digital sensors, actuators, and computers
  • Analyse and design microcontroller-based real-time applications using a given industry standard development system and software tools
  • Prototype an embedded microcontroller system for an authentic application
  • Communicate professionally using relevant technical terminology, symbols, and diagrams, and effectively document the design and prototyped solutions
  • Work independently and collaboratively to analyse problems and propose solutions.

Academic Integrity Statement

As a CQUniversity student you are expected to act honestly in all aspects of your academic work.

Any assessable work undertaken or submitted for review or assessment must be your own work. Assessable work is any type of work you do to meet the assessment requirements in the unit, including draft work submitted for review and feedback and final work to be assessed.

When you use the ideas, words or data of others in your assessment, you must thoroughly and clearly acknowledge the source of this information by using the correct referencing style for your unit. Using others’ work without proper acknowledgement may be considered a form of intellectual dishonesty.

Participating honestly, respectfully, responsibly, and fairly in your university study ensures the CQUniversity qualification you earn will be valued as a true indication of your individual academic achievement and will continue to receive the respect and recognition it deserves.

As a student, you are responsible for reading and following CQUniversity’s policies, including the Student Academic Integrity Policy and Procedure. This policy sets out CQUniversity’s expectations of you to act with integrity, examples of academic integrity breaches to avoid, the processes used to address alleged breaches of academic integrity, and potential penalties.

What is a breach of academic integrity?

A breach of academic integrity includes but is not limited to plagiarism, self-plagiarism, collusion, cheating, contract cheating, and academic misconduct. The Student Academic Integrity Policy and Procedure defines what these terms mean and gives examples.

Why is academic integrity important?

A breach of academic integrity may result in one or more penalties, including suspension or even expulsion from the University. It can also have negative implications for student visas and future enrolment at CQUniversity or elsewhere. Students who engage in contract cheating also risk being blackmailed by contract cheating services.

Where can I get assistance?

For academic advice and guidance, the Academic Learning Centre (ALC) can support you in becoming confident in completing assessments with integrity and of high standard.

What can you do to act with integrity?