Skip to the content
2 layers53.4 × 84.4 mmPOV card v1, the printed circuit board in 3D

Persistence-of-vision shake light-up badges designed by Excessive Overkill

Size
53.4 × 84.4 mm
Copper layers
2
Thickness
0.59 mm
Parts
64
Nets
81
Pads
252
Tracks, vias
706, 61
Pours
9
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
9 Jun 2026
Updated
17 Oct 2026

Overview

POV card v1 is an open-source printed circuit board by ExcessiveOverkill, from the ExcessiveOverkill/POV-card-v1 repository on GitHub. It is a 2-layer board of 53.4 × 84.4 mm with 64 parts on 81 nets, routed with 706 tracks and 61 vias.

It is built around the TLC59283RGER, USBLC6-2SC6 and SC7A20. Its parts include 32 diodes, 11 capacitors, 7 ICs, 5 resistors and 2 transistors. It belongs with the lEDs and displays boards and the STM32 boards of this library.

Main components

3

README

README.md

Persistence of Vision Badge

Turn on then shake side to side to view the images or animations programmed into the badge.

Specs:

  • Requires 2x CR2032 batteries (badge is not rechargeable)
  • Credit card sized: 2.1" x 3.3" (54mm x 84mm)
  • 0.8mm PCB thickness, 4mm total thickness with components
  • Black PCB soldermask
  • 32 bright white leds
  • ENIG (thin gold) plated

Features:

  • Image or animation display
  • User programmable images/animations over USB-C
  • User configurable modes set by tapping the badge
  • 4-bit grayscale image support
  • Many new display modes
  • XYZ Accelerometer
  • True power-off (batteries last when not in use)
  • Auto power-off

How to use:

Turning On:

  1. Press "ON" button on badge.
  2. Badge will display power-on animation when first powered on.

Pressing the "ON" button once badge is already on will have no effect.

Turning Off:

  1. Do nothing
  2. Badge will automatically power off after it is no longer being interacted with for around 20 seconds. It will also power off regardless of interaction after 5 minutes.

Changing Mode:

  1. Turn badge on
  2. Tap top of badge downward 3 times quickly to enter the mode menue, it should display the current mode by turning on an LED. The distance the LED is from the bottom of the badge shows what mode it is in.
  3. Tap top of badge downward to move LED down, Tap bottom of badge upward to move LED up
  4. Wait 3 seconds for badge to enter new mode. You may shake the badge while in the mode menu to view what mode is selected.
  5. Done!

USB Programming:

  1. Turn badge on
  2. Plug into computer using a USB-C cable, ensure the cable can carry data and not only power.
  3. Badge will display slow pulsing to indicate USB connection.
  4. Badge should show up as a USB storage device (flash drive).
  5. Copy your BMP file to the badge
  6. Done!

BMP File Requirements:

  • 1-bit or 4-bit grayscale
  • 8, 16, or 32 pixels tall
  • 128 or less pixels wide (per frame)
  • Filename must end in "1" or "2" to indicate which slot you want to program
  • For animations (multiple frames displayed in sequence), the filename must start with "SEQ"
  • Animation frames must be separated by a 1 pixel wide column of alternating colors (0-1 for 1-bit, 0-15 for 4-bit). With the top pixel starting as 1 or 15 (white).
  • File size must be less than 2KB

How to get a good image

Image quality greatly depends on the shaking motion. Use mode 8: "IMAGE LINE TEST" to visualize your shake motion.

Things to improve display quality

  • Hold badge further away
  • Smooth, uniform shaking. Slower and more consistent is better than fast and crazy.
  • Shake left/right, not tilted or up/down
  • Symmetrical movement, not like trying to shake ketchup out of a bottle.

Modes

1. DISPLAY BOTH

Display both the pre-programmed image/animation shipped with the badge as well as all custom user-programmed images/animations.

2. DISPLAY CUSTOM

Display only the custom user-programmed images/animations.

3. LEVEL

Emulates a bubble level. Hold the badge edge against a vertical or horizontal surface. Use the "LEVEL CAL" mode to improve accuracy.

4. BALL SIM

LEDs display a "ball" that reacts to how you move and tilt the badge.

5. SAVE MODE

Save the last selected mode and automatically switch to it on the next power-on. This function requires verification (see below).

6. LEVEL CAL

Calibrate the angles the badge uses for "LEVEL" mode. After entering this mode, hold the long badge still against a known horizontal surface until the LEDs all turn on. Then hold the short edge still against the surface until the "bubble" resets to center. This function requires verification (see below).

7. RESET

Clears all user-programmed memory. Badge will power off after this mode is selected. This function requires verification (see below).

8. IMAGE LINE TEST

Displays a diagonal line. Useful for practicing the correct shake technique to get the best display results. The line should be perfectly straight and vertical when you shake the badge. Slight distortion is acceptable, but if it is very distorted, read the "How to get a good image" section.

Firmware Update (DANGER)

9. USB Device Firmware Update

Allows the badge to be fully reprogrammed with a new binary file using STM32CubeProgrammer over the USB port. -ob nBOOT0=1 must be added when using the programmer to reset the DFU bit, otherwise the badge will be stuck in DFU mode. Once this mode is entered, the badge will not function until reprogrammed! "ON" button must be held down to program the badge in this mode or with an ST-LINK. User-memory will also be cleared.

Mode Verification

Certain modes are protected by a verification step to prevent accidental triggering. These modes will display a bar at the bottom the image that slowly shrinks while you shake the badge. You must continuously shake the badge until the bar is gone to enable the selected mode.

Warnings/Notices:

  • The badge is a bare PCB, it is very susceptible water and metallic objects and dust. Keep clean and do not put in contact with loose conductive objects
  • Badge is not rechargeable, the USB-C port does not supply power to the badge circuitry.
  • This "Development Edition" is the first publicly available version. There may be unforeseen issues with hardware or software that affect functionality. However we will do our best to verify all use cases and resolve potential issues before you receive your badge.
  • Persistence-of-vision effects are notoriously hard to film. Cameras will not capture the effect well without a very slow shutter speed.
  • Attached lanyards or clips that rattle against the badge will affect the accelerometer reading and can make the image distorted.

Parts

64
QtyValueFootprintReferences
32LEDLED_SMD:LED_0603_1608MetricD1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23 +16
8.1ufCapacitor_SMD:C_0402_1005MetricC4, C5, C6, C7, C8, C9, C10, C11
410kResistor_SMD:R_0402_1005MetricR1, R2, R4, R5
34.7ufCapacitor_SMD:C_0402_1005MetricC1, C2, C3
2Battery_Cellfootprints:cr2032BT1, BT2
2TLC59283RGERfootprints:RGE24_2P1X2P1_TEXU3, U5
2USBLC6-2SC6Package_TO_SOT_SMD:SOT-23-6U2, U4
11kResistor_SMD:R_0402_1005MetricR3
1Conn_ARM_SWD_TagConnect_TC2030Connector:Tag-Connect_TC2030-IDC-FP_2x03_P1.27mm_VerticalJ1
1HT75xx-1-SOT89Package_TO_SOT_SMD:SOT-89-3U7
1Q_NMOS_GSDPackage_TO_SOT_SMD:SOT-23Q2
1Q_PMOS_GSDPackage_TO_SOT_SMD:SOT-23Q1
1SC7A20Package_LGA:LGA-12_2x2mm_P0.5mmU1
1STM32C071G8UxPackage_DFN_QFN:QFN-28_4x4mm_P0.5mmU6
1SW_PushButton_Switch_SMD:SW_Push_1P1T_XKB_TS-1187ASW1
1USB_C_Receptacle_USB2.0_16PConnector_USB:USB_C_Receptacle_G-Switch_GT-USB-7010ASVJ2

The 62 most common of 64 parts.

Similar boards

  • 4 layers71.9 × 20 mmHD800-wireless, the printed circuit board in 3D

    HD800-wireless

    AarnimM22/HD800-wireless

    dual CS43131 + nrf5340 DAC/AMP for turning Sennheiser HD800 into wireless

    121 parts
  • 2 layers53.4 × 84.4 mmPCB business cards, the printed circuit board in 3D

    PCB business cards

    ExcessiveOverkill/PCB-business-cards

    Everything needed to make your own persistence of vision business cards

    70 parts3
  • 4 layers152.3 × 72 mmIr glasses EVT E7, the printed circuit board in 3D

    Ir glasses EVT E7

    noahzhy/cc_glasses

    tools/ 为此次整改的重建和检查脚本;日常直接编辑 KiCad 工程。重建脚本会覆盖设计,不能在人工修改后直接重跑。Python 工具不引入继承类;需要 KiCad 10 的 pcbnew Python,以及 Python 3 的 sexpdata、numpy、scipy、shapely、pymupdf。

    171 parts1MIT
  • 4 layers118 × 76 mmSmart led badge, the printed circuit board in 3D

    Smart led badge

    zgeez/Pixel-Badge

    Wearable 32x32 LED badge with Zephyr firmware, BLE control, passive NFC, and a Flutter Android app, built around a custom nRF52840 PCB.

    1,236 partsMIT
  • 2 layers110 × 82 mm7-seg display-2-digits, the printed circuit board in 3D

    7-seg display-2-digits

    sburgic/poc-and-obsolete

    Proof of concepts and old (obsolete) projects

    47 parts
  • 4 layers83.1 × 92.5 mmTildagon base, the printed circuit board in 3D

    Tildagon base

    emfcamp/badge-2024-hardware

    183 parts40
  • 2 layers119 × 27 mmPuya spinner, the printed circuit board in 3D

    Puya spinner

    ArcaneNibble/puya-spinner

    Puya PY32 deliberately-overengineered fidget spinner

    52 parts40BSD
  • 4 layers83.8 × 22.9 mmRemex wch, the printed circuit board in 3D

    Remex wch

    ArcaneNibble/remex-wch

    CH32V307 GigE development board

    102 parts10BSD

Questions

How big is the POV card v1 PCB?

It measures 53.4 × 84.4 mm and has 2 copper layers, 0.59 mm thick.

What parts does the POV card v1 use?

64 parts, built around the TLC59283RGER, USBLC6-2SC6 and SC7A20. 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 POV card v1 KiCad files?

From the ExcessiveOverkill/POV-card-v1 repository on GitHub, at the commit this page was made from: the board is kicad/POV-card-v1.kicad_pcb and its schematic kicad/POV-card-v1.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the POV card v1 design in my own project?

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