CardKB HAT is an implementation of a full-featured QWERTY keyboard tailored as a HAT for the M5StickC. Consider that you want to make some cool stuff that require interaction through typing on a keyboard. But M5StickC itself just has 2 buttons. So, here comes the flexible and yet powerful “CardKB HAT” to solve the issue.
The CardKB HAT also offers support for several button combinations (Shift+Key, Fn+Key) adding virtually many different keys. This comes with an RGB LED to indicate the keyboard state. I2C address is 0x5F.
Resources | Parameter |
---|---|
Communication protocol | I2C:0x5F |
Net weight | 17g |
Gross weight | 21g |
Product Size | 84.6*54.26.5mm |
Package Size | 115*96*40mm |
Button combination description:
Single button is pressed,once pressed button the led flashing blue.keyboard will output the first (normal) key value in its lower case. E.g. if "Q" is pressed, keyboard will output "q"(lower case).
Shift+Key, After pressing the Shift key, led flashing red,if a letter button is pressed, it'll output the letter in its upper case or the second value. E.g. if "Shift" is pressed once, then "Q" is pressed, the keyboard will output "Q". If "Shift" is double clicked, then the keyboard will lock this function and all the letter keys pressed will give output in CAPITALS.
Fn+Key(custom function key combination), led flashing green,keyboard will output the third key value, which you can customize based on the requirement.
Double-click Shift or fn to lock Shift(red always on) or Fn(green always on) and output the second value or third value multiple times.
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 burn the program (For M5StickC, set the baud rate to 115200 or 750000)
ATMega328 ISPDownload interface Pin foot definition
/*--------------------------------------------------------------------------------------------------*/
| KEYBOARD REG | 0x5F
| ------------------------------------------------------------------------------------------------
| keyboard_value_reg[0] | R | KEYBOARD VALUE
/*----------------------------------------------------------------------------------------------------