Skip to the content
PCBKitNew board
2 layers50 × 35 mmController module, the printed circuit board in 3D

Virtual reality controller for playing FPS games

Size
50 × 35 mm
Copper layers
2
Thickness
1.6 mm
Parts
73
Nets
58
Pads
298
Tracks, vias
929, 59
Pours
3
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
29 Nov 2021
Updated
13 Sep 2025

Overview

Controller module is an open-source printed circuit board by InputBlackBoxOutput, from the InputBlackBoxOutput/INGAME repository on GitHub, published under the MIT licence. It is a 2-layer board of 50 × 35 mm with 73 parts on 58 nets, routed with 929 tracks and 59 vias.

It is built around the ESP32-WROOM-32D, MMC5603NJ and 74HC165D, with the ASM330LHHXTR, DW01A and TP4056 among its other parts. Its parts include 31 resistors, 10 connectors, 8 ICs, 7 capacitors and 5 diodes. It belongs with the ESP32 boards of this library.

Main components

9

README

README.md

INGAME

INGAME is a motion emulator with virtual reality features for playing first person shooting/adventure games. Virtual reality (VR) is a simulated experience that can be similar to or completely different from the real world. INGAME has been designed to provide the user with the feeling of being 'IN-the-GAME'. INGAME is modular in nature and consists of the following modules.

  1. HID module
  2. Controller module
  3. Pedometer module
  4. VR headset

The first three modules listed above have been explained in detail later in the document. The VR headset provides split stereo video to the user. The following image shows the functional block diagram of the INGAME system

System block diagram

Salient features

  • Modular to support addons
  • Tangle free gaming since the entire system is wireless
  • Adaptable to any first person shooting/adventure game
  • Minimal lag during gaming due to high-speed data transfer
  • Power saving mode to make the battery last longer
  • Product certifications: CE certified and ROHS compliant

HID module

Functions

  • Act as a wireless gateway between the modules worn by the user and the computer
  • Connect with the computer via USB as an HID device
  • Receive data wirelessly and then map the data to controls of the selected game and send appropriate key strokes to the computer
  • Switch the game controls mapping depending on the user selected game
  • Display a menu showing information about the system

Controller module

Functions

  • Connect with the HID module wirelessly
  • Send data associated with a button when a button is pressed
  • Read IMU data, compute equivalent mouse movement and send the data to the HID module
  • Calibrate the IMU device when the calibration button is pressed
  • Monitor battery level and sound a buzzer when the battery is low
  • Switch to power saving mode upon user inactivity
  • [Optional] Control a vibration motor to simulate gunfire which increases in intensity per trigger button press

Pedometer module

Functions

  • Connect with the HID module wirelessly
  • Read accelerometer data, detect steps and send the data to the HID module
  • Calibrate the IMU device when the calibration button is pressed
  • Monitor battery level and sound a buzzer when the battery is low
  • Switch to power saving mode upon user inactivity

Made with lots of ⏱️, 📚 and ☕ by InputBlackBoxOutput

Parts

73
QtyValueFootprintReferences
1910kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR1, R6, R11, R12, R13, R15, R22, R23, R24, R25, R26, R27, R28, R29, R30, R31 +3
4MountingHoleMountingHole:MountingHole_2.2mm_M2H1, H2, H3, H4
3100RResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR5, R10, R18
31kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR14, R16, R19
3Conn_01x06_MaleBoard:SolderWire_1x06_P2.54mmJ1, J2, J6
20.1uFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC6, C7
210kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR20, R21
210uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC1, C2
25kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR3, R4
274HC165Package_SO:TSSOP-16_4.4x5mm_P0.65mmU6, U7
2AO3400APackage_TO_SOT_SMD:SOT-23Q1, Q2
2Conn_01x04_FemaleBoard:SolderWire_1x04_P2.00mmJ8, J9
2SW_PushButton_Switch_SMD:SW_SPST_B3U-1000PSW1, SW2
10.1uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC3
11.2kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR17
1100nFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC4
112kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR2
12.2uFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC5
1AO3401APackage_TO_SOT_SMD:SOT-23Q3
1ASM330LHHXTRBoard:ASM330LHHXTRU4
1BuzzerBuzzer_Beeper:Buzzer_Murata_PKMCS0909E4000-R1BZ1
1Conn_01x02Board:SolderWire_1x02_P2.00mmJ3
1Conn_01x02_FemaleBoard:SolderWire_1x02_P2.00mmJ5
1Conn_01x05_FemaleBoard:SolderWire_1x05_P2.00mmJ7
1Conn_01x06_FemaleBoard:SolderWire_1x06_P2.54mmJ4
1DW01APackage_TO_SOT_SMD:SOT-23-6_HandsolderingIC1
1D_SchottkyDiode_SMD:D_SMAD5
1ESP32-WROOM-32DBoard:ESP32-WROOM-32U2
1FS8205ABoard:SOP65P640X120-8NQ4
1LEDLED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolderD1
1LED-BLUELED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolderD4
1LED-REDLED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolderD3
1LED_RGBLED_SMD:LED_RGB_5050-6D2
1ME6211Package_TO_SOT_SMD:SOT-23-5_HandSolderingU1
1MMC5603NJBoard:MMC5603NJU5
1SW_SPSTBoard:SolderWire_1x02_P2.00mmSW3
1TP4056Board:SOP127P600X175-9NU3
1USB_C_Plug_USB2.0Board:GCT_USB4151-GF-C_REVAP1

Questions

How big is the Controller module PCB?

It measures 50 × 35 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Controller module use?

73 parts, built around the ESP32-WROOM-32D, MMC5603NJ, 74HC165D and ASM330LHHXTR. 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 Controller module KiCad files?

From the InputBlackBoxOutput/INGAME repository on GitHub, at the commit this page was made from: the board is modules/Controller module/board/board.kicad_pcb and its schematic modules/Controller module/board/BMS.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Controller module design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

More from InputBlackBoxOutput/INGAME

5
  • 2 layers50 × 30 mmPedometer module, the printed circuit board in 3D

    Pedometer module

    InputBlackBoxOutput/INGAME

    Virtual reality controller for playing FPS games

    52 partsMIT
  • 2 layers50 × 30 mmHID module, the printed circuit board in 3D

    HID module

    InputBlackBoxOutput/INGAME

    Virtual reality controller for playing FPS games

    45 partsMIT
  • 2 layers45 × 30 mmStick module, the printed circuit board in 3D

    Stick module

    InputBlackBoxOutput/INGAME

    Virtual reality controller for playing FPS games

    24 partsMIT
  • 2 layers65 × 10 mmButton board-1, the printed circuit board in 3D

    Button board-1

    InputBlackBoxOutput/INGAME

    Virtual reality controller for playing FPS games

    9 partsMIT
  • 2 layers41 × 10 mmButton board-2, the printed circuit board in 3D

    Button board-2

    InputBlackBoxOutput/INGAME

    Virtual reality controller for playing FPS games

    8 partsMIT

Similar boards

  • 2 layers151 × 95 mmDeneme, the printed circuit board in 3D

    Deneme

    g210101021/OpenStylophone-RP2040

    Overview • Technical Summary • Architecture • Hardware Audit & Remediation • Schematic Subsystems • PCB Layout • Firmware Roadmap • Bill of Materials • Author

    143 parts
  • 2 layers35 × 100 mmWalkieTalkie, the printed circuit board in 3D

    WalkieTalkie

    GuzziFlipFlops/ESP32-Walkie-Talkie

    An open source ESPNOW based walkie talkie with a 600 meter tested distance, with an OLED and multiple buttons to interact with

    66 parts7MIT
  • 2 layers150 × 40 mmBicopter, the printed circuit board in 3D

    Bicopter

    InputBlackBoxOutput/Bicopter

    Design files for a PCB Bicopter

    79 parts1MIT
  • 4 layers90 × 98 mmConvention badge pcb v2, the printed circuit board in 3D

    Convention badge pcb v2

    BrandonFors/convention_pcb_badge

    Design for a custom pcb badge for opensauce convention and maybe other conventions in the future.

    57 parts
  • 2 layers62 × 6 mmTableLight, the printed circuit board in 3D

    TableLight

    jonny190/TableLight

    A 3D-printable, battery-powered, USB-C rechargeable table lamp in the classic "Poldina" shape - honeycomb disc base, thin stem, down-firing cone shade with a white top - running WLED on an ESP32, with a capacitive touch…

    72 partsMIT
  • 4 layers32.4 × 40.2 mmSmartwatch, the printed circuit board in 3D

    Smartwatch

    Pedro-Seixas/Smartwatch

    A custom-designed smartwatch built around the ESP32-S3, combining BLE connectivity, a rectangular touch display, recharge capability, IMU and temperature sensors. Designed from the ground up in KiCad.

    55 partsMIT
  • 2 layers21.3 × 52.5 mmHaptic bracelet, the printed circuit board in 3D

    Haptic bracelet

    plerros/Haptic-Bracelet

    47 partsGPL-3.0
  • 2 layers78 × 92 mmESPCARproject, the printed circuit board in 3D

    ESPCARproject

    Sumya99/RobotCarPCB

    NAND сургалтын төвийн сурагчдад зориулсан робот машины PCB төсөл

    92 parts