Skip to the content
PCBKitNew board
4 layers78 × 78 mmTiltBox Voice A, the printed circuit board in 3D

TiltBox Voice A

Tom-Michiels/TiltBox

A handheld retro game console with tilt controls, featuring 9 games on an 8x8 LED matrix. Designed at maakleerplek

Size
78 × 78 mm
Copper layers
4
Thickness
1.6 mm
Parts
165
Nets
130
Pads
568
Tracks, vias
1,906, 356
Pours
4
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
4 Jan 2026
Updated
26 Oct 2026

Overview

TiltBox Voice A is an open-source printed circuit board by Tom-Michiels, from the Tom-Michiels/TiltBox repository on GitHub. It is a 4-layer board of 78 × 78 mm with 165 parts on 130 nets, routed with 1,906 tracks and 356 vias.

It is built around the ESP32-S3-WROOM-1U-N16R8, TPS63031DSKR and BQ25185DLHR, with the ICS-43434, LSM6DS3TR-C and SN74LVC2T45DCURE4 among its other parts. Its parts include 65 diodes, 28 resistors, 26 capacitors, 9 ICs and 3 switches. It belongs with the retro computing and games and lEDs and displays boards and the ESP32 boards of this library.

Main components

12

README

README.md

TiltBox

Latest version: TiltBox Voice

The custom ESP32-S3 PCB version adds a bottom-facing microphone and voice-generated games while retaining the 8×8 LED grid and the walnut enclosure style.

Hardware: electronics A.3, enclosure A.4, manufacturing package A.5. Software: Voice B (9 October 2026), for the same Voice A PCB; this is not a new PCB revision. Publication snapshot: 26 October 2026.

These are prototype files, not a claim of production certification. See the hardware notes for completed checks and outstanding electrical tests. Do not use the original ESP32-C3 firmware or its wiring instructions for the Voice PCB.

Original TiltBox (ESP32-C3 / separate modules)

The original files below remain available unchanged. The root main/, CMakeLists.txt, sdkconfig and the older files directly in hardware/ belong to this original version, not TiltBox Voice.

TiltBox

A handheld retro game console with tilt controls, featuring 9 games on an 8x8 LED matrix. Designed at Maakleerplek.

Bill of Materials

ComponentQuantityDescriptionLink
ESP32-C31Microcontroller (any ESP32-C3 dev board)Amazon
WS2812 8x8 LED Matrix164 RGB LEDs in 8x8 gridAmazon
ADXL34513-axis accelerometer module (I2C)Amazon
USB Charger Board1LiPo charging module with protectionAmazon
LiPo Battery13.7V lithium polymer batteryAmazon
Threaded Inserts4M3x5x7 heat-set inserts for enclosureAmazon
M3 Screws4M3x6mm hex socket button headAmazon
M3 Screws4M3x12mm hex socket button headAmazon
Walnut Wood13.2mm x 115x368mm sheetGravierbedarf
Black PLA13D printer filament for enclosure
Jumper wires7For connections

Wiring

WS2812 LED Matrix

WS2812 PinESP32-C3 Pin
VCC5V
GNDGND
DINGPIO 10

ADXL345 Accelerometer (I2C)

ADXL345 PinESP32-C3 Pin
VCC3.3V
GNDGND
SDAGPIO 8
SCLGPIO 9

Build Instructions

1. 3D Printing

Print the enclosure parts in black PLA:

CAD Model

Open in Onshape

2. Laser Cutting

Cut the following from the wood and plexi.dxf file:

  • Walnut wood (3.2mm thickness): Front frame
  • Clear acrylic/plexi: Screen cover

3. Soldering

Solder the components according to the wiring diagram:

Wiring Diagram

Assembly

4. Screen Assembly

The LED matrix needs a diffuser layer to blend the individual LEDs into a smooth display:

  • Diffuser: Use a white plastic bag or similar translucent material between the LED matrix and the plexi cover
  • Optional darkening: Adding a dark PVC film (e.g. available at Lukas Creative) provides additional darkness to the screen, improving contrast

5. Final Assembly

  1. Insert the M3x5x7 threaded inserts into the 3D printed enclosure using a soldering iron
  2. Mount all electronics inside the enclosure
  3. Stack the layers: LED matrix -> diffuser -> (optional dark film) -> plexi -> walnut frame
  4. Secure with M3x6mm screws (front) and M3x12mm screws (back)

Games

Switch between games by flipping the board upside down.

1. Maze

Navigate a ball through a randomly generated maze. Tilt to move the yellow ball to the red goal. A rainbow animation plays when you win.

2. Ball Trail

A simple ball that leaves a fading trail as it moves. Tilt to control direction.

3. Glow Ball

A glowing ball with a smooth gradient effect that follows your tilt movements.

4. Snake

Classic snake game. Tilt to change direction and eat the red food to grow. Don't hit yourself!

5. Breakout

Break the colored bricks at the top with a bouncing ball. Tilt left/right to move the paddle.

6. Dodge

Avoid falling obstacles. Tilt left/right to move your player at the bottom. Score increases as obstacles pass.

7. Scroll Text

Displays scrolling text: "maakleerplek"

8. Animation

Cycles through animated patterns:

  • Spiral rainbow
  • Wave
  • Rainbow gradient

9. Tetris

Classic falling block game. Tilt left/right to move pieces, tilt forward to rotate, tilt backward for fast drop.

Building and Flashing

Requires ESP-IDF v4.3+.

bash
# Source ESP-IDF environment
source ~/esp/esp-idf/export.sh

# Build
idf.py build

# Flash
idf.py flash

# Monitor serial output
idf.py monitor

Controls

  • Tilt: Move/control in all games
  • Flip board: Switch to next game
  • Keep level during startup: Calibrates the accelerometer

Display Format

The WS2812 LEDs use GRB color format. Pixels are addressed row by row, 0-63.

Parts

165
QtyValueFootprintReferences
64WS2812B-B/T (V5)LED_SMD:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mmD1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23 +48
9100kResistor_SMD:R_0402_1005MetricR10, R11, R13, R16, R19, R22, R26, R27, R28
9100nCapacitor_SMD:C_0402_1005MetricC70, C78, C79, C81, C83, C84, C85, C86, C90
922uCapacitor_SMD:C_0805_2012MetricC67, C69, C71, C72, C73, C74, C75, C76, C80
81uCapacitor_SMD:C_0603_1608MetricC65, C66, C68, C77, C82, C87, C88, C89
6Fiducial 1mm / mask 2mmFID1, FID2, FID3, FID4, FID5, FID6
510kResistor_SMD:R_0402_1005MetricR7, R8, R14, R17, R18
4M3 / NPTH 3.2MountingHole:MountingHole_3.2mm_M3H1, H2, H3, H4
4M3 / NPTH 3.2MountingHole_3.2mm_M3H5, H6, H7, H8
21MResistor_SMD:R_0402_1005MetricR20, R21
222Resistor_SMD:R_0402_1005MetricR3, R4
24k7Resistor_SMD:R_0402_1005MetricR24, R25
25k1Resistor_SMD:R_0402_1005MetricR1, R2
2TS-1187A-B-A-BButton_Switch_SMD:SW_Push_1P1T_XKB_TS-1187ASW2, SW3
1150kResistor_SMD:R_0402_1005MetricR23
118kResistor_SMD:R_0402_1005MetricR5
11kResistor_SMD:R_0402_1005MetricR6
133Resistor_SMD:R_0402_1005MetricR15
13V3TestPoint:TestPoint_Pad_D1.5mmTP4
149k9Resistor_SMD:R_0402_1005MetricR12
15V_RAWTestPoint:TestPoint_Pad_D1.5mmTP5
1732kResistor_SMD:R_0402_1005MetricR9
1BAT_NTCTestPoint:TestPoint_Pad_D1.5mmTP12
1BOOT_NTestPoint:TestPoint_Pad_D1.5mmTP10
1BQ25185DLHRPackage_DFN_QFN:Texas_DLH0010A_WSON-10-1EP_2.2x2mm_P0.4mm_EP0.9x1.5mmU2
1ESP32-S3-WROOM-1U-N16R8TiltBoxA:ESP32-S3-WROOM-1UU1
1ESP_ENTestPoint:TestPoint_Pad_D1.5mmTP9
1FNR4018S1R0MTInductor_SMD:L_Changjiang_FNR4018SL2
1FNR4018S1R5MTInductor_SMD:L_Changjiang_FNR4018SL1
1GNDTestPoint:TestPoint_Pad_D1.5mmTP1
1I2C_SCLTestPoint:TestPoint_Pad_D1.5mmTP14
1I2C_SDATestPoint:TestPoint_Pad_D1.5mmTP13
1ICS-43434Sensor_Audio:InvenSense_ICS-43434-6_3.5x2.65mmU8
1LED_5VTestPoint:TestPoint_Pad_D1.5mmTP6
1LED_64TestPoint:TestPoint_Pad_D1.5mmTP11
1LSM6DS3TR-CPackage_LGA:LGA-14_3x2.5mm_P0.5mm_LayoutBorder3x4yU7
1MIC_SDTestPoint:TestPoint_Pad_D1.5mmTP15
1S2B-PH-SM4-TB(LF)(SN)Connector_JST:JST_PH_S2B-PH-SM4-TB_1x02-1MP_P2.00mm_HorizontalJ2
1SDNT1608X103F3435FTFResistor_SMD:R_0603_1608MetricTH1
1SN74LVC2T45DCURPackage_SO:VSSOP-8_2.3x2mm_P0.5mmU6
1TPS22918DBVRPackage_TO_SOT_SMD:SOT-23-6U9
1TPS2553DBVR-1Package_TO_SOT_SMD:SOT-23-6U5
1TPS61023DRLRPackage_TO_SOT_SMD:SOT-563U4
1TPS63031DSKRPackage_SON:WSON-10-1EP_2.5x2.5mm_P0.5mm_EP1.2x2mmU3
1TS-1101VS-C-A-ATiltBoxA:KEY-SMD_TS-1101VS-C-A-ASW1
1TYPE-C 16PIN 2MD(073)Connector_USB:USB_C_Receptacle_HCTL_HC-TYPE-C-16P-01AJ1
1UART_RXTestPoint:TestPoint_Pad_D1.5mmTP8
1UART_TXTestPoint:TestPoint_Pad_D1.5mmTP7
1USBLC6-2SC6Package_TO_SOT_SMD:SOT-23-6D65
1VBATTestPoint:TestPoint_Pad_D1.5mmTP2
1VSYSTestPoint:TestPoint_Pad_D1.5mmTP3

Questions

How big is the TiltBox Voice A PCB?

It measures 78 × 78 mm and has 4 copper layers, 1.6 mm thick.

What parts does the TiltBox Voice A use?

165 parts, built around the ESP32-S3-WROOM-1U-N16R8, TPS63031DSKR, BQ25185DLHR and ICS-43434. 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 TiltBox Voice A KiCad files?

From the Tom-Michiels/TiltBox repository on GitHub, at the commit this page was made from: the board is hardware/voice-a/pcb/TiltBox-Voice-A.kicad_pcb and its schematic hardware/voice-a/pcb/TiltBox-Voice-A.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the TiltBox Voice A design in my own project?

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

Similar boards

  • 2 layers100.3 × 69.9 mmHDD Synth Prototype MK5, the printed circuit board in 3D

    HDD Synth Prototype MK5

    MaverickUK/HDDSynth

    Recreate the sound of mechanical spinning HDDs on retro PCs that use a solid state drive

    112 parts16
  • 4 layers77 × 48.6 mmNX ISD, the printed circuit board in 3D

    NX ISD

    Ghost3379/NX-ISD

    A more sophisticated version of the Artemis Watch by Circuitmess.

    116 parts2GPL-3.0
  • 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 layers45 × 55 mmKnuckles controller, the printed circuit board in 3D

    Knuckles controller

    fcoury/knuckles

    An open-source, wireless column-staggered ergonomic keyboard.

    47 parts6MIT
  • 4 layers30 × 40 mmGlowCoreMini PCB, the printed circuit board in 3D

    GlowCoreMini PCB

    LEDs-by-glowingkitty/GlowCore-Mini

    A small PCB for controlling an LED strip via USB-C or DC power. WLED compatible and with an integrated microphone for sound reactive animations!

    89 parts6GPL-3.0
  • 2 layers27.9 × 34.3 mmGlowBand PCB, the printed circuit board in 3D

    GlowBand PCB

    LEDs-by-glowingkitty/GlowBand

    GlowBand is an exciting LED wristband. For dancing at parties and festivals, for long-time exposure photography, and for everyday situations that need some light.

    76 parts4MIT
  • 4 layers41.2 × 60 mmSOLIS1, the printed circuit board in 3D

    SOLIS1

    Zoomwag/SOLIS1

    A can sat

    69 parts1
  • 4 layers51 × 77 mmBODAQS A8 board v1 0, the printed circuit board in 3D

    BODAQS A8 board v1 0

    benconnor1972/BODAQS

    Bicycle Open Data Acquisition System

    120 parts9