Footswitch Bluetooth keyboard

I’m hoping for some input on parts to buy for a project. I’d like to create a Bluetooth keyboard, with the strongest power I can reasonably buy, with about 8 momentary footswitches that can be programmed to be various key presses. It’d be ideal if it could also function as a USB Wired keyboard if plugged in. I’m a little lost on what arduino and related parts to get for this.

If it helps, I have built guitar pedals before, so I’m good on soldering and the kinds of switches. It’s the main component and the Bluetooth bit that I’m lost on.

Thanks for your post!

The main parts I’d use for a project like this are:

  • - [[SparkFun Bluetooth Modem - BlueSMiRF Gold](https://www.sparkfun.com/products/12582)
  • - [[Pro Micro - 5V/16MHz](https://www.sparkfun.com/products/12640)
  • [/list]

    The BlueSMiRF gold is a class 1 Bluetooth module that supports the HID profile (keyboard/mouse) and if your computer has a class 1 Bluetooth receiver in it, you will get better range than standard module. While in HID mode, data sent to the BlueSMiRF is interpreted by a computer as key presses.

    The Pro Micro can emulate a USB keyboard and by writing a bit of software, inputs from foot switches could be converted to key presses.

    Keep in mind that you would need to write some code to get the Pro Micro to behave as a keyboard and additional code to support the BlueSMiRF. Sadly we can’t help you write that code, but Arduino has some [example code to get you started.

    I don’t happen to have any code for using the BlueSMiRF in HID mode, but you should be able to track something down on the internet for that.](Keyboard - Arduino Reference)](https://www.sparkfun.com/products/12640)](https://www.sparkfun.com/products/12582)

    Very nice, thank you very much! This is exactly what I was looking for so I appreciate your reply.

    If the Pro Micro wasn’t able to provide enough connections for the number of footswitches I need, is there any concept of a “breakout board” or daughter board that takes the footswitches, and then that plugs in more cleanly to the main board?

    For the programming, I was reading that I can use Python with the Arduino IDE, so I should be okay there. Thanks again!

    If you only need 8 switches, there’s plenty of I/O pins available for that. (16 total plus two for serial)

    If you were to need more, an I/O expander like [BOB-13601 could be used to gain additional pins.](https://www.sparkfun.com/products/13601)