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 - 2024
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 evaluation survey
The students appreciated the use of Microsoft Teams to provide timely feedback and support for the project.
Microsoft Teams should be used to provide timely feedback and support to students.
Feedback from Unit Coordinator's self-reflection
The current hardware platform used in this unit limits the level of difficulty and complexity that the final project can achieve.
A hardware platform capable of handling challenging projects should be introduced.
- 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 - 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 with Windows 10 with authoity to install software required for the unit
- Downlaod and Install Visual Studio Code
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
Chapter
Events and Submissions/Topic
Module/Topic
- Analog to Digital Conversion
Chapter
N/A
Events and Submissions/Topic
The project proposal and plan are due.
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 interviews
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.
1 Written Assessment
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.
Week 5 Friday (5 Apr 2024) 11:45 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 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.
- 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
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.
Week 9 Friday (10 May 2024) 11:45 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 (each question)
- 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 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.
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
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.
- 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?
![](/img/academic_integrity.png)