Arduino Keyboard Protocol

This protocol senses any capacitive touch keypad with 12 buttons. Most of these keypads are controlled by an MPR121 chip. The capacitive touch keypad should be wired to a microcontroller. The microcontroller will forward the touched buttons using the following protocol.

How to build a test circuit with an MPR121 capacitive touch sensor and an Arduino Mega?
Arduino codes are included.

I. "Welcome" event from microcontroller

Example

c=welcome&id=K4e67Y&type=OzKeyboardController&pos=2&name=MyKeyboard&t=3

Parameters

Parameter Type Range Functionality
c String "welcome" Identifies the welcome message.
id String 6 characters (numbers, uppercase and lowercase characters) The ID of the device which is chosen by the microcontroller.
type String "OzKeyboardController" Determines the type of the device.
pos Byte 0-255 Determines the position of the device on the list of the Arduino ID manager of the microcontroller. Please make sure there are no other devices in the same position.
name (optional) String e.g. "MyKeyboard" You can give default names for devices.
t Byte 0-255 Counts the number of events and responses sent combined. Counts from 0 to 255 then from 0 again.



II. Commands to microcontroller

None

III. Event from microcontroller

"keycode" event

It is sent every time a button is touched. The keypad has 12 buttons (0-9, *, #).

Example

c=keycode&value=6id=K4e67Y&t=0

Parameters

Parameter Type Range Functionality
c String "keycode" Identifies the event.
value Char 0-9, *, # The read keycode.
id String 6 characters (numbers, uppercase and lowercase characters) The ID of the device which is chosen by the microcontroller.
t Byte 0-255 Counts the number of events and responses sent combined. Counts from 0 to 255 then from 0 again.

More information