{"product_id":"keyboard-for-tab5","title":"Keyboard for Tab5","description":"\u003cvideo id=\"video\" playsinline muted controls class=\"video-container\" width=\"100%\" style=\"border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.08);\"\u003e\n  \u003csource type=\"video\/mp4\" src=\"https:\/\/m5stack-doc.oss-cn-shenzhen.aliyuncs.com\/1241\/A164_Tab5_keyboard_video_EN.mp4\"\u003e\u003c\/video\u003e\n\u003cstyle\u003e\n\/* ===== Scoped Description Style ===== *\/\n.product-description.rte {\n  font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n  color: #2c2c2c;\n  line-height: 1.65;\n  font-size: 16px;\n}\n\n\/* ===== Headings ===== *\/\n.product-description.rte h2 {\n  font-size: 1.8em;\n  color: #0D47A1;\n  border-left: 4px solid #1f6fe5;\n  padding-left: 12px;\n  margin-top: 32px;\n  margin-bottom: 16px;\n}\n\n\/* ===== H3 Titles Optimization ===== *\/\n.product-description.rte h3 {\n  font-size: 1.4em;\n  color: #0D47A1;\n  margin-top: 24px;\n  margin-bottom: 12px;\n  font-weight: 500;\n  padding-bottom: 6px;\n  border-bottom: 2px solid #e6e6e6;\n}\n\n\/* ===== Paragraphs ===== *\/\n.product-description.rte p {\n  margin-bottom: 20px;\n  line-height: 1.8;\n  color: #4a4f57;\n  font-size: 16px;\n}\n\n\/* ===== Paragraph Images (only in description) ===== *\/\n.product-description.rte img {\n  display: block;\n  max-width: 100%;\n  height: auto;\n  margin: 24px auto;\n  border-radius: 12px;\n  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);\n}\n\n\/* ===== Lists ===== *\/\n.product-description.rte ul {\n  padding-left: 20px;\n  margin-bottom: 16px;\n  list-style-type: disc;\n}\n.product-description.rte li {\n  margin-bottom: 6px;\n}\n\n\/* ===== Links ===== *\/\n.product-description.rte a {\n  color: #0288D1;\n  text-decoration: none;\n  transition: color 0.3s ease;\n}\n.product-description.rte a:hover {\n  color: #01579B;\n}\n\n\/* ===== M5Stack-style Spec Table ===== *\/\n.product-description.rte .table-container {\n  width: 100%;\n  margin: 24px 0;\n  overflow-x: auto;\n}\n.product-description.rte .table-container table {\n  width: 100%;\n  border-collapse: collapse;\n  font-family: inherit;\n  font-size: 14px;\n  color: #2c2f36;\n  background-color: #ffffff;\n  border-radius: 10px;\n  overflow: hidden;\n  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);\n}\n.product-description.rte .table-container thead th {\n  background: #1f6fe5;\n  color: #ffffff;\n  padding: 14px 16px;\n  text-align: center;\n  font-weight: 600;\n  border: none;\n  vertical-align: middle;\n}\n.product-description.rte .table-container td {\n  padding: 14px 16px;\n  border-bottom: 1px solid #e6ebf2;\n  vertical-align: middle;\n}\n.product-description.rte .table-container tbody td:first-child {\n  width: 36%;\n  text-align: center;\n  font-weight: 500;\n  color: #4a4f57;\n  background-color: rgba(31, 111, 229, 0.02);\n}\n.product-description.rte .table-container tbody tr:nth-child(even) {\n  background-color: #f7f9fc;\n}\n@media (hover: hover) {\n  .product-description.rte .table-container tbody tr:hover {\n    background-color: #eef3ff;\n  }\n}\n\n\/* ===== Learn \u0026 Documents Button ===== *\/\n.product-description.rte #learn-and-documents-btn {\n  display: inline-flex;\n  align-items: center;\n  padding: 6px 14px;\n  background-color: #1f6fe5;\n  color: #ffffff;\n  font-weight: 600;\n  border-radius: 6px;\n  margin-top: 8px;\n  text-decoration: none;\n  transition: background 0.3s ease;\n}\n.product-description.rte #learn-and-documents-btn:hover {\n  background-color: #1661c1;\n}\n\n\/* ===== Responsive Design for Smaller Screens (with table adjustments) ===== *\/\n@media screen and (max-width: 768px) {\n  .product-description.rte .table-container table,\n  .product-description.rte .table-container thead,\n  .product-description.rte .table-container tbody,\n  .product-description.rte .table-container th,\n  .product-description.rte .table-container td,\n  .product-description.rte .table-container tr {\n    display: block;\n    width: 100%;\n  }\n  .product-description.rte .table-container thead {\n    display: none;\n  }\n  .product-description.rte .table-container tbody tr {\n    padding: 12px 0;\n    border-bottom: 1px solid #e6ebf2;\n  }\n  .product-description.rte .table-container tbody td {\n    padding: 8px 16px;\n    border: none;\n    text-align: left;\n  }\n  .product-description.rte .table-container tbody td:first-child {\n    width: 100%;\n    background: none;\n    color: #1f6fe5;\n    font-weight: 600;\n    padding-top: 16px;\n  }\n  .product-description.rte .table-container tbody td:last-child {\n    padding-bottom: 16px;\n    color: #2c2f36;\n    line-height: 1.6;\n  }\n\n  \/* Ensure button appears correctly on mobile *\/\n  .product-description.rte #learn-and-documents-btn {\n    font-size: 14px;\n    padding: 8px 16px;\n  }\n}\n\u003c\/style\u003e\n\u003ch2 data-id=\"Description\" id=\"description\"\u003eDescription\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eTab5 Keyboard\u003c\/strong\u003e is a 70-key physical keyboard input expansion module designed specifically for Tab5. It connects directly to the host via Tab5 Ext.Port1, enabling a plug-and-play input experience. The module integrates an STM32F030C8T6 main control chip, responsible for keyboard matrix scanning and communication processing. The preloaded firmware supports three operating modes: \u003cstrong\u003eNormal\u003c\/strong\u003e, \u003cstrong\u003eHID\u003c\/strong\u003e, and \u003cstrong\u003eCharacter\u003c\/strong\u003e, adapting to different interaction requirements. The keyboard adopts a 14 x 5 matrix design, supports multiple simultaneous key presses, and provides a complete set of letters, numbers, symbols, and commonly used function keys such as Aa, Ctrl, Sym, Alt, Tab, Esc, and arrow keys. The device communicates with Tab5 via I2C and provides an independent interrupt pin for low-latency real-time reporting of key events. Two onboard RGB LEDs can be used for full-color status indication. With a compact structure and simple connection method, it is suitable for text input, command interaction, and various portable applications that require a physical keyboard.\u003c\/p\u003e\n\u003ch2 data-id=\"Features\" id=\"features\"\u003eFeatures\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUses STM32F030C8T6 as the main control chip\u003c\/li\u003e\n\u003cli\u003eDesigned for Tab5, plug and play via direct connection to the expansion port\u003c\/li\u003e\n\u003cli\u003eThree operating modes to meet diverse requirements\u003c\/li\u003e\n\u003cli\u003e14 x 5 matrix, supports multiple simultaneous key presses\u003c\/li\u003e\n\u003cli\u003eComplete key layout with various commonly used function keys\u003c\/li\u003e\n\u003cli\u003eI2C communication with low-latency reporting through an interrupt pin\u003c\/li\u003e\n\u003cli\u003eOnboard dual RGB LEDs for colorful status indication\u003c\/li\u003e\n\u003cli\u003eSide latches securely lock onto Tab5; two M3 screw mounting holes reserved on the back\u003c\/li\u003e\n\u003cli\u003eCompact structure with strong adaptability for portable scenarios\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2 data-id=\"Includes\" id=\"includes\"\u003eIncludes\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003e1 x Tab5 Keyboard\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2 data-id=\"Applications\" id=\"applications\"\u003eApplications\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eText input\u003c\/li\u003e\n\u003cli\u003eCommand interaction\u003c\/li\u003e\n\u003cli\u003ePortable application scenarios\u003c\/li\u003e\n\u003cli\u003eEducational programming and maker projects\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2 data-id=\"Specifications\" id=\"specifications\"\u003eSpecifications\u003c\/h2\u003e\n\u003cdiv class=\"table-container\"\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eSpecification\u003c\/th\u003e\n\u003cth\u003eParameter\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eMCU\u003c\/td\u003e\n\u003ctd\u003eSTM32F030C8T6\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eKeys\u003c\/td\u003e\n\u003ctd\u003e70-key keyboard\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eI2C Address\u003c\/td\u003e\n\u003ctd\u003e0x6D (default)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eRGB LED\u003c\/td\u003e\n\u003ctd\u003e2 x WS2812E-1313\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eInterface\u003c\/td\u003e\n\u003ctd\u003e2 x 5 PIN header, 2.54mm pitch\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eStandby Power\u003c\/td\u003e\n\u003ctd\u003eDC 3.3V@14.5mA\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOperating Power\u003c\/td\u003e\n\u003ctd\u003eRGB (white) maximum brightness: 3.3V@21.5mA\u003cbr\u003eInput (RGB off): 3.3V@14.5mA\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eProduct Size\u003c\/td\u003e\n\u003ctd\u003e128.0 x 59.4 x 13.1mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eProduct Weight\u003c\/td\u003e\n\u003ctd\u003e65.2g\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePackage Size\u003c\/td\u003e\n\u003ctd\u003e147.0 x 82.0 x 16.5mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eGross Weight\u003c\/td\u003e\n\u003ctd\u003e97.4g\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003ch2\u003eLearn and Documents\u003c\/h2\u003e\n\u003ca href=\"https:\/\/docs.m5stack.com\/en\/products\/sku\/A164\" target=\"_blank\" id=\"learn-and-documents-btn\"\u003e\n  → DOCUMENTS\n\u003c\/a\u003e\n\u003c\/div\u003e","brand":"m5stack-store","offers":[{"title":"Default Title","offer_id":49210670940417,"sku":"A164","price":11.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0056\/7689\/2250\/files\/1_4c00aae0-a708-40c0-a8a7-d32185d7b380.webp?v=1780024069","url":"https:\/\/shop.m5stack.com\/products\/keyboard-for-tab5","provider":"m5stack-store","version":"1.0","type":"link"}