12 March - 11 May 2018
This course is about creating interactive physical prototypes that combine mechanical, electrical and software components. It teaches students to design mechanical parts with solid modeling tools, and to combine those parts together with sensors and actuators (mainly motors and servos) in order to create a physical gadget that interacts with the world around it.
There are three primary activities in the course: designing and building mechanical parts, designing and building electronics and implementing software to a microcontroller. The course also introduces the students to the use of Fab Lab facilities at the University of Oulu.
The course focuses on project work and students are required to design and produce a simple electronic device. The project work is a group activity consisting of prototype’s design and implementation, and the project documentation. Other activities in the course besides the project work are: lectures, workshops or hands-on training, and students groups’ presentations. The optimal student group consists of 3 people. This ensures that each group will have enough working hours available to make an interesting project (5 credits equals 135 hours of work per student).
In this course the students will learn the whole process of digital fabrication and create an interactive 3D prototype. Course contents include learning 1) how to create 3D printable models using 3D CAD programs, and laser cut or mill parts using 2D software, 2) how to design and fabricate electronic circuits, and 3) how to control physical components with an open hardware embedded board. The course is completed with a final presentation of the team project work (the prototype and the documentation). In the project the students design from scratch the mechanical parts for their prototype, create basic electronics, and implement a control logic for open hardware embedded board. The project deliverables are the interactive 3D prototype, the documentation afferent to it, and the final presentation of the prototype and project work.
This course is an excellent broad introduction to digital fabrication and modern computer science and their surrounding fields.
All groups should have 4 (or 3) members. Groups are formed at the starting lecture. The course cannot be taken individually.
The course is evaluated pass/fail based on the team work accomplished during the course. The course ends with a final presentation of students showing their prototype working and the documentation (e.g., a project webpage or other documenting platform in which students document their project). This section contains the requirements for passing the course. For further information please see the Project Requirements and Project Documentation sections.
Three deliverables are expected from students as follows:
1) the interactive 3D prototype. The prototype is evaluated (see criteria in section Project Requirements).
2) the documentation afferent to it. Documentation should be carried out along the prototype development. The documentation is evaluated (see criteria in section Project Documentation).
3) final presentation of the prototype and project work. This will take place during the last week of the period, where all teams will present their working prototype to the rest of the students. The presentation is evaluated (see criteria in section Evaluation criteria).
The default project gadget deliverable is an alarm clock robot that starts to run away when the alarm starts to ring. It will stop only when the sleepy owner catches it up and shakes it. We have reserved enough electronic components for each group to build this robot, including a (own) custom made PCB (Printed Circuit Board).
However, if students don't fancy making a runaway alarm clock that much, they are encouraged to make anything of your own choosing. We have some additional components that we can lend out from Arduino starter kits and FabLab inventory, but if students require components that we don't have students need to supply them themselves.
Regardless of the project gadget students work on, there are the minimum requirements of what the gadget deliverable must comply with:
- It must consist mostly of parts (solid and electronic) you have designed and manufactured in FabLab,
- It needs to have moving parts that are controllable by software (that is, it should have at least one actuator such as motor or servo),
- It must have at least one sensor, and the software needs to react to its readings somehow.
Students must check with the teaching assistants that the project gadget is feasible and fulfills the course requirements.
Project documentation is a compulsory deliverable along with the actual prototype and final presentation. The documentation accompanies the project work as it is conducted; that is, the documentation deliverable should document all the stages, steps, and activities done by project’s individual members and team as a group. The documentation is also a narrative of how you started up with a concept and how you went through different stages to turn it into a functional prototype. The key principle behind documenting student work is: anyone, having your project source files and documentation, should be able reproduce your project.
The documentation is evaluated in two stages: 1: at mid-term (5th week of the period) and 2. at the end of the project (last week of the period).
At mid-term evaluation, you should have ready for evaluation and discussion the following:
- The online system where you store the files
- The introductory report
- The dairy report up-to-date
At final presentation of the project, you should have ready for evaluation the following:
- The online system where you store the files up-to-date
- The introductory report
- The diary report
- The summary report
The requirements for the documentation are:
- To use an online system, for example, Google for Education (http://www.oulu.fi/th/gafe) or GitHub, to deliver your work’s source files (code files, electronics schematics, and design files). You have some more examples in the Suggested Platforms section.
- To create a page (e.g., wiki, web-page, google document, etc.) where you document all the files and the process you have created during the project work. The page format is up to you, as long as the required information can be found there. Some platforms are summarized in the Suggested Platforms section.
Thus the documentation deliverables consists of two parts: “Repository” and “Documentation Page”.
Requirements for the Repository (The repository must contain the following:)
- Source code files for system software
- Design files for the 3D models done with solid modeling program (in their native format)
- .stl files
- Vector graphics files for 2D models (e.g., used in laser and vinyl cutting)
- Binary files if necessary
- Mid term and final presentation
Requirements for the Documentation page (The page must contain the following:)
- Introductory report (see instructions below)
- Diary report (see instructions below)
- Summary report (see instructions below)
For the documentation page:
- If you have your own server/domain you can host it there. There are plenty of simple templates available. Check for instance https://startbootstrap.com/ or https://startbootstrap.com/template-categories/all/
- Google sites: It is integrated in the Google Drive. You can access to it through our University Google Suite for Education . It is free for University students and staff.
- Wordpress: One of the most used Content Management Systems. It can also host your page for free.
- Other free online website builders: Weebly and Wix
- If you are familiar with GitHub, you can also host your project page there.
For the repository:
- The preferred option is GitHub. However, it might difficult if you have not used Git before. You can try their desktop client. In addition you can create your documentation there.
- Bitbucket and GitLab are other Git based online repositories.
- You can also use Google Drive. You can access to it through our University Google Suite for Education . It is free for University students and staff.
- Dropbox might be another option.
In the introduction part of your Documentation Page you should describe the concept of your prototype. Note that this section should describe your starting point. Even if you end up making something entirely different, this section should document your initial idea. This section should contain the following information:
- Short description of the concept
- Description of how you arrived at your design
- Other options you considered while deciding on your design
- Design sketches
- Bill of Materials: List of electronic components you need for your project.
Length: between 100 - 250 words + min 1 picture showing design sketches.
You should provide at least one entry per week.
The diary report will describe:
Idea: Description of what you are planning to do, including information on how you reach to that idea and updates to the original idea.
Diary of the process: At least one entry per week, telling what has been done during the week by every member of the team and the team as a whole. Include pictures and videos.
About errors and failures.
● Wrap up of the project.
● Lesson learned.
● Feedback to course responsibles.
An example template guiding the contents of each report is provided.
See Electronic Components available for the course for the list of components available for the course and how to order them.
Below, the criteria for evaluation of the project work into pass/fail grades are listed. Failing to deliver any one of the following according to the requirements will determine a fail grade:
1. Mid-term (5th week of the period) deliverables and meeting with course supervisors (TA).
2. Final Repository up-to-date by the final deadline at the end of the project (last week of the period) - all files according to requirements.
3. Final Documentation page up-to-date by the final deadline at the end of the project (last week of the period) - according to requirements.
4. Final presentation with 2-3 slides - to summarize the whole process and project.
5. Successful implementation (working prototype) and documentation in the project reports are the main evaluation criteria.
There will be regular meeting hours through the period (each week) where each group can ask questions and have feedback of TA. Questions will be best to ask when showing the diary and current project files.
Registration of topic and documentation URL
By 24th March 2018 you should fill the following form containing the necessary group information:
- Group members and email address
- Project topic
- URLs of your documentation and online file repository. They should be public (unless otherwise agreed with the course responsible).
If you cannot join a team, contact the course staff before 19th March 2018.
Example electronic board
Each team should fabricate in Fab Lab (using the CNC milling machine) a test board by 4th of April in FabLab.
For the design part, you can follow the instructions provided in the following tutorial: Eagle 8.x tutorial. Do not make exactly the same circuit. You should design a simple board (few components). Here are two examples (you can copy as they are, we just want that you practice a little bit the design with Eagle and mill the board):
- Very simple design: Eagle .sch, Eagle.brd, traces.png, cutout.png, holes.png and tinkercad simulation.
- Simple design that can be connected to Arduino: Eagle.sch, Eagle.brd, traces.png, cutout.png, holes.png and tinkercad simulation.
Once you have the png files with the traces and the cutout you can fabricate your board at Fab Lab. Some video instructions can be found from this youtube video. In addition, you Fab Lab Oulu Wiki has one tutorial on PCB fabrication using the SRM-20.
Remember, use always the componets from the fab.lbr library when possible.
If you want further information you can reach us:
By email: firstname.lastname@example.org
At Fab Lab premises.