The Toastboard: Ubiquitous Instrumentation and Automated Checking of Breadboarded Circuits
Total Page:16
File Type:pdf, Size:1020Kb
The Toastboard: Ubiquitous Instrumentation and Automated Checking of Breadboarded Circuits Daniel Drew†, Julie L. Newcomb‡, William McGrath?, Filip Maksimovic†, David Mellis†, Bjoern Hartmann† †: UC Berkeley EECS, ‡: University of Washington PLSE, ? : Stanford University HCI Group ddrew73,fil,mellis,[email protected], [email protected], [email protected] ABSTRACT The recent proliferation of easy to use electronic components and toolkits has introduced a large number of novices to de- signing and building electronic projects. Nevertheless, debug- ging circuits remains a difficult and time-consuming task. This paper presents a novel debugging tool for electronic design projects, the Toastboard, that aims to reduce debugging time by improving upon the standard paradigm of point-wise circuit measurements. Ubiquitous instrumentation allows for imme- diate visualization of an entire breadboard’s state, meaning users can diagnose problems based on a wealth of data instead Figure 1. The Toastboard device and accompanying software. (1) LED bars indicate power, ground, or other voltage. (2) A push button triggers of having to form a single hypothesis and plan before taking a scan. (3) Quantitative voltage data is displayed in the accompanying a measurement. Basic connectivity information is displayed software. (4) Components are associated with testers that run on every visually on the circuit itself and quantitative data is displayed scan. (5) The voltage at a selected row can be viewed over time as a on the accompanying web interface. Software-based testing graph. functions further lower the expertise threshold for efficient debugging by diagnosing classes of circuit errors automati- cally. In an informal study, participants found the detailed, frustrating, and time-consuming to debug. Errors can stem pervasive, and context-rich data from our tool helpful and from a variety of sources all requiring different tools and tech- potentially time-saving. niques to diagnose. Users who have not yet built up debugging experience and intuition often find it difficult to efficiently locate and correct hardware bugs [7, 13, 18, 27]. ACM Classification Keywords H.5.m. Information Interfaces and Presentation (e.g. HCI): The solderless plugboard, or breadboard, became available Miscellaneous in the 1970s [24]. This passive device for making electri- cal connections is so prevalent that it is almost synonymous Author Keywords with the act of circuit prototyping. Despite their popularity, Physical computing; debugging interfaces; circuits breadboarded circuits are prone to a host of common issues such as incorrect component placement, faulty connections, INTRODUCTION and power management problems. The visual complexity of In recent years the confluence of easily accessible microcon- breadboarded circuits makes it even harder to probe and debug troller platforms (e.g., Arduino [19]) and component vendors circuits. that focus on making electronic components usable by hobby- We hypothesize that many difficulties in circuit debugging ists (e.g., SparkFun [25], Adafruit [1]) have allowed countless are due to the fact that much of the state of such systems is people to get started with programming and electronic design. both hidden by default and tedious and difficult to examine. At the same time, educational programs using these systems Traditionally, multimeters, oscilloscopes and logic analyzers have grown in both size and scope. However, projects that are used to measure and debug electronic circuits, but they can require prototyping hand-built circuits are often confusing, only probe the circuit at a single specified point (or a small number of points in the case of logic analyzers). Users first have to come up with a hypothesis as to why their circuit is Permission to make digital or hard copies of part or all of this work for personal or not working, and then choose a specific measurement to test classroom use is granted without fee provided that copies are not made or distributed their idea. This process may have to be repeated many times, for profit or commercial advantage and that copies bear this notice and the full citation as inexperienced users often do not know how to form likely on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author. hypotheses [11].A recent study of end-users building physical Copyright is held by the owner/author(s). computing projects suggests that new tools should provide UIST 2016, October 16-19, 2016, Tokyo, Japan ACM 978-1-4503-4189-9/16/10. in-context advice during the circuit construction process [4]. http://dx.doi.org/10.1145/2984511.2984566 1 Motivated by this call, as well as Bret Victor’s concept of freely about about their personal debugging strategies, issues “Seeing Spaces” [29] (which support understanding complex they see students commonly encounter, and methods to reduce systems through visualization of system state and behavior), debugging time for novices. we explore how showing information about circuit state proac- tively can reduce the barrier to evaluate hypotheses and in turn The strategies employed by the advanced practitioners ap- aid electronics debugging. peared to rely heavily on intuition gained through experience. Two suggested the importance of following a set pattern un- The Toastboard (Figure1) is a hardware and software system til such intuition is developed – e.g., first check for power, that makes three core contributions: (1) a ubiquitously in- then check connectivity, then check if microcontroller code is strumented breadboard that enables low-effort, pervasive data actually running. collection, (2) a continuously updated, web-based visualiza- tion of the state of the breadboard that provides easy access to We identified the following categories of common errors: Power Management: critical information; and (3) an automated component testing power or ground connections not made, framework that can diagnose common errors and provide use- improper voltages or currents supplied, power supply not on. Improperly Placed or Connected Components: ful information automatically. The Toastboard captures and shorted Bad Connections: analyzes an entire circuit’s voltage characteristics at a specific pins, improper component polarity. wires point in time, or continuously at approximately 100Hz. Volt- improperly seated in breadboard; bad wires; disconnections while moving or measuring circuit. Defective Components: age signals varying with a higher frequency (around 1KHz) blown capacitors or component pins. Locating errors is addi- can also be tracked and graphed in some scenarios where an tionally complicated by Visual Complexity: a “rat’s nest" of oscilloscope would typically be used. Results are displayed wires and long jumpers that is difficult to interpret. Design- both quantitatively in software and qualitatively with LEDs on the breadboard denoting where electrical connections have ers of circuits that included microcontrollers also frequently been made, as shown in Figure1. Simple wiring or component encountered additional errors at the intersection of circuits Incorrect Pin Usage: placement mistakes can be diagnosed visually. and code: setting digital inputs and outputs; internal pullup/pulldown resistors; invalid pin as- Further, if a user provides basic information about compo- signments, and Unexpected Sensor Readings: temperature nents on the board to the GUI, Toastboard can calculate some variation; supply voltage fluctuation; series resistance of con- of the circuit’s electrical characteristics such as current flow. nections. Component test functions use this information to alert the user to potential circuit errors and guide them towards a solution. We distilled the following essential functionality for our de- For example, if a wire has been drawn in software between bugging tool from both these broad categories and our review two rows but they are measured to not have equal voltages, of related work: the user will be alerted to a possible bad connection. Unlike • Sense the presence of power/ground connections circuit simulators (e.g., SPICE [22], CircuitLab [8]), our IDE uses the actual electric signals from the hardware to test for • Sense when components have been connected proper implementation; our hardware design prevents these • Measure many circuit nodes at once (to save time and measurements from affecting the behavior of most circuits that provide contextual information) do not involve precise analog timing. • Visualize relevant information about circuit behavior In an informal user study with seven participants the avail- • Lower the debugging knowledge barrier with automatic ability of immediate visual feedback was unanimously noted analysis as a useful feature for debugging. Further, the majority of participants commented that the component test functions al- RELATED WORK lowed them to rectify circuit errors without having to chase The most closely related prior work is on tools for circuit any false hypotheses. The device did not appear to interfere prototyping and learning about electronic circuits. We also with circuit building tasks. Multiple participants noted that survey relevant user interface techniques developed for end- using it was like "using any other breadboard." Anecdotally, user debugging of software systems. our system compared favorably to common tools such as digi- tal multimeters. Participants greatly preferred the ubiquitous instrumentation to taking painstaking point measurements,