AutoFritz: Autocomplete for Prototyping Virtual Breadboard Circuits

Publication - ACM CHI 2019 | Best Paper Honorable Mention

Jo-Yu Lo, Da-Yuan Huang, Tzu-Sheng Kuo, Chen-Kuo Sun, Jun Gong, Teddy Seyed, Xing-Dong Yang, and Bing-Yu Chen

We propose autocomplete for the design and development of virtual breadboard circuits using software prototyping tools. With our system, a user inserts a component into the virtual breadboard, and it automatically provides a user with a list of suggested components. These suggestions complete or extend the electronic functionality of the inserted component to save the user's time and reduce circuit error. To demonstrate the effectiveness of autocomplete, we implemented our system on Fritzing, a popular open source breadboard circuit prototyping software, used by novice makers. Our autocomplete suggestions were implemented based upon schematics from datasheets for standard components, as well as how components are used together from over 4000 circuit projects from the Fritzing community. We report the results of a controlled study with 16 participants, evaluating the effectiveness of autocomplete in the creation of virtual breadboard circuits, and conclude by sharing insights and directions for future research.

Figure 1. Using AutoFritz to create virtual breadboard circuits. (a) A user inserts a LED in a breadboard, and AutoFritz gives two suggestions that completes the LED into a function module with the top ranked one (a resistor) shown in a semi-transparent overlay. (b) In another example, after the user inserts a DC motor, AutoFritz provides a list of suggestions that are commonly used with the DC motor with stars indicating the popularity of the choice among the maker community. (c) Upon the user accepting the H-bridge, AutoFritz suggests several choices for wiring connections, and finally (d) an Arduino board and Battery to complete the circuit.

Figure 2. Our user study shows that the autocomplete feature reduces users' mental effort and frustration. It also enhances users' confidence. These results are found in both simple and complex circuit tasks.