====== AKeyboard ====== {{template>project:infobox| name=Akeyboard| image=bluetooth_keyboard2.jpg?200| founder=[[user:b00lean]]| interested=[[user:sargon]]| hw=| sw=| status=finished}} ~~META: status = finished &relation firstimage = :project:bluetooth_keyboard2.jpg ~~ PC compatible USB HID keyboard operated remotely from Android phone via Bluetooth. ===== Motivation ===== - To learn and play around with LPCxpresso 1343 and its USB capabilities. - 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 ===== * Selected technologies: * AKeyboard Device Hardware: * MCU: [[http://ics.nxp.com/products/lpc1000/lpc13xx/~LPC1343/| NXP LPC1343]] * Bluetooth module: [[http://www.rayson.com/btm110.html|BTM-112]] * Plastic box: To be produced on RepRap. * AKeyboard Device Software: * Compiler: [[http://www.gnuarm.com/|gnuarm(GCC)]] * SDK: [[http://www.microbuilder.eu/|microbuilder]] * AKeyboard Controller: * All bluetooth-enabled Android 2.0+ phones. ===== Phases of project ===== ==== Preparation ==== - Create this page - **DONE** - Create GIT repository - **DONE** - Test communication with BT module via UART - **DONE** - Explore USB-CDC capabilities - **DONE** - Make HID keyboard working example - **DONE** - Make HID mouse working example - **DONE** ==== Implementation ==== - Write software part for USB HID Keyboard on MCU - **DONE** - Write software part for USB HID Mouse on MCU - **DONE** - Bridge HID and Bluetooth channels. - **DONE** - Create Android application for 101-keyboard. - **DONE** - Create Android application for Mouse. - **IN PROGRESS** - Draw hw schema. - **DONE** - Draw PCB. - **IN PROGRESS** - Buy parts - Edge PCB - Solder 10 pcs - Print box for device on RepRap - **TO BE SKIPPED/TOO FANCY** - 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 ============ - LPC USB HID ROM cannot be used since the hid device subclass is hard coded. - I need to find out how to put hid keyboard to idle state, otherwise it is flooding my usb bus - 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)