Skip to the content
2 layers85.6 × 54 mmPersonalPCB BC, the printed circuit board in 3D

A coin cell powered PCB business card that can play snake

Size
85.6 × 54 mm
Copper layers
2
Thickness
1.6 mm
Parts
73
Nets
52
Pads
198
Tracks, vias
519, 70
Pours
2
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
27 Sep 2026
Updated
27 Sep 2026

Overview

PersonalPCB BC is an open-source printed circuit board by Bumb1eris, from the Bumb1eris/PCB_Business_Card repository on GitHub, published under the MIT licence. It is a 2-layer board of 85.6 × 54 mm with 73 parts on 52 nets, routed with 519 tracks and 70 vias.

It is built around the ATTINY1616-SN, MMA8451QR1 and MMBT3904, with the CR2032 and SSSS811101 among its other parts. Its parts include 35 diodes, 16 resistors, 8 capacitors, 7 transistors and 3 ICs. It belongs with the AVR (ATmega, ATtiny) boards of this library.

Main components

5

README

README.md

Snake PCB Business Card

A business card you can play: a tilt-controlled Snake game on a 7×5 LED matrix, powered by a coin cell.

Snake game running on the card

Why I built it

I designed this card to hand out at TechIndustry, the largest tech expo in the Baltics. A paper card gets thrown away. A card that plays Snake gets passed around.

The original idea was a fluid simulation, but on a 7×5 matrix it just looked like random blinking, so it became Snake instead.

How to play

  • Flip the switch. The snake starts moving.
  • Tilt the card to steer.
  • Crash, and your score appears. The matrix fills one LED per point. If you fill the whole screen, it rolls over to a second score screen.
  • Shake the card to start a new game.

Hardware

MCUATtiny1616
AccelerometerMMA8451
PowerCR2032 coin cell → MCP1640 boost converter → stable 3.3 V
Display35 LEDs in a 7×5 multiplexed matrix
PCB2-layer, credit card size, fabricated and assembled by JLCPCB
Cost~€6 per card, assembled

How the matrix works

The rows are driven directly from the MCU pins through 22 Ω resistors. The columns are switched by a row of SOT-23 transistors along the bottom of the board. The firmware scans through the columns fast enough that the whole matrix looks lit at once.

The LEDs are rotated 45°. Together with the transistor array underneath, the matrix wiring is some of my cleanest routing work, and it worked on the first try.

PCB layout Schematic

Battery life

  • Switched on: about 3 days of continuous use
  • Switched off: about a year or two in storage

Firmware

Written in the Arduino IDE. The ATtiny1616 is programmed over UPDI, using an Arduino Nano as a makeshift UPDI programmer.

Flashing

  1. Install the megaTinyCore board package in the Arduino IDE.
  2. Flash an Arduino Nano with the UPDI programmer sketch (jtag2updi) and wire it to the card's UPDI pin.
  3. Select ATtiny1616 as the board and the Nano as the programmer.
  4. Open firmware/snake/snake.ino and upload.

Repository structure

text
firmware/
  snake/          Arduino sketch
hardware/
  kicad/          KiCad project files
  schematic.pdf
  gerbers/        ready to send to a fab
  bom.csv
images/

Status

✅ v1 finished. Cards were built, handed out, and work as designed.

🚧 v2 planned. The main change: swap the MMA8451 for a proper IMU. The accelerometer isn't responsive enough, so steering can feel sluggish.

License

Hardware/Firmware: MIT

Parts

73
QtyValueFootprintReferences
35LEDLED_SMD:LED_0805_2012MetricD1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23 +19
94.7kResistor_SMD:R_0805_2012MetricR1, R2, R3, R4, R5, R6, R7, R15, R16
7MMBT3904JLCPCB:Q_SOT-23Q1, Q2, Q3, Q4, Q5, Q6, Q7
522RResistor_SMD:R_0805_2012MetricR8, R9, R10, R11, R12
30.1 µFCapacitor_SMD:C_0805_2012MetricC4, C5, C8
24.7 µFCapacitor_SMD:C_0805_2012MetricC2, C6
247 uFCapacitor_SMD:C_0805_2012MetricC1, C7
110 µFCapacitor_SMD:C_0805_2012MetricC3
1270kJLCPCB:R_0805R14
1470kJLCPCB:R_0805R13
1ATtiny1616-SPackage_SO:SOIC-20W_7.5x12.8mm_P1.27mmU3
1CR2032Battery:CR2032BT1
1Inductor_4.7Inductor_SMD:L_APV_ANR3010L2
1MCP1640Bx-xCHYPackage_TO_SOT_SMD:SOT-23-6U2
1MMA8451QR1footprints:QFN50P300X300X100-16NU1
1SSSS811101footprints:SW_SSSS811101RealS1
1UPDI_HeaderConnector:UPDI_P=2.54mmJ1

Similar boards

  • 2 layers99.4 × 99.4 mmRP2350 80QFN minimal, the printed circuit board in 3D

    RP2350 80QFN minimal

    alvestav/alvestav-lee-thesis-project-2025

    This is the GitHub repository for the thesis project in computer and electronics engineering by Alvestav and Lee

    166 partsMIT
  • 2 layers104.1 × 79.4 mmPSE RP2040, the printed circuit board in 3D

    PSE RP2040

    G10v4nn/PPSE_Board_Code

    134 parts
  • 4 layers35 × 50 mmTama, the printed circuit board in 3D

    Tama

    rough-rat/tama

    74 parts
  • 2 layers51 × 60 mmRowing Computer, the printed circuit board in 3D

    Rowing Computer

    set321go/OpenRow

    Open Source Rowing Computer

    59 partsMIT
  • 2 layers80.5 × 53.8 mmBlynk, the printed circuit board in 3D

    Blynk

    DynamicWhiteHat/Blynk

    A feature-rich LED controller

    110 parts
  • 2 layers24.7 × 24.7 mmTal watch, the printed circuit board in 3D

    Tal watch

    moizZM/PCB-Design-Work

    28 parts
  • 2 layers100 × 50 mmClock pcb, the printed circuit board in 3D

    Clock pcb

    MitchellStride/Hummingbird-RP2040-Clock-Module

    RP2040 RTC Module, highly compatible with JLCPCB's basic SMT components.

    124 parts2

Questions

How big is the PersonalPCB BC PCB?

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

What parts does the PersonalPCB BC use?

73 parts, built around the ATTINY1616-SN, MMA8451QR1, MMBT3904 and CR2032. 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 PersonalPCB BC KiCad files?

From the Bumb1eris/PCB_Business_Card repository on GitHub, at the commit this page was made from: the board is hardware/kicad/PersonalPCB_BC.kicad_pcb and its schematic hardware/kicad/PersonalPCB_BC.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the PersonalPCB BC 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).