Skip to the content
2 layers30.5 × 76.2 mmButtons Circuit, the printed circuit board in 3D

This project aims to create an innovative and tense cooperative experience for players by utilising custom hardware.

Size
30.5 × 76.2 mm
Copper layers
2
Thickness
1.6 mm
Parts
5
Nets
13
Pads
21
Tracks, vias
20, 6
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
27 Sep 2026
Updated
27 Sep 2026

Overview

Buttons Circuit is an open-source printed circuit board by Sriram-Cheedi, from the Sriram-Cheedi/Two_Defuse_Or_Not_Two_Defuse_ repository on GitHub. It is a 2-layer board of 30.5 × 76.2 mm with 5 parts on 13 nets, routed with 20 tracks and 6 vias.

It is built around the TL1105CF160Q. Its parts include 4 switches and 1 connector.

Main components

1

README

README.md

Two Defuse or Not Two Defuse

Created by The Barbies | COMS30043 2025 Team Project

This project aims to create an innovative and tense cooperative experience for players by utilising custom hardware.

The application runs on an asymmetric two-input system: one player operates within the Unity game world created for the project, while the other operates a custom physical hardware controller to communicate and defuse the bomb.

Technical report on the project can be found here (May require downloading due to file size).

Watch the technical video and trailer here.


Project Setup

To fully experience this project, a physical 'hardware bomb' controller is required.

Prerequisites

  • Microcontroller: Teensy 4.1
  • IDE: Visual Studio Code with the PlatformIO extension
  • Game Engine: Unity 6.3 LTS

1. Hardware Setup

  1. Clone this git repository to your local machine.
  2. Open the Hardware/ControllerV0.1 folder in Visual Studio Code.
  3. Ensure the PlatformIO extension is installed and active.
  4. Plug the Teensy 4.1 microcontroller into your PC via USB.
  5. Press the PlatformIO Upload button (the right-pointing arrow in the bottom status bar) and wait for the upload to finish.

2. Software (Unity) Setup

  1. Open the Team_Project folder in the Unity Editor and import any required packages.
  2. Build the project using Build Profiles, selecting your target operating system.
  3. Connect the flashed hardware controller to any open serial USB port on your device.
  4. Launch the built executable.
  5. Enjoy and try not to explode!

Note: If you do not have the required custom hardware, the level will still open and assign a Mock API. However, the game will not be playable, as the physical interactions required to navigate and access the game states will be absent.


Project Structure

text
├── Games Project Pitch Design Documents.pdf
├── Hardware
│   ├── Circuit_Designs
│   ├── ControllerV0.1
│   ├── Example Code
│   └── Manufacturing Drawings
├── Hardware-Software_Interaction.md
├── README.md
├── Team_Project  (Unity Project Root)
│   ├── Assets
│   ├── Packages
│   ├── ProjectSettings
│   └── ... (Builds and project files)
└── The Barbies - Team Project Pitches.pdf

Parts

5
QtyValueFootprintReferences
4TL1105CF160QSamacSys_Parts:TL1105CF160QS1, S2, S3, S4
1S05B-XASS-1N-BN_LF__SN_SamacSys_Parts:S05BXASS1NBNLFSNJ1

Similar boards

  • 4 layers57 × 74.3 mmCM4, the printed circuit board in 3D

    CM4

    ybabs/H745FCS

    Quadcopter Flight Controller based on the dual core STM32H745 Microcontroller

    101 parts6
  • 4 layers76.3 × 54.3 mmCM4, the printed circuit board in 3D

    CM4

    ybabs/PorpDAQ

    Design Files for a STM32-Based Underwater Acoustics data acquisition board for harbour porpoises

    113 parts6MIT
  • 2 layers81.3 × 106.7 mmNumber Game Circuit, the printed circuit board in 3D

    Number Game Circuit

    felixUOB/Two_Defuse_Or_Not_Two_Defuse

    The Barbies team project

    24 parts
  • 2 layers98 × 27 mmXy limit, the printed circuit board in 3D

    Xy limit

    opulo-inc/lumenpnp

    The LumenPnP is an open source pick and place machine.

    5 parts3.7k
  • 2 layers21 × 33 mm24g2usb pico2w, the printed circuit board in 3D

    24g2usb pico2w

    joypad-ai/joypad-os

    Universal controller firmware for building adapters, dongles, and custom controllers.

    5 parts1.7kApache-2.0
  • 2 layers53.2 × 59.6 mmA10 OLinuXino Lime Rev B SHIELD TEMPLATE, the printed circuit board in 3D

    A10 OLinuXino Lime Rev B SHIELD TEMPLATE

    OLIMEX/OLINUXINO

    OLINUXINO is Open Source / Open Hardware, low cost from EUR 24 Linux Industrial grade Single Board Computer capable to operate -25+85C

    5 parts1.5k
  • 2 layers30 × 11 mmMain control board servo tester, the printed circuit board in 3D

    Main control board servo tester

    jamro/tiny-engineer

    A small desktop robot that brings an AI coding assistant to life, physically acting out when it reads files, thinks, writes code, and finishes work.

    5 parts1.1k
  • 2 layers78.8 × 35.3 mmKiCadTest, the printed circuit board in 3D

    KiCadTest

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    5 parts915

Questions

How big is the Buttons Circuit PCB?

It measures 30.5 × 76.2 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Buttons Circuit use?

5 parts, built around the TL1105CF160Q. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Buttons Circuit KiCad files?

From the Sriram-Cheedi/Two_Defuse_Or_Not_Two_Defuse_ repository on GitHub, at the commit this page was made from: the board is Hardware/Circuit_Designs/Buttons-Circuit/Buttons-Circuit.kicad_pcb and its schematic Hardware/Circuit_Designs/Buttons-Circuit/Buttons-Circuit.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Buttons Circuit design in my own project?

Its repository states no licence, so its author keeps all rights: ask Sriram-Cheedi before reusing the design.