This project features the Texas Instruments SimpleLink Bluetooth Low Energy CC2640R2F Launchpad interfaced to a USB Keyboard to function as a BLE Keyboard.
The reference for this project is based from the Bluetooth SMART Keyboard Reference Design which uses a BLE CC2650 board interfaced to Mini Keyboard.
BLE CC2640R2F was used instead since it is able to support BLE 5 Long Range and High Data Rate feature. For a BLE Keyboard application the BLE 5 Long Range feature is desirable. Imagine able to type at your Laptop through BLE Connection at a distance of 400 meters. However, at the moment there is no Personal Computer or Smart Phone that supports BLE 5 Long Range Feature. If that time comes when there are Personal Computers and Smart Phones that are able to support BLE 5 Long Range Feature, then the BLE CC2640R2F Long Range Feature can be enabled through software so this project can become a “TI CC2640R2F Long Range BLE Keyboard”.
Interfacing the USB Keyboard to TI CC2640R2F Launchpad:
I used a Logitech K120 USB Keyboard to interface with TI CC2640R2F Launchpad. I dismantle the Logitech K120 USB Keyboard and remove the USB cable connected to the Keyboard motherboard.
The next step is trace the top and bottom keyboard matrix. The top keyboard matrix has 8 pads connected to the board and. The bottom keyboard matrix has 18 pads connected to the board. For this project at the moment I only aim to output Keyboard Letters and Numbers, which you can see at the Keyboard Matrix Table below are highlighted in green.
Then ribbon cable is soldered to the pads of the motherboard. Only half of the pad is in contact with the keyboard matrix. To solder the ribbon cable to the pad, the black conductive material on the pad needs to be scraped off first.
Overall Pin Compatibility:
Keyboard Interfaced to CC2640R2F Launchpad:
The TI CC2640R2F Launchpad is powered using Power Bank.
Program: TI CC2640R2F BLE Keyboard
Note: See, program link README.md for instructions.
Using the Key Matrix Data I was able to generate Key Scanning codes from the Bluetooth SMART Keyboard Reference Design. The Key Scanning Codes are for BLE CC2650. I then port the code to work for HID Emu Kbd Example Program from CC2640R2F SDK Version 1.30.
I used a Iphone 4s for testing because there was some issue pairing with my Windows 10 Laptop. Using LE LightBlue App, I was able to see the BLE Services.
The key pressed from the BLE Keyboard can be seen at the Iphone 4s Notes App.