Bifröst

Better Embedded Systems Debugging

Bifröst links the divide in embedded systems programming of hardware and software debugging. This work is published in UIST 2017

Team
Mitchell Karchemsky
Will McGrath
Daniel Drew
Jeremey Warner
Majeed Kazemitabaar
David Mellis
Björn Hartmann

My Role
User Testing
Paper Writing
System Engineering

Methods
Prototyping
Iterative Design
Software Programming

Abstract

A key challenge in developing and debugging custom embedded systems is understanding their behavior, particularly at the boundary between hardware and software. Existing tools such as step debuggers and logic analyzers only focus on software or hardware, respectively.  Bifröst is a new development environment designed to illuminate the boundary between embedded code and circuits.

Bifröst automatically instruments and captures the progress of the user’s code, variable values, and the electrical and bus activity occurring at the interface between the processor and the circuit it operates in. This data is displayed in a linked visualization that allows navigation through time and program execution, enabling comparisons between variables in code and signals in circuits. Automatic checks detect low-level hardware configuration and protocol issues, while user authored checks test particular application semantics. 

You can read more about the work published here in the ACM Library

Teaching Experience

Courses and Mentorship

Critical Practices

Teaching Assistant

A hands-on, studio design course where students work at the intersection of technological innovation and socially engaged art.

Read Me

Design Innovation 22

Teaching Assistant

This introductory design course teaches concepts, skills, and methods required to design, prototype, and fabricate physical objects.

Read Me

Invention Lab

Technical Design Mentor

The Invention Lab is a UC Berkeley makerspace focused on helping students, researchers, and faculty to make embedded systems inventions.

Read Me

Case Studies

Selected Works

Bifröst

Better Embedded Systems Debugging

Berkeley Institute of Design. How do we better instrument embedded systems for combined software and hardware debugging?

Read Me

Dalmatian

How can we make firefighters safer?

Technology startup focused on creating a safer more effective workforce for firefighters through the use of on-person telemetry units.

Read Me

Heimdall

Remote debugging of embedded systems

Berkeley Institute of Design. How do we enable remote intuitive debugging for teachers to help beginners design embedded systems projects?

Read Me

Wifröst

Wi-Fi Embedded Systems Debugging

Berkeley Institute of Design. How do we use instrumented hardware to better debug network enabled IOT embedded systems?

Read Me

Within2

How do we create music we can feel?

Collaboration with Meyer Sound, The Berkeley Center for New Media, and Artist Tarek Atoui. How do we create music for the hearing impaired?

Read Me

MakerPass

Hardware and Industrial Design

The MakerPass Authentication system allows for Maker-spaces to grant access to privilaged members in a low-cost, easy to implement solution.

Read Me

Doom Sense

How can we feel information?

An experiment in haptic feedback modalities and sensory extension. We improved the performance of a player by delivering curated contextual information

Read Me

Drill Sergeant

Hardware and Industrial Design

Berkeley Institute of Design. Drill Sergeant enables new makers to build confidence through self-guided interactive physical feedback driven tutorials.

Read Me

Strands

How can we feel information?

An experiment in haptic feedback and sound generation; allowing performers to explore timbre, pitch, and volume through physical interaction

Read Me