Assignment 3 – Creative
1 Objective
This is the Creative stage. The objective is to take the knowledge gained in Assignments 1 & 2 and apply it to a specifific problem. The problem can be inventive or qualitative. Inventive: You can use the Raspberry Pi to solve some real-world problems (note the problem can be serious or fun). By comparison, a qualitative project involves some form of data gathering and assessment using an observed measurement (e.g., in-depth analysis of the ‘C’ compiler on the Raspberry Pi or recording temperature changes as specifific workloads are applied).
You can pick either a problem from work or a personal project but note the underlying goal is to use the project to assess the quality of your baseline from Assignment 2. We are attempting to understand where the characterization was successful and where it fell short of providing the right insight. How do we improve the characterization next time round?
Each project will be unique, but some distinct common themes will stand out. The goal is to use the project to improve the overall target-board characterization process.
1.1 Estimated Time
This part of the course is open, which means the estimated time to completion will be variable. Make sure you read through the entire document, including the marking scheme, before focusing on the details of the exercise.
1.2 Terminology
Device
An external piece of hardware
Peripheral
An hardware function built either on the SoC or board
Distribution
A wrapped collection of Linux software, packages and management
HAT
Hardware attached to the 40-pin header
NOOBS
New Out Of Box Software
1.3 Nomenclature
Px Pin X on the 40-pin Raspberry Pi header.
2 Recommendations
Similar to Assignment 2, try to approach this assignment systematically and scientififically and, where possible, implement your ideas to determine how the characterization helped or hindered Assignment 3 Project.
Record all the procedures and observations. Use this information to write a short report. The report should set out a clear set of objectives and a conclusion with a list of future changes/enhancements/limitations. As with the previous two assignments, record the time taken. And have fun!
Notes:
Use all the resources you have at your disposal, i.e., the message board, internet and colleagues
Reference all resources used
Use any extra hardware or software as required
Similar with Assignment 2, make sure all C source is written to a specifific standard
As you write your report, think about what you want to present
Make extensive use of the book Exploring Raspberry Pi by Derek Molloy, this book is a good source of information and advice
Combine difffferent perspectives discussed throughout the course, think about memory-hierarchy, hardware and hardware extensions, communication, response-time, software-tools plus libraries, power-management,reliability, and/or safety-critical.
3 Feedback
If you see an error or anything that requires further explanation or is plain wrong please let me know so that others may benefifit from your observations. Engineering is about constant improvement.
4 Important
Don’t just pull the power from the device. This is a Linux device and pulling the power randomly risks corrupting the fifile system. Interesting aside, the ext2 fifilesystem we will use is a fifilesystem with journaling turned on which has some measure of fault tolerance. The best practice is to force a software halt fifirst and then pull the power. The halt forces Linux to be placed in a dormant safe state for power removal. Use this command before pulling the power but always remember to wait a few minutes until Linux has fully shutdown.
$ sudo h al t
Be aware that the pins on the Raspberry Pi are highly sensitive. It is easy to damage the board if you connect the wrong electrical inputs to a pin, or even static discharge. You might consider adding a HAT board to protect the Raspberry Pi against potential future damage.
5 Submission
Submit a report plus all associated source code, including images, screenshots, and videos to show a working system. The fifinal report should provide an objective, discussion, results, list of successes and failures compared with the baseline characterization, list of recommended enhancement to the characterization stage,debate on the difffferences for limited/mass production, and fifinally a conclusion plus references.
Also, please note time-taken.
6 Assessment
This assignment is worth 40 marks of the total assessment.
The assignment will be assessed as follows:
(2) points for a clear outline of the project and project goals
(8) points for diffiffifficulty level and engineering implemented
(8) points for self-assessment of Assignment 2 characterization
(2) points for applicability for either limited or mass production
(10) points for the quality of source code (design, structure, and testing)
(3) points for the number of enhancements
(2) points for the fifinal conclusion and references
(5) extra points given for stretching beyond the normal project goals