Back to Portfolio

Project

DIY "Bop It!"

Co-developed a handheld Micro:bit game that combines four physical actions, spoken commands, adaptive timing, and a custom 3D-printed enclosure.

View on GitHubSep 2025 - Dec 2025

Technologies

Embedded CMicro:bitGPIOI²CReal-Time SystemsSensor IntegrationRotary EncoderFlex SensorAudio Playback3D Printing
Front view of the completed blue DIY Bop It game with a large arcade button, flex sensor, rotary control, and 3D-printed enclosure
Completed handheld game with its four physical input areas integrated into a custom 3D-printed body. Select the image to view it at full size.
Angled view of the blue DIY Bop It enclosure showing the arcade button, flexible arm, handles, and speaker ventilation
Angled enclosure view showing the portable form factor, controls, and speaker ventilation.

Overview

Co-developed a portable, sensor-driven take on the classic Bop It game for Northwestern University's CE346 Embedded Systems course. The finished device packages a Micro:bit, speaker, arcade button, flex sensor, rotary encoder, and microphone inside a custom 3D-printed enclosure designed to be held and played as a single unit.

The game issues a randomized spoken command and opens a timed input window for one of four actions: press the arcade button for “Bop it,” bend the flex sensor for “Bend it,” turn the Qwiic Twist rotary encoder for “Twist it,” or use the Micro:bit's built-in microphone for “Shout it.” Correct responses advance the score, while a missed or incorrect action ends the run. The command cadence increases as the player progresses to create an adaptive difficulty curve.

Justin Ansell and I shared responsibility for hardware configuration, embedded software, enclosure assembly, and testing. We validated each input independently before integrating the main game loop, then worked through audio-memory limits, command-to-input synchronization, reliable sensor thresholds, and mechanically secure component mounting.

Project Context

Built with Justin Ansell for Northwestern's CE346 Embedded Systems course, this project turns four different sensing methods into a cohesive handheld game. It combines timed embedded control, audio feedback, physical interaction, and enclosure design in one playable prototype.

Key Features

  • Four-command interaction model: Bop, Bend, Twist, and Shout
  • Arcade button, flex sensor, Qwiic Twist rotary encoder, and built-in Micro:bit microphone
  • STEMMA speaker for spoken commands and gameplay feedback
  • Timed input windows, score tracking, and progressively faster command cadence
  • Custom 3D-printed handheld enclosure with integrated controls and speaker ventilation
  • GPIO and I²C interfaces coordinated through an embedded game loop

Challenges

  • Fitting command and transition audio within the Micro:bit's available memory
  • Synchronizing speaker playback with the start and end of each input window
  • Tuning distinct validation logic and thresholds for four different input types
  • Mounting the flex sensor and wiring so repeated gameplay would not damage components
  • Packaging the electronics into a portable enclosure without obstructing interaction

Results

  • Produced a complete handheld prototype with all planned controls integrated into the enclosure
  • Connected spoken commands, timed response validation, scoring, and increasing difficulty into one gameplay loop
  • Completed the hardware, embedded software, assembly, and testing as a two-person collaboration