We started by thinking about a fun way to create hardware-based riddles and turn them into a fun game. We decided to make it happen by building a bomb - and to defuse it, you have to solve all of the challenges it poses.

What it does

Our bomb beeps and counts down the time. When the time runs out, it will blow up! But don't despair, it's just a sound effect. The bomb has a few riddles on it, built using some of our hardware including buttons, toggle switches, LEDs and multiple displays. By scanning Augmented Reality markers on it, you can see the tips to solve the puzzles on your phone.

How I built it

We built it using our own hands with a lot of patience and cardboard. The heart of the system is a Raspberry Pi and the software is written in Kotlin Native. Part is also implemented on an Arduino, which acts as an intermediary to alleviate the lack of analog inputs on the Raspberry Pi. The interesting choice of language also meant we had to write drivers for all the electronic components ourselves. The AR app is implemented in Unity, using Vuforia technology.

Challenges I ran into

A lot of hardware problems we had would be solved with some soldering and we weren't able to do it on the site. We needed to spend ages twisting cables and making sure they touch exactly what they should be touching. Additionally, we couldn't connect the joystick to the heart of the bomb, the Raspberry Pi, so we needed to get an additional Arduino to control it. The lack of Kotlin Native libraries also meant we had to reinvent the wheel for some of the drivers.

Accomplishments that I'm proud of

We're very happy that we managed to do nice cable management and connect it with a nice design. We have succeeded in building a real fake bomb!

What I learned

We managed to do it on time and we learned a lot about team-work and task-allocation. We managed to step out of our comfort zones and build something fun using our skills.

What's next for Bomb Defusal

More components to use in defusal steps and more challenges for the player!

Built With

Share this project: