{"product_id":"12-key-4x3-matrix-membrane-keypad-5pcs-arduino-microcontroller","title":"12-Key 4×3 Matrix Membrane Switch Keypad 5PCS | 0–9 * # Flexible Keyboard for Arduino Microcontroller","description":"\u003ch2\u003e12-Key 4×3 Matrix Membrane Switch Keypad — 5PCS | Arduino \u0026amp; Microcontroller Compatible\u003c\/h2\u003e\n\n\u003cp\u003eA compact, flexible \u003cstrong\u003e12-key 4×3 matrix membrane keypad\u003c\/strong\u003e providing numeric input (0–9) plus * and # keys for Arduino, ESP32, STM32, and any microcontroller project requiring a simple, low-profile keypad interface. The matrix scanning architecture reduces the required GPIO pins from 12 (one per key) to just 7 (4 rows + 3 columns) — making it ideal for microcontrollers with limited I\/O. The thin, flexible membrane construction and self-adhesive backing allow mounting on curved or flat surfaces, enclosure panels, and project boxes. Supplied in a 5-piece pack for prototyping and small production runs.\u003c\/p\u003e\n\n\u003ch3\u003eSpecifications\u003c\/h3\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eKey Layout\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e4 rows × 3 columns (12 keys total)\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eKey Labels\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e1 2 3 \/ 4 5 6 \/ 7 8 9 \/ * 0 #\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eInterface\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e7-pin ribbon cable (4 row + 3 column)\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eConstruction\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eFlexible membrane (polyester)\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eMounting\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eSelf-adhesive backing\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eOperating Voltage\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e3.3V – 5V (compatible with Arduino and ESP32)\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eQuantity\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e5PCS per pack\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eOrigin\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eMainland China\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003c\/tbody\u003e\n\u003c\/table\u003e\n\n\u003ch3\u003eHow Matrix Keypads Work — Why 7 Pins for 12 Keys\u003c\/h3\u003e\n\u003cp\u003eA matrix keypad arranges keys in a grid of rows and columns. Instead of one wire per key (12 wires for 12 keys), the matrix uses shared row and column wires:\u003c\/p\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003e4 row wires\u003c\/strong\u003e + \u003cstrong\u003e3 column wires\u003c\/strong\u003e = \u003cstrong\u003e7 wires total\u003c\/strong\u003e for 12 keys\u003c\/li\u003e\n  \u003cli\u003eThe microcontroller scans by driving each row LOW in turn and reading which columns go LOW\u003c\/li\u003e\n  \u003cli\u003eThe intersection of the active row and active column identifies the pressed key\u003c\/li\u003e\n  \u003cli\u003eThis scanning happens faster than human key press speed, so simultaneous key detection is reliable\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003ePin Assignment (7-Pin Ribbon Cable)\u003c\/h3\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n\u003cth\u003ePin\u003c\/th\u003e\n\u003cth\u003eFunction\u003c\/th\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e1\u003c\/td\u003e\n\u003ctd\u003eRow 1 (keys 1, 2, 3)\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e2\u003c\/td\u003e\n\u003ctd\u003eRow 2 (keys 4, 5, 6)\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e3\u003c\/td\u003e\n\u003ctd\u003eRow 3 (keys 7, 8, 9)\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e4\u003c\/td\u003e\n\u003ctd\u003eRow 4 (keys *, 0, #)\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e5\u003c\/td\u003e\n\u003ctd\u003eColumn 1 (keys 1, 4, 7, *)\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e6\u003c\/td\u003e\n\u003ctd\u003eColumn 2 (keys 2, 5, 8, 0)\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e7\u003c\/td\u003e\n\u003ctd\u003eColumn 3 (keys 3, 6, 9, #)\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003c\/tbody\u003e\n\u003c\/table\u003e\n\n\u003ch3\u003eKey Features\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e✅ \u003cstrong\u003e12 keys in 7 GPIO pins\u003c\/strong\u003e — matrix scanning minimises microcontroller I\/O usage\u003c\/li\u003e\n  \u003cli\u003e✅ \u003cstrong\u003eFlexible membrane construction\u003c\/strong\u003e — thin, lightweight, mounts on flat or slightly curved surfaces\u003c\/li\u003e\n  \u003cli\u003e✅ \u003cstrong\u003eSelf-adhesive backing\u003c\/strong\u003e — peel-and-stick installation on enclosure panels and project boxes\u003c\/li\u003e\n  \u003cli\u003e✅ \u003cstrong\u003e3.3V and 5V compatible\u003c\/strong\u003e — works with Arduino (5V), ESP32 (3.3V), and STM32 (3.3V)\u003c\/li\u003e\n  \u003cli\u003e✅ \u003cstrong\u003eStandard 4×3 layout\u003c\/strong\u003e — compatible with the widely-used Keypad Arduino library\u003c\/li\u003e\n  \u003cli\u003e✅ \u003cstrong\u003e5PCS pack\u003c\/strong\u003e — cost-effective for prototyping and small production runs\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eCommon Applications\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eArduino PIN entry and access control systems\u003c\/li\u003e\n  \u003cli\u003ePassword-protected relay and lock control\u003c\/li\u003e\n  \u003cli\u003eNumeric data entry for LCD display projects\u003c\/li\u003e\n  \u003cli\u003eCalculator and numeric input projects\u003c\/li\u003e\n  \u003cli\u003eAlarm system keypad\u003c\/li\u003e\n  \u003cli\u003eIndustrial HMI numeric input\u003c\/li\u003e\n  \u003cli\u003eVending machine and kiosk numeric entry\u003c\/li\u003e\n  \u003cli\u003eSafe and locker combination entry\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eArduino Quick Start\u003c\/h3\u003e\n\u003col\u003e\n  \u003cli\u003eInstall the \u003cstrong\u003eKeypad\u003c\/strong\u003e library by Mark Stanley via Arduino Library Manager.\u003c\/li\u003e\n  \u003cli\u003eConnect the 7-pin ribbon cable to 7 Arduino digital pins (e.g., D2–D8).\u003c\/li\u003e\n  \u003cli\u003eDefine the row and column pin arrays in your sketch.\u003c\/li\u003e\n  \u003cli\u003eUse \u003ccode\u003ekeypad.getKey()\u003c\/code\u003e to read the pressed key character.\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003cpre\u003e\u003ccode\u003e#include \u0026lt;Keypad.h\u0026gt;\nconst byte ROWS = 4, COLS = 3;\nchar keys[ROWS][COLS] = {{'1','2','3'},{'4','5','6'},{'7','8','9'},{'*','0','#'}};\nbyte rowPins[ROWS] = {2,3,4,5};\nbyte colPins[COLS] = {6,7,8};\nKeypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);\nvoid loop() { char key = keypad.getKey(); if (key) Serial.println(key); }\u003c\/code\u003e\u003c\/pre\u003e\n\n\u003ch3\u003eFrequently Asked Questions\u003c\/h3\u003e\n\u003cp\u003e\u003cstrong\u003eQ: Can I detect multiple simultaneous key presses?\u003c\/strong\u003e\u003cbr\u003eA: Basic matrix keypads without diodes are susceptible to “ghosting” (false key detection) when 3 or more keys are pressed simultaneously. For single key press applications (PIN entry, numeric input), this is not an issue.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eQ: Is the ribbon cable connector compatible with standard breadboards?\u003c\/strong\u003e\u003cbr\u003eA: The ribbon cable has 2.54mm pitch pins that plug directly into a standard breadboard or female Dupont connector headers.\u003c\/p\u003e\n\n\u003ch3\u003ePackage Contents\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e5× 12-Key 4×3 Matrix Membrane Switch Keypad with 7-pin ribbon cable\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Keszoox","offers":[{"title":"Default Title","offer_id":46991416393963,"sku":"\u003cnone\u003e","price":12.52,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/12key-4x3-matrix-membrane-keypad.webp?v=1761890990","url":"https:\/\/keszoox.com\/products\/12-key-4x3-matrix-membrane-keypad-5pcs-arduino-microcontroller","provider":"Keszoox","version":"1.0","type":"link"}