Skip to the content
PCBKitNew board
2 layers135.5 × 91.5 mmTic, the printed circuit board in 3D

An interactive Tic-Tac-Toe game implemented on the ESP32 microcontroller, utilizing a 4x4 Matrix Keypad for player input and a 20x4 LCD Display (I2C) for the visual board representation.

Size
135.5 × 91.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
3
Nets
38
Pads
50
Tracks, vias
75, 0
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
6 Jun 2026
Updated
6 Jun 2026

Overview

Tic is an open-source printed circuit board by Freshovsky23, from the Freshovsky23/Tic-Tac-Toe repository on GitHub. It is a 2-layer board of 135.5 × 91.5 mm with 3 parts on 38 nets, routed with 75 tracks and 0 vias.

Its parts include 2 connectors and 1 IC. It belongs with the lEDs and displays boards and the ESP8266 boards of this library.

README

README.md

Tic-Tac-Toe (Kółko i Krzyżyk) - ESP32 & LCD I2C

An interactive Tic-Tac-Toe game implemented on the ESP32 microcontroller, utilizing a 4x4 Matrix Keypad for player input and a 20x4 LCD Display (I2C) for the visual board representation.

📺 Project Demonstration

See the project in action on YouTube: 👉 Watch the Video Demonstration


🛠️ Hardware Requirements

  • Microcontroller: ESP32 (e.g., ESP32 NodeMCU-32S)
  • Display: LCD 20x4 with an I2C interface adapter (PCF8574)
  • Input: 4x4 Membrane Matrix Keypad
  • Custom Baseboard PCB (or Connecting Wires & Breadboard)

Pin Mapping

⌨️ 4x4 Keypad Connection
Keypad PinESP32 GPIO
Row 1GPIO 13
Row 2GPIO 14
Row 3GPIO 27
Row 4GPIO 26
Column 1GPIO 25
Column 2GPIO 33
Column 3GPIO 32
Column 4GPIO 17
📺 LCD 20x4 I2C Connection
LCD I2C PinESP32 GPIO
VCC3.3V (VIN)
GNDGND
SDAGPIO 21
SCLGPIO 22

🗺️ Custom PCB Design

To eliminate messy breadboard wiring and create a durable, standalone gaming device, a dedicated dual-layer custom PCB baseboard was designed using KiCad.

Features:

  • Socketed MCU: The board utilizes female pin headers, allowing the ESP32 NodeMCU to be easily plugged in or removed.
  • Clean Peripherals Connection: Dedicated 1x08 and 1x04 pin headers are placed near the edges for straightforward ribbon cable routing from the keypad and LCD.
  • Optimized Power Delivery: Safe 5V routing directly to the LCD backpack to ensure clear screen contrast without stressing the ESP32's internal 3.3V regulator.
  • Ground Plane: Full top and bottom copper pour for noise reduction and stable operation.

The complete KiCad design files can be found in the hardware/ directory.

🖼️ 3D Render Preview:

Tic-Tac-Toe PCB Baseboard


🕹️ Game Rules & Controls

  1. Starting the Game: The game boots up automatically with player 'X' making the first move.
  2. Making a Move: Use numeric keys 1 to 9 on the keypad to select a position on the 3x3 grid:
    text
    1 | 2 | 3
    ---------
    4 | 5 | 6
    ---------
    7 | 8 | 9

Parts

3
QtyValueFootprintReferences
1AI-Thinker Nodemcu-32SESP32:ai-thinker nodemcu-32sU1
1Conn_01x04_PinConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ2
1Conn_01x08_PinConnector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ1

Questions

How big is the Tic PCB?

It measures 135.5 × 91.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Tic use?

3 parts. 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 Tic KiCad files?

From the Freshovsky23/Tic-Tac-Toe repository on GitHub, at the commit this page was made from: the board is hardware/tic.kicad_pcb and its schematic hardware/tic.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Tic design in my own project?

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

Similar boards

  • 2 layers40 × 30 mmBlinky, the printed circuit board in 3D

    Blinky

    earthtojake/text-to-cad

    Design physical products with AI

    3 parts26kMIT
  • 2 layers51.9 × 16 mmPassive2-rpi non standard adapter, the printed circuit board in 3D

    Passive2-rpi non standard adapter

    hzeller/rpi-rgb-led-matrix

    Controlling up to three chains of 64x64, 32x32, 16x32 or similar RGB LED displays using Raspberry Pi GPIO

    3 parts4.4kGPL-2.0
  • 2 layers16.3 × 16.3 mmSensor, the printed circuit board in 3D

    Sensor

    scottbez1/splitflap

    DIY split-flap display

    3 parts4.2k
  • 2 layersSub, the printed circuit board in 3D

    Sub

    atopile/atopile

    Design circuit boards with code! ✨ Get software-like design reuse 🚀, validation, version control and collaboration in hardware; starting with electronics ⚡️

    3 parts4kMIT
  • 2 layers85 × 30 mmDual stomp, the printed circuit board in 3D

    Dual stomp

    torvalds/GuitarPedal

    Linus learns analog circuits

    3 parts2.5kGPL-2.0
  • 2 layers124.5 × 33.7 mm172319-1 connector, the printed circuit board in 3D

    172319-1 connector

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    3 parts1.2k
  • 2 layers10.5 × 83 mmProgrammingAdapter, the printed circuit board in 3D

    ProgrammingAdapter

    stuartpittaway/diyBMSv4

    Version 4 of the diyBMS

    3 parts1.1k
  • 2 layers21.2 × 51.3 mmPico reset, the printed circuit board in 3D

    Pico reset

    hackclub/sprig

    🍃 Learn to code by making games in a JavaScript web-based game editor.

    3 parts1.1kMIT