CardKB is a unit with an implemented full-featured QWERTY keyboard. Consider that you want make some cool stuff that require keyboard typing and interaction, but M5 core by itself only has 3 buttons, what can you do? introducing CardKB, the flexible and powerful keyboard unit.

CardKB also can achieve button combination (Sym+Key, Shift+Key, Fn+Key) and output richer key value. This unit communicates with M5Core through GROVE A port (I2C interface). The default Address is 0x5F.

1. Button combination description:

  • Single button pressed, keyboard will output the first key value (the letter button will output in a lower case form). E.g if "Q" was pressed, keyboard will output "q" (lower cased).

  • Sym+key, keyboard will output the second key value. E.g if "Sym" was pressed and then "Q" was pressed, the keyboard will output "{". If "Sym" was double pressed, then the keyboard will lock this function, all key pressed will output it's second key value.

  • Shift+key, if a letter button was pressed, it'll output upper case form. E.g if "Shift" was pressed and then "Q" was pressed, the keyboard will output "Q". If "Shift" was double pressed, then the keyboard will lock this function, all letter key pressed will output it's upper case form.

  • Fn+key(custom function key combination), keyboard will output the third key value. You can customize what function the key presses corresponds to.

Product Features

  • Full-function keyboard, multi-key combination
  • GROVE interface, support UIFlow and Arduino
  • Two Lego compatible holes


  • 1x CardKB unit
  • 1x GROVE Cable


  • Keyboard peripherals for M5Stack Core


Resources Parameter
Numberofkeys 50
Communicationmethod I2C
Net weight 17g
Gross weight 18g
Product Size 88*54*5mm
Package Size 88*58*5mm


download EasyLoader

1.EasyLoader is a simple and fast program burner. Every product page in EasyLoader provides a product-related case program. It can be burned to the master through simple steps, and a series of function verification can be performed. .

  1. After downloading the software, double-click to run the application, connect the M5 device to the computer through the data cable, select the port parameters, click "Burn" to start burning. (For M5StickC burning, please Set the baud rate to 750000 or 115200)
  1. Currently EasyLoader is only suitable for Windows operating system, compatible with M5 system adopts ESP32 as the control core host. Before installing for M5Core, you need to install CP210X driver (you do not need to install with M5StickC as controller) Click here to view the driver installation tutorial


Mega328 ISPDownload interface Pin foot definition



  • Protocol type I2C
  • I2C Address: 0x5F
| KEYBOARD REG       | 0x5F
| ------------------------------------------------------------------------------------------------
| keyboard_value_reg[0] 0x5F        |  R |  KEYBOARD VALUE


LoRa QWERTY Messenger
A standalone off-grid LoRa pager/messenger device for the end of the world. :-)



To get the code, please click here


Feature Introduction

Enter information via the keyboard

  • Get key Return ASIIC value

  • Get string Return character

  • Get pressed Detect button, press to return true


To get the complete code, please click here

Last updated: 2020-12-11