Hackaday.io Hackaday.io
Projects
Recently Updated Most Likes Newest Project Lists
Discover Contests Courses Stack
More
Courses Tutorials Events Hackerspaces Profiles Hackaday.com Tindie Marketplace
Sign up Log in
Close
0%
0%

BLE WASD(Mechanical Wireless Keyboard)

Make a Mechanical WASD keyboard wireless with BLE

Daniel NugentDaniel Nugent
Following Follow project
Liked Like project

Become a Hackaday.io member

Not a member? You should Sign up.

Already have an account? Log in.

Sign up with Github
Sign up with Twitter
OR
Forgot your password?

Just one more thing

To make the experience fit your profile, pick a username and tell us what interests you.

Pick an awesome username
hackaday.io/
Your profile's URL: hackaday.io/username. Max 25 alphanumeric characters.
Pick a few interests
Projects that share your interests
People that share your interests

We found and based on your interests.

Choose more interests.

OK, I'm done! Skip
Join this project
Similar projects worth following
15k views
3 comments
143 followers
21 likes
  • Description
  • Details
  • Files 0
  • Components 6
    • View all
  • Logs 0
  • Instructions 2
    • View all
  • Discussion 3
View Gallery
15k
3
143
21

Team (1)

  • Daniel NugentDaniel Nugent

Join this project's team
  • BLE WASD
MISC
completed project

This project was created on 09/13/2015 and last updated 7 years ago.

Description

I created a wireless mechanical keyboard using an arduino and BLE. I love the feel of a mechanical keyboard but I hate the wires. So I made it wireless.

This was a great project because I had never used bluetooth or BLE before. Nor had I used the PS2 protocol. It was a fun little project. Now I have very clean looking desk.

Gamers may freak out because this is a slap in the face for low latency. However, I am coder. As long as my eyes can't tell then I don't care. I just want a professional looking, nice feeling keyboard for coding and a wireless WASD fits that description.

Components

  • 1 × WASD Code Keyboard (Or any PS2 keyboard) http://www.wasdkeyboards.com/index.php/products/code-keyboard.html
  • 1 × Bluefruit LE micro http://www.adafruit.com/product/2661
  • 1 × Trinket lipo backpack http://www.adafruit.com/products/2124
  • 1 × USB Bluetooth 4.0 module http://www.adafruit.com/products/1327
  • 2 × 3.7v Lipo Battery(Any size you want) http://www.adafruit.com/products/328

View all 6 components

Build Instructions
Collapse

  • 1
    Step 1

    The Hardware


    Assembly

    1. Solder the 500mah jumper on the trinket backpack for batteries larger than 500mah
    2. (Optional) Cut the switch trace on the trinket backpack and solder a micro switch between the two contacts. See https://learn.adafruit.com/adafruit-pro-trinket-lipoly-slash-liion-backpack for more details
    3. Solder the trinket backpack to the Bluefruit micro
    4. Solder the micro USB power connections to ground and 3.3v on the Bluefruit Micro
    5. Solder the Data ( + ) pin(PS2 clk) of the micro USB to pin 2 on the Bluefruit micro
    6. Solder the Data ( - ) pin(PS2 data) of the micro USB to pin 3 on the Bluefruit micro
    7. Solder all batteries in PARALLEL to the trinket backpack
    8. Plug the micro USB into the keyboard and double stick tape the electronics

    Battery life and charging

    • Battery life depends on the size of your battery, power consumption of your keyboard, and the power level of your bluetooth
      • I haven't tested my battery life with 6000mah battery nor have I measured the power consumption( multimeter broken :( )
      • I can run a 12 hour work day with stock bluetooth power settings and medium backlight with no problems
    • You can charge the keyboard through the micro USB on the bluefruit.
      • I usually charge mine when I leave work
  • 2
    Step 2

    The Software


    Setup

    1. Download my git repo
      1. https://github.com/djnugent/BLE_WASD
    2. Install the proper drivers
      1. http://www.adafruit.com/datasheets/PJRC CDC serial_install.zip
    3. Download the adafruit Bluefruit library
      1. https://github.com/adafruit/Adafruit_BluefruitLE_nRF51/archive/master.zip
      2. Add to your arduino library
    4. Add Adafruit board support in Arduino IDE
      1. https://learn.adafruit.com/add-boards-arduino-v164


    Update your BLE module

    1. Download the adafruit app
      1. https://learn.adafruit.com/bluefruit-le-connect-for-ios
      2. https://play.google.com/store/apps/details?id=com.adafruit.bluefruit.le.connect&hl=en
    2. Follow this procedure
      1. https://learn.adafruit.com/bluefruit-le-micro-atmega32u4-microcontroller-usb-bluetooth-le-in-one/dfu-bluefruit-updates
      2. REMEMBER TO GROUND THE DFU PIN


    Upload the Firmware

    1. Open this project in the Arduino IDE
    2. Select Bluefruit Micro as your board
    3. Select the proper serial port
    4. Click upload


    Configure and connect

    1. Hit shift + ctrl + esc on your MODIFIED keyboard
      1. This will reconfigure your bluetooth module for keyboard use
      2. Bluetooth is now named "BLE_WASD"
      3. Do this again if your keyboard ever stops working randomly
    2. Connect your keyboard to your computer or phone
      1. I have only had luck with Windows 10(it was able to solve the funky driver errors from the adafruit bluefruit module)
      2. Windows 7 was a no go
      3. Windows 8 is untested
      4. Android only works upon first pairing
      5. Apple products untested

    Hacking

    • This code will work with any arduino and bluefruit module, you just need to change the pinouts and stuff.
      • https://learn.adafruit.com/introducing-the-adafruit-bluefruit-spi-breakout
      • https://learn.adafruit.com/introducing-the-adafruit-bluefruit-le-uart-friend
    • This code supports 100% of the PS2 receiving protocol(one way communication) and has some extra features for a WASD keyboard(media keys)
    • Use the `special_functions( )` function to do custom things with your keyboard. Like make a T9 number pad.
    • You can change the power output of the Bluetooth module to increase range or save battery

View all instructions

Enjoy this project?

Share

Discussions

Log In/Sign up to comment

Become a Hackaday.io Member

Create an account to leave a comment. Already have an account? Log In.

Sign up with Github
Sign up with Twitter
OR
deltapoot wrote 02/23/2019 at 22:21 • point

Been searching for a while and would like some advice on how I would be able to use the Bluefruit with a USB Micro keyboard instead of PS2. Any advice on how I could reprogram this to utilize a USB micro connection instead of the PS2 connection to the Bluefruit? 

Thank you

  Are you sure? yes | no

[deleted]

[this comment has been deleted]

Matthieu Tourne wrote 02/23/2016 at 04:22 • point

I tried, and yes it will work with the adafruit feather ble .. in theory. I tried with two keyboards one, doesn't like the 3.3v output from the board.

  Are you sure? yes | no

IT-Wizard wrote 09/14/2015 at 20:02 • point

Great, I like it. May I suggest adding "Capacitive Sensing" option ? 

I really like the idea that the keyboard detect when the user is near or away, like send lock screen code, aso.

(http://playground.arduino.cc//Main/CapacitiveSensor?from=Main.CapSense)

  Are you sure? yes | no

Similar Projects

I found a tiny keyboard at Apex Electronics in LA.
Project Owner Contributor

Metal Dome Keyboard

BenchoffBenchoff

I needed a custom keyboard to match an antique radio project I am working on. This was the result.
Project Owner Contributor

Customized wireless mechanical keyboard

andrewandrew

Laptop keyboard extracted and used as an external keyboard. custom mapping. reprogrammable. its gymnastics.
Project Owner Contributor

QMK Powered Laptop Keyboard

gordongordon

Ever wanted your watch to act like a ble keyboard?? Me neither, but when found a contest for "Peculiar Peripherals"....
Project Owner Contributor

Hackable Smartwatch as BLE Keyboard.

Your Friend ZeroYour Friend Zero

Does this project spark your interest?

Become a member to follow this project and never miss any updates

Going up?

About Us Contact Hackaday.io Give Feedback Terms of Use Privacy Policy Hackaday API

© 2022 Hackaday

Yes, delete it Cancel

Report project as inappropriate

You are about to report the project "BLE WASD(Mechanical Wireless Keyboard)", please tell us the reason.

Send message

Your application has been submitted.

Remove Member

Are you sure you want to remove yourself as a member for this project?

Project owner will be notified upon removal.