Intuitive Casings For Sophisticated Physical Computing Components
Physical computing is a way to design interactions between users and products and is one of the new techniques that designers need to learn today. Design students have learned and used Arduino for their projects. However, the current hardware design and programming environment is often too confusing and intimidating for them. I have designed a learning tool for Arduino and related electronic components. It consists of a set of housings, which indicate the function of each element in an easy to understand way, and software which generates an Arduino code without any programming.
I started this project with user interviews and analyzed the problems. Through several experiments, I built hardware prototypes and sample software. Finally I tested my idea with students at Pratt Institute.
Industrial Designer, Design Technologist
Design Research / Prototype Making / Software Development / Usability Testing
Rhinoceros, Arduino, Processing, openFrameworks
October 2018 - May 2019
Since 2014, I have observed the projects of design students from three universities as a TA and a classmate. The students worked on their projects for several weeks. They were good at drawing with pens, generating ideas, using design software for illustration and 3D software. However, after they had finished deciding their ideas and drawing sketches, they seemed to have trouble making prototypes. Even if the circuits they needed to make were not that complicated, they were unable to use physical computing tools. As a result, some of them were unable to meet the deadline for building their prototypes. I decided to design a tool for design students to build prototypes.
In order to understand the user needs better, I interviewed students on the Industrial Design Course in Pratt Institute. Through the interviews, it became clear that many design students are interested in making prototypes which interact with users but they have difficulty learning and using current tools.
The situation of design students is a little complicated. They learn how to use the tools, not for fun, but in order to build their prototypes which have specific functions. Their projects are varied, so they want to have a choice of as many electronic components as possible. Of the products available which meet their needs, Arduino is the easiest to use. However, they still find it difficult to connect the components correctly and write programs.
Define the Target Users
The primary target users are design students who have never used physical computing tools and who don’t have a knowledge of programming.
After the interviews with design students, it became clear just what was required of the new tool. There were five key points I needed to address with my design. Firstly, the product should be so easy that students could learn to use it in a few hours. They couldn't spend several days just learning how to build a simple circuit. Secondly, the appearance should be user-friendly, not intimidating. The third point was that students should also be able to use the system, in the prototyping process which follows, to learn physical computing. It was also essential that the system could be used with a wide range of different types of electronic components. The final requirement was that students should be able to easily describe the algorithm of the circuit.
To fulfill these requirements, I used four approaches: Use of Arduino, Openable Housings, Simplified Connectors, and Special Software to Generate a Code.
1.Use of Arduino
The projects of design students are varied, and it is important that they are able to use a large number of components. Arduino boards can be used with hundreds of different electronic components and it is likely that more and more Arduino compatible components will become available in the future.For this reason, I adopted Arduino as the base system of my projects and developed tools which help design students to utilize the system quickly.
Up to now users have connected Arduino microcontrollers with sensors and actuators using jumper wires. This connection system is very flexible but it means that users may sometimes connect the components incorrectly. Moreover, the microcontrollers have many pins which makes it difficult to distinguish them and understand their functions. My newly designed connectors have less than four pins and have different colors according to the type of component. This design prevents making wrong connections and enables users to understand the system quickly.
The structure of existing components is overexposed, even though the parts which need to be exposed in order to use their functions are limited. Therefore, I decided to design housings to cover all but the critical sections. This design indicates the iconic part of the components and also decreases the pressure on beginners when they learn and use electronic circuits for the first time.
My design also enables users to open and close the housings. They can build a circuit first, then, if they want to understand the structure inside, they can open the components and learn how the system works. If necessary, they can duplicate the circuit and embed it in their prototypes.
4.Special Software to Generate a Code
Writing a program is a very stressful task for design students who have never learned any programming languages. The purpose of programming is to indicate how a circuit works in different situations. Therefore, if users can determine the algorithm, it is possible to generate a program, which achieves the required function, without the users having to write the code themselves. Design students are good at making storyboards of their products so I decided to design storyboard-like software with which users can generate an Arduino program.
I designed a set of cylindrical-shaped housings with blue or red edges, depending on the type of component. Users connect the housings in a line, and the shape clearly indicates the flow of the data from a sensor to an actuator.
I made several prototypes to find a good connection system. At first, I used jumper wires as electrodes, but it was difficult to insert the pins precisely. I adopted pogo pins in the next prototypes. But the electrodes moved and could not be kept in contact with each other in the correct position. After several trials, I found that using magnets covered with metal was an easy way to connect the components and to conduct electricity from one part to another.
I designed the user interface with Adobe Illustrator. When I built the software, I compared several frameworks. It needs to save an Arduino program, and both Processing and openFrameworks have that function. I made the first version of the software with Processing because it enabled me to write programs quickly. However, the resolution of the software was not precise enough. Therefore, I implemented it with openFrameworks.
I made a set of prototypes for six components: Micro Controller, Sound Sensor, Distance Sensor, LED, Relay, and Buzzer. Then, I tested my prototypes with graduate design students in Pratt Institute. Through usability testing, they were able to understand how to use my products and build circuits.