Skip to the content
PCBKitNew board
2 layers54 × 96 mmAvoid That Pixel, the printed circuit board in 3D

Pixels drop from the top of a 16x2 LCD screen and your player on the bottom must avoid the ever changing "bullets"! As time progressed, bullets drop faster. Once your 3 lives have been used due to collisions, a buzzer will beep and the screen will display your total time.

Size
54 × 96 mm
Copper layers
2
Thickness
1.6 mm
Parts
14
Nets
43
Pads
81
Tracks, vias
151, 6
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
25 Jun 2026
Updated
26 Jun 2026

Overview

Avoid That Pixel is an open-source printed circuit board by KJace05, from the KJace05/Avoid-That-Pixel repository on GitHub. It is a 2-layer board of 54 × 96 mm with 14 parts on 43 nets, routed with 151 tracks and 6 vias.

It is built around the ARDUINO UNO R3. Its parts include 2 resistors and 2 ICs. It belongs with the lEDs and displays boards and the AVR (ATmega, ATtiny) boards of this library.

Main components

1

README

README.md

Avoid That Pixel

A handheld dodge game built on a custom Arduino Uno shield, featuring a 16x2 character LCD, real-time obstacle dodging, and buzzer sound feedback. Designed from schematic and PCB layout to embedded firmware.

Overview

Avoid That Pixel is a single-player reaction game: a player-controlled character must dodge incoming obstacles displayed on a 16x2 LCD before they collide. The project covers the full hardware-to-firmware pipeline; circuit design, PCB fabrication, and embedded C++ programming.

Hardware

  • Custom Arduino Uno shield, designed in KiCad 10.0
    • Schematic capture and footprint selection
    • Copper pour (ground plane) for improved signal return paths and reduced routing complexity
    • ERC/DRC error resolution
    • Fabricated via JLCPCB
  • 16x2 character LCD for game display
    • 220 Ohm resistor
  • Pushbutton for player input
    • 10k resistor
  • (3) Multicolored LEDs for health bar
    • (3) 1k resistor
  • 10k Potentiometer for LCD brightness control
  • Piezo buzzer (active) for audio feedback
    • 1k resistor
  • Arduino Uno (base board)

Firmware

Written in C++ for the Arduino platform. Key implementation details:

  • Non-blocking timing using millis() instead of delay(), allowing obstacle movement, button input, and buzzer playback to run concurrently without freezing gameplay
  • Custom LCD characters for the player sprite and obstacles, defined via the LCD's CGRAM
  • Collision detection comparing player and obstacle screen positions each game tick
  • Buzzer audio for collision/game-over feedback, implemented without blocking the main game loop

Repository Structure

text
avoid-that-pixel/
├── firmware/
│   └── avoid_that_pixel.ino     # Main Arduino sketch
├── hardware/
│   ├── avoid_that_pixel.kicad_pro
│   ├── avoid_that_pixel.kicad_sch
│   └── avoid_that_pixel.kicad_pcb
├── docs/
│   └── media/                  # PCB renders, gameplay photos
└── README.md

Getting Started

  1. Flash firmware/avoid_that_pixel.ino to an Arduino Uno using the Arduino IDE.
  2. Mount the custom shield (or wire components per the schematic in hardware/) onto the Uno.
  3. Power on and play — dodge the incoming obstacles on the LCD before they reach the player position.

Tools Used

  • TinkerCad — original design and testing
  • KiCad — schematic capture and PCB layout
  • Arduino IDE / C++ — firmware development
  • JLCPCB — PCB fabrication

Author

Kaiden Esteves (KJace05)

Parts

14
QtyValueFootprintReferences
41kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal1k, 1k, 1k, 1k
110kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR5
1220Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR6
1Arduino_UNO_R3Module:Arduino_UNO_R3U1
1BuzzerBuzzer_Beeper:Buzzer_12x9.5RM7.6BZ1
1GREENLED_THT:LED_D5.0mmLED
1REDLED_THT:LED_D5.0mmLED
1R_PotentiometerPotentiometer_THT:Potentiometer_Alps_RK09K_Single_VerticalPOT
1SW_PushButton_Switch_THT:SW_PUSH_6mmBUTTON
1WC1602ADisplay:WC1602AU2
1YELLOWLED_THT:LED_D5.0mmLED

Questions

How big is the Avoid That Pixel PCB?

It measures 54 × 96 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Avoid That Pixel use?

14 parts, built around the ARDUINO UNO R3. 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 Avoid That Pixel KiCad files?

From the KJace05/Avoid-That-Pixel repository on GitHub, at the commit this page was made from: the board is Avoid That Pixel!/hardware/avoid_that_pixel.kicad_pcb and its schematic Avoid That Pixel!/hardware/avoid_that_pixel.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Avoid That Pixel design in my own project?

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

Similar boards

  • 2 layers68.8 × 53.6 mmRelatively Universal ROM Programmer, the printed circuit board in 3D

    Relatively Universal ROM Programmer

    AndersBNielsen/Relatively-Universal-ROM-Programmer

    Hardware to program W27C512 EEPROM or any 24/28/32 pin ROM requiring from 5V to 27V programming voltage.

    149 parts257GPL-3.0
  • 2 layers69.1 × 53.8 mmMotor controller, the printed circuit board in 3D

    Motor controller

    AlanFord/self-balancing-stick

    Dual Axis Reaction Wheel Inverted Pendulum

    25 parts79MIT
  • 2 layers68.6 × 53.3 mmProtogasm Board V2, the printed circuit board in 3D

    Protogasm Board V2

    Edging-Machines/Edging-Machines

    This repository is intended to contain as much information as possible about building, designing, prototyping, and using automated edging machines.

    14 parts67MIT
  • 2 layers53.8 × 69.6 mmEVSE V2 2, the printed circuit board in 3D

    EVSE V2 2

    PedroCNeves/AC_ChargingStation

    A learning project to create an EV AC Charging station based on an Arduino Uno

    32 parts50
  • 2 layers113.7 × 61 mmArduTester SMD, the printed circuit board in 3D

    ArduTester SMD

    jonsag/arduTester

    An arduino component tester based on https://create.arduino.cc/projecthub/plouc68000/ardutester-v1-13-the-arduino-uno-transistor-tester-dbafb4

    17 parts14
  • 4 layers65.9 × 52.9 mmMotor shield, the printed circuit board in 3D

    Motor shield

    DCC-EX/EX-MotorShield8874

    Design files for the open source 5A Motor Shield

    114 parts12
  • 4 layers68.6 × 53.3 mm101 PCB, the printed circuit board in 3D

    101 PCB

    ICRS/101

    The all-new open source Robotics 101 course from ICRS. It's specifically designed to be run in hackspaces, after school clubs and university societies.

    89 parts10CC-BY-4.0
  • 2 layers53.3 × 68.3 mmAnac 2040, the printed circuit board in 3D

    Anac 2040

    rallekralle11/Anna2040

    RP2040-based board in the shape of the Arduino uno

    63 parts9