Matrix Keypad Tester
Matrix Keypad Tester is a hardware-software system that verifies every switch in an N×M keypad matrix with a 500 Hz scan rate, live visual feedback, automatic stuck-key detection, and microsecond-precision event logging. Plug in, push a config, and test — no code, no guesswork, no missed faults.
10 hours
from concept to production
The problem
Every keypad, membrane switch, and button matrix that rolls off a production line needs to be tested — and the industry standard is still "press every key and hope the operator doesn't miss one." That's slow, inconsistent, and leaves stuck or intermittent switches undetected until they reach the customer. Off-the-shelf test equipment either doesn't exist for arbitrary matrix sizes or costs thousands of dollars per station.

The full testing interface — live grid visualization, timestamped event log, CSV export, and raw serial monitor.

Single key press detected instantly — green indicates active, red indicates idle.
How it works
An ESP32-S3 microcontroller scans the switch matrix at 500 Hz, detecting press and release events with microsecond timestamps. Events stream over USB serial to a desktop application that renders a live N×M grid — green for active, red for idle, amber for stuck. Configure the matrix dimensions and pin assignments in the app, push the config to the device, and start testing. The entire workflow takes seconds.
What makes it different
Most matrix testers are single-key-at-a-time tools. Matrix Keypad Tester detects every simultaneous key combination — press five keys at once and all five light up in real time. Automatic stuck-key detection flags switches that fail to release within a configurable threshold and names the offending key by row and column. The 500 Hz scan rate and sub-5 ms end-to-end latency mean no event goes unrecorded, no matter how fast the operator works.

Simultaneous multi-key detection — three keys held at once, all correctly identified in real time.

Rapid sequential testing — microsecond timestamps capture every event regardless of operator speed.
Capabilities
Any N×M matrix topology — 4×3 phone pads, 8×8 keyboard blocks, 16×2 control panels — configured at runtime with no firmware changes. Named row and column labels (G1–G8, etc.) for instant fault identification. Full event log with microsecond timestamps, CSV export for traceability and audit trails. Multiple saved configurations with one-click push to the device. Zero-install single .exe deployment — copy to a USB stick and run on any Windows PC on the production floor.
Who it's for
Electronics manufacturers running end-of-line keypad QA. Contract manufacturers verifying third-party switch assemblies. Hardware engineers validating prototype keyboard matrices. Test technicians who need a fast, repeatable, auditable test process without writing firmware or building custom jigs.
Built with
ESP32-S3 firmware written in C with ESP-IDF and FreeRTOS — scan tasks, debounce logic, and USB serial streaming run on dedicated cores. Desktop application built with Python and PySide6 (Qt 6) for a native, responsive UI. Serial communication protocol designed for minimal overhead and maximum throughput. Packaged as a standalone Windows executable with PyInstaller.
Interested in what we can build for you?
Every project we ship meets the highest quality standards with dramatically reduced turnaround. Let's talk about yours.
Get a free estimate