James DevineMicrosoft · Microsoft Research
James Devine
Doctor of Philosophy
About
19
Publications
2,829
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
257
Citations
Publications
Publications (19)
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 prototypin...
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 o...
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 pow...
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 protoc...
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. Thes...
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.
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 m...
Historically, embedded systems development has been a specialist skill, requiring knowledge of low-level programming languages, complex compilation toolchains, and specialist hardware, firmware, device drivers and applications. However, it has now become commonplace for a broader range of non-specialists to engage in the making (design and developm...
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 ex...
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 installa...
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 installa...