Final Project

tl;dr; At the end of the course, students will work in a small collaborative group (3-4 students). Together they will prepare a creative project of their own design and choosing. Outcomes of the self directed project will be presented and demonstrated to invited guests in lieu of a final exam.

Final Project

Once we’ve covered the basics, this course will give you the opportuntity to make your own Internet-enabled prototypes. This is the goal of the final, collaborative, project. For the final two weeks, small teams will work together to identify a prospective idea for a connected product, prepare a working prototype and deliver supporting process and outcome documentation. Working as a group, you’ll self-select an idea for a IoT prototype that you’re excited to make real. For this projects, you get to make whatever you want (so long as it fits the brief!). This gives you a lot of opportunity to build a great project for your portfolio, and to help develop your hardware and software skills!

For the outcome students will prepare:

  • working demonstration of their idea (a prototype)

  • a functional specification (engineering) including circuit diagrams, etc.

  • a design from low-fidelity sketches to high-fidelity prototype

  • a high-level strategic documents outlining the costs involved, expected retail price, and draft promotional material.

Outcomes of the final project will be presented and demonstrated to invited guests in lieu of a final exam.

Full details of the final project incl. brief can be found in the assignment description.

Learning Objective

As part of the exercise, students will:

  • Rapidly prepare a well considered prototype for an Internet of Things scenario;
  • Become familiar with the concepts surrounding IoT applications by building them;
  • Learn to design and develop simple lightweight IoT prototypes;
  • Learn to work independently and collaboratively to prepare a interactive prototype of an IoT product.


Specific deliverables will be covered in the assignment descriptions, but these projects will require the following to be delivered:

  • A working prototype that includes software (code), hardware and electronics elements.
  • Code for the application
  • Documentation of the project (contributed to the Gallery).
  • An in class demo. of the completed project.


This isn’t a race to the finish. This is a collaborative exploration.

Feel free to _Share, reuse, revisit_ past projects as needed.

You are welcome to use the code, ideas, outcomes from any previous project even if it is not your own; but you must acknowledge it.

Submitting your work:

You’ll submit your work as follows:

Documentation should be posted to the Gallery as a new project in the relevant pool. Guidelines on working with this platform can be found here.

  1. You should document your project thoroughly including:
    • A description of the concept and goals (include video and/or diagrams as needed.)
    • A description of relevant prior projects, approaches or methods you researched and that inspired the project. Be thorough and show what informed the project.
    • The process you underwent to reach the outcome (experiments, hacks, tests, refinments, iterations, failures)
    • The outcome itself and how it works. Include supporting images, a video of the working prototype, circuit diagrams, etc.)
    • Outline next steps and future directions.
    • Add/upload code and any supporting documentation and files.

Choosing a project

A detailed brief will be provided for this project. Follow this as a starting point and pay attention to the examples provided.

Aside from this, the possibilities are far and wide. The main thing is to choose something you care about. Having a project that’s genuinely interesting to you is going to be best. Keep in mind that it should be reasonably well scoped i.e. something small, discrete and easy to implement well in a tight turnaround. Don’t try to boil oceans, identify a small solvable problem that illustrate your key idea. Keep it constrained but conceptually interesting. From there there’s lots of options.


These projects are a way for you to showcase:

  • Your engagement and understanding of the material of the course
  • Your creative capacity
  • Your own interests

Take note: The most important thing for this project is to come up with a compelling concept - something interesting, informed, aware or critical. The breakdown of the grades favors your ability to come up with an idea like this. Focus on the idea before implementation!

A strong grade will result by create interesting, well-crafted and well documented projects.

The final project is graded on process, product and demontration. This is balanced as follows:

  • 40% - Process: Milestones during the final project will include presenting initial concepts, participating in crits, and developing rough cut prototypes, etc.
  • 40% - Documentation: The final documentation will describe the outcomes, approach, and relationship to prior work
  • 20% - Presentation and Demonstration - high quality presentation and well narrated demonstration of the solution

The final project documentation will be graded as follows:

  • 40% - Technical Implementation - Quality of code and execution of the outcome
  • 30% - Creativity of Approach and Topic - Merit, creativity, and context for the outcome/proposal
  • 20% - Outcome Documentation - Well illustrated with appropriate use of code, video, diagrams, repeatability, etc.
  • 10% - Process - Description of process (ideation, iteration, etc.) and personal reflection on learning outcomes

A note on documentation templates: Each creative project will be accompanied with a written description. This is a starting point for your exploration. They aren’t designed to, nor will they, provide a template for things you need to do to get 100%. Please don’t treat them like this. Instead, they are prompts meant to get you thinking. You should interpret them and approach them creatively. You are strongly encouraged to think beyond what’s written.

Grading Rubric

Creativity (Approach and Topic):

[Applies to all projects except, Home Hack (individual)]

How interesting is the concept/outcome? Does it represent an a unique approach or an original perspective on the assignment? Does it depart from or have a twist on known or standard approaches? Does it use materials or code in an innovative way?

  • 0: incomplete: does not satisfy brief and no originality or creativity demonstrated (e.g. direct replication of prior approach without extension)
  • 1: passing: satisfies minimum requirements of the brief and/or a minor increment over existing work (extension/adaptation of a precedent)
  • 2: good: shows engagement, exploration and insight; uses precedents and/or materials in relatively original ways.
  • 3: excellent: shows deep insight, and significant understanding of the problem; goes beyond the brief and demonstrates significant originality in the ideas and their application; uses precedents and/or materials in unexpected ways; surprising and delightful outcome.
Context (Concept and Background):

Is the problem space or scenario clearly explained? Does the work make connections to the ideas introduced in class (i.e. is there direct reference to theory, research, precedent projects)?

  • 0: incomplete: does not satisfy brief (no mention of problem space, scenario) and/or does not include precedents.
  • 1: passing: satisfies minimum requirements.
  • 2: good: provides a thoughtful and considered introduction to the work with limited references and limited analysis of past work
  • 3: excellent: provides a thoughtful and considered introduction to the work and supports the context with relevant references and critical analysis of past work.
Execution I - Code:

How well implemented is the code? Is it well commented, well formatted, well structured and functioning? Does it show sophisticated approaches? How well composed is it? Does it show technical skill and mastery of programming?

  • 0: incomplete: does not satisfy brief - code not included or does not compile
  • 1: passing: satisfies minimum requirements - provides the minimum core functionality, is basic in operation and could be improved.
  • 2: good: functional; provides reasonably well structured approach; well commented; and shows technical competence.
  • 3: excellent: provides a considered well organized, well commented and structured implementation; and/or has implemented complex functionality beyond the brief and/or demonstrated technical skill
Execution II - Circuitry:

How well implemented is the circuit? Are the selected components sensible for the goals? Is the circuit well designed, functioning, etc.? How well composed is it? Does it show technical skill and mastery of electronics?

  • 0: incomplete: does not satisfy brief - circuit not included or does not function as described
  • 1: passing: satisfies minimum requirements - provides the minimum core functionality, is basic in operation and could be improved.
  • 2: good: functional; demonstrates understanding of components and applied them in a working circuit; circuit is well organized; component selection is sensible and demonstrates some technical skill
  • 3: excellent: provides a strong technical understanding; well considered component choices; functions and is well organized; and works with advanced components, implements functionality beyond the brief and demonstrates technical skill
Execution III - Form:

How well implemented is the aesthetics of the object/device? Are the design and material choices appropriate for the context and do they integrate with the code and circuitry? Does it show sophisticated approaches? How well composed is it? Does it show design skill and mastery of fabrication and forms?

  • 0: incomplete: does not satisfy brief - code not included or does not compile
  • 1: passing: satisfies minimum requirements - provides the minimum aesthetics; involves minimal to no design
  • 2: good: functional; illustrates an intended form for the device (even if preliminary) and that form is sensible and appropriate.
  • 3: excellent: provides an exceptionally well crafted object that shows competence in the design and material choices
Communication (Documentation):

How well authored, curated, illustrated is the documentation? Is it sufficiently detailed to repeat the outcome? Does it include a personal reflection? Does it communicate the project and its goals succinctly and effectively?

  • 0: incomplete: documentation is missing or doesn’t provide any illustration
  • 1: passing: satisfies minimum requirements - it contains the required components; but reasonably poor quality, verbose, unclear or shows other communication issues.
  • 2: good: clearly communicated and sufficiently detailed to easily repeat the outcome; well and appropriately illustrated with media, diagrams and code.
  • 3: excellent: as good, but includes an additional level of rigor, reflection or professionalism that elevates the outcome. e.g. Documentation that is ready to share online for press or crowdfunding.