Table of Contents

FeatherChorder

As of late January 2016 I have been using an Adafruit Feather as the board powering the chorder I wear. https://learn.adafruit.com/adafruit-feather-32u4-bluefruit-le/dfu-bluefruit-updates)). The code was reworked for the feather with Charles Chen and is available on GitHub. (link below) There were some issues with it when reconnecting to an Android device to which it already had been paired, these issues are now fixed. There were some code issues that have been corrected and it is important NOT to use the latest firmware for the nRF51822 chipset! Advancing beyond 0.7.7 seems to introduce an issue when reattaching to the host device (phone, computer, tablet, etc). Using the 0.7.7 firmware the device will automatically connect with it's host device and be a functional keyboard. Going beyond that and you need to regularly forget the device and redo pairing. I am going to continue to look into this, but the keyboard is stable and solid with firmware 0.7.7. Definately up to being your primary keyboard.

Here is the FeatherChorder, a BLE (Bluetooth Low Energy) Chorder using the Adafruit Feather 32u4 Bluefruit LE

Please note, the connection to pin 5 is no longer needed. It was there to allow for a chord to trigger a hardware reset. This was a carry over from the pre-arduino days. The software reset on the arduinos and feathers has proven to be robust enough not to require this, so rather than the SPDT shown above connecting EN, pin 5, and GND, only SPST connecting EN to GND is now needed.

The advantage of using this board is that it has both the LiPo charger and the BLE transceiver built in, reducing the board count for the chorder from three to one. All that is required is to attach the keys and an on/off switch, plug in the battery, and then program it over a standard micro usb cable.

Code

Github page for the project: https://github.com/clc/chorder

Or, if you just want the zip archive of the latest build from gitub:

Download the Latest BTE Build

Thanks to Charles Chen for his work on this version!

For the USB version of the Featherchorder, use the above code, but replace FeatherChorder.ino with FeatherChorder_TinyUSB.ino below. The tinyusb version has been tested on the adafruit KB2040 (not a feather) and the adafruit ESP32-S3 feathers1)

Download the Latest USB Build 2025-03-26

Thanks to Zach Lash for his work on this version!

For a USB chorder you don't need the on/off switch unless you will have the keyboard connected at times you want to suppress chords from being sent.2)

Parts

  1. an adafruit feather 32u4 bluefruit for BLE or an adafruit KB2040 for a USB chorder.
  2. 7 keyswitches; I suggest Cherry Red MX switches3)
  3. BLE only: a small SPDT switch
  4. BLE only: a LiPo battery with 2-pin JST-PH connector; I like 350mA, 500mA is probably overkill.
  5. something to hold your keys, see other sections of this site for case ideas. It will work with the 3D Printer Files for Chorders.

The Chords

Once you grab a copy of the code you can find all the chords in the ChordMappings.h file. Change them as you see fit. They are the same as the chords I use on the spiffchorder plus one set of changes - I have added a bunch of android specific chords. Media events, Volume control and the like. I will add a chart here in the not too distant future. In the mean time, the ChordMappings.h file has them.

1)
Note, the ESP32-S2(s) will do not have native USB so the code will not work as is. You need an -S3 board.
2)
When I wore a directly wired and then USB based chorder on my hand (1996-2012) having an off switch was important so I could suppress keypresses that would happen when putting on a jacket or doing non input hand tasks.
3)
I still put in lighter springs, but the reds are the best switch with which to start.
featherchorder.txt · Last modified: 2025/03/26 11:41 by priestdo
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0