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
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 - 2026
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).
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
Assessment Overview
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.
All University policies are available on the CQUniversity Policy site.
You may wish to view these policies:
- Grades and Results Policy
- Assessment Policy and Procedure (Higher Education Coursework)
- Review of Grade Procedure
- Student Academic Integrity Policy and Procedure
- Monitoring Academic Progress (MAP) Policy and Procedure - Domestic Students
- Monitoring Academic Progress (MAP) Policy and Procedure - International Students
- Student Refund and Credit Balance Policy and Procedure
- Student Feedback - Compliments and Complaints Policy and Procedure
- Information and Communications Technology Acceptable Use Policy and Procedure
This list is not an exhaustive list of all University policies. The full list of University policies are available on the CQUniversity Policy site.
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 Student Unit and Teaching Evaluations (SUTE) Survey
Students requested greater clarity in the unit and assessment requirements.
Unit and assessment requirements should be discussed in detail during weekly workshop sessions.
Feedback from Student Unit and Teaching Evaluations (SUTE) Survey
Some students are seeking detailed feedback.
Individual sessions should be organised to provide verbal feedback for students seeking additional feedback.
- 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.
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 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 - First Nations Knowledges | ||||||
| 11 - Aboriginal and Torres Strait Islander Cultures | ||||||
Textbooks
There are no required textbooks.
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 running Windows 10 or above with authority to install the software required for the unit.
All submissions for this unit must use the referencing style: Harvard (author-date)
For further information, see the Assessment Tasks.
l.piyathilaka@cqu.edu.au
Module/Topic
- Introduction to C language programming environment
Chapter
N/A
Events and Submissions/Topic
Module/Topic
- Introduction to Embedded Systems and Microcontrollers
Chapter
N/A
Events and Submissions/Topic
Module/Topic
- AVR Programming basics
- Digital Inputs /Outputs
Chapter
N/A
Events and Submissions/Topic
Module/Topic
- Motor Control and Hardware Interfacing
Chapter
N/A
Events and Submissions/Topic
Module/Topic
- ATMEGA328P Serial Communication
Chapter
N/A
Events and Submissions/Topic
Module/Topic
- Analog to Digital Conversion
Chapter
N/A
Events and Submissions/Topic
The project proposal and plan are due.
Assignment 1: C Language Programming Due: Week 6 Monday (13 Apr 2026) 11:55 pm AEST
Module/Topic
Chapter
Events and Submissions/Topic
Module/Topic
- Timers, Interrupts and PWM
Chapter
N/A
Events and Submissions/Topic
Module/Topic
- Servo Motor Control
Chapter
N/A
Events and Submissions/Topic
Module/Topic
- Ultrasound Sensor Interfacing
Chapter
N/A
Events and Submissions/Topic
Module/Topic
- Project Discussion
Chapter
N/A
Events and Submissions/Topic
Module/Topic
- Project Progress Review
Chapter
N/A
Events and Submissions/Topic
Project progress review quiz
Module/Topic
- Project Help
Chapter
N/A
Events and Submissions/Topic
Module/Topic
Chapter
Events and Submissions/Topic
Module/Topic
Chapter
Events and Submissions/Topic
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. Also, students should have access to a computer with the Microsoft Windows operating system.
1 Written Assessment
The purpose of this assignment is to evaluate your understanding of AVR C programming and your ability to configure control registers to perform specific functions on a microcontroller. Your task is to analyse the given system, develop a conceptual solution, create a visual representation of your approach, and write C code to solve the assigned challenges.
You must complete this assignment individually. Seeking help from others or collaborating in any form is not permitted. Your submission must clearly demonstrate independent work, as outlined in the assignment submission requirements.
In this assignment, you will program simulated hardware to achieve a clearly defined goal. Your primary objective is to demonstrate your C programming skills within the context of solving a practical, real‑world problem.
Minimum mark requirement: You must achieve at least 30% for this assessment.
This assessment uses the University’s 72‑hour grace period after the deadline; no late penalty applies within that window.
AI ASSESSMENT SCALE - AI COLLABORATION
You may use AI to assist with specific tasks such as drafting text, refining, and evaluating your work. You must critically evaluate and modify any AI-generated content you use.
Week 6 Monday (13 Apr 2026) 11:55 pm AEST
Marked assignment with feedback will be returned to students usually within 2 weeks after submission. However, there will be no model answers provided.
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 a clear understanding of the goals and requirements of the simulated hardware programming task.
- Develops a correct and complete solution that meets all specified goals.
- Achieves the expected outcomes as defined in the assignment brief.
- Provides clear evidence of successful program execution, such as video recordings or screenshots.
2. Problem‑Solving and Solution Development
- Presents a logical and coherent approach to solving the assigned problems.
- Breaks down complex problems into smaller, manageable components.
- Uses appropriate algorithms, data structures, and programming constructs to implement the solution.
- Provides a detailed explanation of the problem‑solving process, including iterations, refinements, and reasoning.
- Includes flowcharts or other graphical representations to illustrate the structure and logic of the solution.
3. Code Quality and Documentation
- Follows standard programming conventions, including correct naming practices and formatting.
- Includes clear, meaningful comments explaining key variables, functions, and logic.
- Provides an explanation of the code’s functionality, highlighting important techniques or algorithms used.
- Writes clean, well‑structured, and readable C code that reflects good programming practice.
4. Individuality and Originality
- Demonstrates that all work submitted is independently developed.
- Avoids copying code, logic, or solutions from external sources without attribution.
- Shows creativity, independent thought, and a unique approach to solving programming challenges.
- 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
The purpose of this assignment is to assess your foundational programming skills in the C language for embedded microcontroller applications. Your task is to analyse the assigned system, design a conceptual solution, create a graphical representation of your approach, and implement your solution using C on a microcontroller board.
You will work with a collection of sensors and actuators connected to the microcontroller. Before writing your code, you must develop a clear conceptual design and represent it using a flowchart or block diagram. Although you will be assigned to a peer support group for general discussion and technical assistance, all submitted work must be entirely your own. Your report, demonstration video, and source code must individually reflect your understanding and implementation.
You must provide a working program that produces the required outcomes. You must submit all required evidence, including the report, demonstration video, and source code files.
Minimum mark requirement: You must achieve at least 50% for this assessment.
This assessment uses the University’s 72‑hour grace period after the deadline; no late penalty applies within that window.
AI ASSESSMENT SCALE - AI COLLABORATION
You may use AI to assist with specific tasks such as drafting text, refining, and evaluating your work. You must critically evaluate and modify any AI-generated content you use.
Week 9 Thursday (14 May 2026) 11:55 pm AEST
Marked assignment with feedback will be returned to students usually within 2 weeks after submission. However, there will be no model answers provided.
Assessment Criteria
- Graphical representation of the program using a flowchart or a block diagram.
- 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.
- 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.
- 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)
This project provides you with the opportunity to design, implement, and demonstrate a complete embedded system prototype that addresses a real‑world problem. Your task is to develop an individual hardware‑software solution using the microcontroller board and the required sensors and actuators. You are responsible for purchasing all necessary components and ensuring that your system is functional by the submission date.
Although you will be part of a peer support group for general discussion and technical guidance, all design work, coding, hardware implementation, and documentation must be completed and submitted individually. Your project will undergo a progress review in Week 11, where you must demonstrate substantial progress and provide supporting evidence such as videos, code, and design sketches.
You must develop a fully functioning embedded system prototype and submit all required evidence demonstrating your design process, implementation, and testing. Your report should document your problem‑solving approach, design rationale, code structure, and the performance of your final prototype.
Minimum mark requirement: You must achieve at least 50% for this assessment.
This assessment uses the University’s 72‑hour grace period after the deadline; no late penalty applies within that window.
AI ASSESSMENT SCALE - AI COLLABORATION
You may use AI to assist with specific tasks such as drafting text, refining and evaluating your work. You must critically evaluate and modify any AI-generated content you use.
Exam Week Wednesday (10 June 2026) 11:45 pm AEST
You must upload a PDF report, a demonstration video, and source code files to Moodle.
1. Project Progress Reviews (Week 11) :
- You will need to complete an online progress review quiz to record your progress in the project. You must show substantial progress toward the timely completion of the project. You need to provide evidence of your progress, such as video demonstrations, code files, sensor and actuator testing, and design sketches.
2. Goal Achievement:
- Demonstrates the ability to understand the goals and requirements of the 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:
You must 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:
- Your code must follow standard programming 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.
- 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.
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?