Physical computing involves the creation of interactive digital devices that sense and respond to the world around them [1]. Typically, sensors, actuators and communications modules are connected to a microcontroller (MCU) running code that maps sensed inputs into outputs such as lighting, sound and electro-mechanical actuation [7]. This prototyping process builds on a wide range of disciplines including electronics, mechatronics, computer science and software development. It's typically experimental, creative and highly iterative.
The traditional approach to programming embedded systems is monolithic: firmware on a microcontroller contains both application code and the drivers needed to communicate with sensors and actuators, using low-level protocols such as I2C, SPI, and RS232. In comparison, software development for the cloud has moved to a service-based development and operation paradigm: a service provides a discrete unit of functionality that can be accessed remotely by an application, or other service, but is independently managed and updated. We propose, design, implement, and evaluate a service-based approach to prototyping embedded systems called Jacdac. Jacdac defines a service specification language, designed especially for embedded systems, along with a host of specifications for a variety of sensors and actuators. With Jacdac, each sensor/actuator in a system is paired with a low-cost microcontroller that advertises the services that represent the functionality of the underlying hardware over an efficient and low-cost single-wire bus protocol. A separate microcontroller executes the user's application program, which is a client of the Jacdac services on the bus. Our evaluation shows that Jacdac supports a service-based abstraction for sensors/actuators at low cost and reasonable performance, with many benefits for prototyping: ease of use via the automated discovery of devices and their capabilities, substitution of same-service devices for each other, as well as high-level programming, monitoring, and debugging. We also report on the experience of bringing Jacdac to commercial availability via third-party manufacturers.
Physical computing has emerged as an effective approach to introducing computing and coding to students. One of the most popular enabling tools is the BBC micro:bit, well-known for its positive impact on teaching programming and driving engagement in the classroom. We extend these benefits by developing a new approach to coding with micro:bit: MicroCode. Unlike other experiences, MicroCode couples the micro:bit with a low-cost handheld accessory to enable live and portable programming via an on-device visual programming language; no separate host computer is needed. We present the design of MicroCode and the findings of a study in which we interviewed five primary school teachers and 60 children aged 10-11 working with MicroCode. The outcomes of the study show that MicroCode raised children’s engagement and stimulated the development of a strong sense of agency on coding activities, while teachers felt empowered to adopt situated and cross-curricular learning approaches.
We present CircuitGlue, an electronic converter board that allows heterogeneous electronic components to be readily interconnected. Electronic components are plugged into an eight-pin programmable header on the board, and the assignment of each pin in the header is configured in software. CircuitGlue supports a variety of connections, including power, ground, analog signals, and various digital protocols at different voltages. As such, off-the-shelf electronic components and modules are instantly compatible no matter what voltage levels, interface types, communication protocols, and pinouts they use. In this paper, we demonstrate the use of CircuitGlue to ease and expedite prototyping with electronics and we explore new opportunities enabled by CircuitGlue. Finally, we reflect on the results of a preliminary user study evaluating the usability of CircuitGlue for people new to electronics.
We present CircuitGlue, an electronic converter board that allows heterogeneous electronic components to be readily interconnected. Electronic components are plugged into an eight-pin programmable header on the board, and the assignment of each pin in the header is configured in software. CircuitGlue supports a variety of connections, including power, ground, analog signals, and various digital protocols at different voltages. As such, off-the-shelf electronic components and modules are instantly compatible no matter what voltage levels, interface types, communication protocols, and pinouts they use. In this paper, we demonstrate the use of CircuitGlue to ease and expedite prototyping with electronics and we explore new opportunities enabled by CircuitGlue. Finally, we reflect on the results of a preliminary user study evaluating the usability of CircuitGlue for people new to electronics.
Embedded devices are now commonplace, and hardware prototyping toolkits have become a popular approach for hobbyists and professionals to create embedded hardware prototypes. However, moving from prototype into small scale manufacture use introduces complexity and cost, restricting embedded device development ’beyond the prototype’. Challenges include the need to design custom PCB for manufacture, and the design and fabrication of a device enclosure to ensure the robust enough for deployment. In response, we present MakeDevice : a web-based tool that leverages an existing modular hardware prototyping platform, Jacdac, to enable low-complexity route to generate a custom ‘carrier’ PCB upon which modules can be mounted and electrically connected. MakeDevice also automatically generates CAD files for custom enclosures with apertures to suit. We show how such enclosures can be generated using 3D printing and 2D stencils. In this way, MakeDevice lowers the barriers in moving from prototype to viable low-volume deployment of embedded hardware.
We present CircuitGlue, an electronic converter board that allows heterogeneous electronic components to be readily interconnected. Electronic components are plugged into an eight-pin programmable header on the board, and the assignment of each pin in the header is configured in software. CircuitGlue supports a variety of connections, including power, ground, analog signals, and various digital protocols at different voltages. As such, off-the-shelf electronic components and modules are instantly compatible no matter what voltage levels, interface types, communication protocols, and pinouts they use. In this paper, we demonstrate the use of CircuitGlue to ease and expedite prototyping with electronics and we explore new opportunities enabled by CircuitGlue. Finally, we reflect on the results of a preliminary user study evaluating the usability of CircuitGlue for people new to electronics.
We present the first toolkit that equips blind and visually impaired (BVI) developers with the tools to create accessible data displays. Called PSST (Physical computing Streaming Sensor data Toolkit), it enables BVI developers to understand the data generated by sensors from a mouse to a micro:bit physical computing platform. By assuming visual abilities, earlier efforts to make physical computing accessible fail to address the need for BVI developers to access sensor data. PSST enables BVI developers to understand real-time, real-world sensor data by providing control over what should be displayed, as well as when to display and how to display sensor data. PSST supports filtering based on raw or calculated values, highlighting, and transformation of data. Output formats include tonal sonification, nonspeech audio files, speech, and SVGs for laser cutting. We validate PSST through a series of demonstrations and a user study with BVI developers.
People with limited mobility often use multiple devices when interacting with computing systems, but little is known about the impact these multi-modal configurations have on daily computing use. A deeper understanding of the practices, preferences, obstacles, and workarounds associated with accessible multi-modal input can uncover opportunities to create more accessible computer applications and hardware. We explored how people with limited mobility use multi-modality through a three-part investigation grounded in the context of video games. First, we surveyed 43 people to learn about their preferred devices and configurations. Next, we conducted semi-structured interviews with 14 participants to understand their experiences and challenges with using, configuring, and discovering input setups. Lastly, we performed a systematic review of 74 YouTube videos to illustrate and categorize input setups and adaptations in-situ. We conclude with a discussion on how our findings can inform future accessibility research for current and emerging computing technologies.
Physical computing is becoming mainstream. More people than ever---from artists, makers and entrepreneurs to educators and students---are connecting microcontrollers with sensors and actuators to create new interactive devices. However, physical computing still presents many challenges and demands many skills, spanning electronics, low-level protocols, and software---road blocks that reduce participation. While USB has made connecting peripherals to a personal computing device (PC) trivial, USB components are expensive and require a PC to operate. This makes USB impractical for many physical computing scenarios where cost, size and low power operation are often important.
Low-cost microcontroller boards like the BBC micro:bit are used to engage and inspire students worldwide to learn more about computing. Easy-to-use web-based programming environments and low-cost hardware allow novices to build physical computing systems with the micro:bit – systems that sense and respond to the real world. However, devices such as the micro:bit may not capture the attention of every student, as the interests of some may lie in graphic design, animation, or other areas that are not the main focus of physical computing. Video game creation offers the opportunity for students to engage with computing concepts from a different angle, while keeping open the possibilities for physical computing. To date however, there is no game creation platform that has both the same low-barrier to entry and low-cost hardware as the BBC micro:bit. We present MakeCode Arcade, a web app for creating video games for gaming handhelds, built on the same technologies as the BBC micro:bit, extended to support multiple microcontrollers and including a 2D game engine and easy-to-use sprite and music editors. We also designed a simple hardware specification that resulted in five different companies creating seven Arcade-compatible handhelds. Qualitative and quantitative evaluation demonstrates that Arcade enables a modern and fully web-based programming experience for low-cost microcontroller-based gaming handhelds.
Technology has become increasingly pervasive in the creative and experimental environment of the avant-garde fashion runway, particularly in relation to its garments. However, several disciplines are often necessary when exploring technologies for the construction of expressive garments (e.g. garments that respond to their environment), creating a barrier for fashion designers that has limited their ability to leverage new technologies. To help overcome this barrier, we designed and deployed Brookdale, a prototyping system for wearable technology consisting of new plug-and-play hardware that can be programmed using drag-and-drop software. Brookdale was created using a 24-week participatory design process with 17 novice fashion-tech designers. At the end of the 24 week process, designers showcased their Brookdale-enhanced garment collections at an avant-garde fashion-tech runway show in New York City. We report on the experiences, outcomes, and lessons learned throughout this process, and describe results from interviews with the fashion-tech designers 16 weeks after the fashion show, demonstrating the lasting positive impact of Brookdale.
Physical computing is a powerful technique that motivates engagement with technology, supports learning, and allows users to build useful interactive devices. Here we propose new approaches hardware design and programming environment design to make physical computing more accessible to people who are blind or visually impaired
Over the past two decades, many toolkits for prototyping interactive and ubiquitous electronic devices have been developed. Although their technical specifications are often easy to look up, they vary greatly in terms of design, features and target audience, resulting in very real strengths and weaknesses depending on the intended application. These less technical characteristics are often reported inconsistently, if at all. In this paper we provide a comprehensive survey of interactive and ubiquitous device prototyping toolkits, systematically analysing their characteristics within the framework of a new taxonomy that we present. In addition to the specific characteristics we cover, we introduce a way to evaluate toolkits more holistically, covering user needs such as 'ease of construction' and 'ease of moving from prototype to product' rather than features. We also present results from an online survey which offers new insights on how the surveyed users prioritize these characteristics during prototyping, and what techniques they use to move beyond prototyping. We hope our analysis will be valuable for others in the community who need to build and potentially scale out prototypes as part of their research. We end by identifying gaps that have not yet been addressed by existing offerings and discuss opportunities for future research into electronics prototyping toolkits.
A codable computer half the size of a credit card is inspiring students worldwide to develop core computing skills in fun and creative ways.
A codable computer half the size of a credit card is inspiring students worldwide to develop core computing skills in fun and creative ways.
In this paper we report on research exploring the privacy, security and safety implications of children being able to program Internet of Things devices. We present our methodology for understanding the contexts in which children may wish to use programmable IoT, identifying risks that emerge in such contexts, and creating a set of questions that might guide design of such technologies so that they are safe for child users. We evaluate the success of the methodology, discuss the limitations of the approach, and describe future work.
The growing maker movement has created a number of hardware and construction toolkits that lower the barriers of entry into programming for youth and others, using a variety of approaches, such as gaming or robotics. For constructionist-like kits that use gaming, many are focused on designing and programming games that are single player, and few explore using physical and craft-like approaches that move beyond the screen and single player experiences. Moving beyond the screen to incorporate physical sensors into the creation of gaming experiences provides new opportunities for learning about concepts in a variety of areas in computer science and making. In this early work, we elucidate our design goals and prototype for a mini-arcade system that builds upon principles in constructionist gaming- making games to learn programming - as well as physical computing.
Reducing carbon emissions is a key priority across the globe, and in the UK, schools have been identified as the second largest users of non-domestic energy. In this paper, we present an IoT solution for schools that aims to unite senior leadership, teachers, and pupils in the goal of reducing or shifting their energy consumption and carbon emissions. We achieve this by prompting behavioural change through instrumenting schools with sensors, visual displays, and a variety of educational resources which use the BBC micro:bit to interact with the data produced by these sensors, enabling pupils to engage in educational activities to solve real world problems. By increasing the visibility, availability, and interactivity of data, we enable a new space for dialogue between facilities managers and building users. We summarise some of the challenges and lessons learned so far, with preliminary results indicating our approach is effective in raising the profile of energy management and shifting demand. Future monitoring and evaluation will provide more detail on the effectiveness of our IoT solution.
Across the globe, it is now commonplace for educators to engage in the making (design and development) of embedded systems in the classroom to motivate and excite their students. This new domain brings its own set of unique requirements. Historically, embedded systems development requires knowledge of low-level programming languages, local installation of compilation toolchains, device drivers, and applications. For students and educators, these requirements can introduce insurmountable barriers. We present the motivation, requirements, implementation, and evaluation of a new programming platform that enables novice users to create software for embedded systems. The platform has two major components: 1) Microsoft MakeCode ( www.makecode.com ), a web app that encapsulates an entire beginner IDE for microcontrollers; and 2) CODAL, an efficient component-oriented C++ runtime for microcontrollers. We show how MakeCode and CODAL provide an accessible, cross-platform, installation-free programming experience for the BBC micro:bit and other embedded devices.