Table of Contents

AKeyboard

Akeyboard
bluetooth_keyboard2.jpg
founder: b00lean
depends on:
interested: sargon
software license:
hardware license:

~~META: status = finished &relation firstimage = :project:bluetooth_keyboard2.jpg ~~

PC compatible USB HID keyboard operated remotely from Android phone via Bluetooth.

Motivation

  1. To learn and play around with LPCxpresso 1343 and its USB capabilities.
  2. To create an usefull peripheral.

Use case scenarios

Me laying in the bed operating MPlayer running on PC via android phone. Target price: not more than 400 CZK (30 USD)

Specification

Phases of project

Preparation

  1. Create this page - DONE
  2. Create GIT repository - DONE
  3. Test communication with BT module via UART - DONE
  4. Explore USB-CDC capabilities - DONE
  5. Make HID keyboard working example - DONE
  6. Make HID mouse working example - DONE

Implementation

  1. Write software part for USB HID Keyboard on MCU - DONE
  2. Write software part for USB HID Mouse on MCU - DONE
  3. Bridge HID and Bluetooth channels. - DONE
  4. Create Android application for 101-keyboard. - DONE
  5. Create Android application for Mouse. - IN PROGRESS
  6. Draw hw schema. - DONE
  7. Draw PCB. - IN PROGRESS
  8. Buy parts
  9. Edge PCB
  10. Solder 10 pcs
  11. Print box for device on RepRap - TO BE SKIPPED/TOO FANCY
  12. Improve Android application to support different keyboard layouts for different applications. Users should be able to create their own keyboard layouts. For instance Photoshop/Microsoft Word/Eagle shortcuts.

Notes

  1. LPC USB HID ROM cannot be used since the hid device subclass is hard coded.
  2. I need to find out how to put hid keyboard to idle state, otherwise it is flooding my usb bus
  3. Why make special hardware for this? All you need is bluetooth (or wifi) dongle and custom software (well, you can already find such software: bemused, remotedroid, vnc) and mouse/keyboard is even part of bluetooth specification (with proper software your mobile phone can behave as keyboard without need for non-standart software/drivers on PC)