Arduboy as a chorded keyboard for typing

Especially if we are going to get a 7th button, I think this would be relatively useful for wearable computing. Given only six, and counting 0-2 simultaneous d pad presses, that gives 22(4+4+1) positions. (a, b, single d, double d, no d) I suggest a system using the 4/8 positions not involving the d pad for modifiers of some sort, and the 32/64 other possibilities for characters and the like.

A nice mod might be to desolder the buttons and bus them out to a parallel input port. Even with just 6 buttons, its still 2^6 possible values, enough for the english alphabet.

Thanks for the correction @MLXXXp - rushed post :relaxed:

Don’t you mean parallel output port (not serial input port)? Serial would only need 1 signal and you’re talking about 6.

No need to desolder the buttons, when they’re not pressed they’re open and not in the circuit, so leave them in and just don’t press them. If you want protection against shorting your external signal to ground, if the button is accidentally pressed, put a resistor between your signal and the input. (The value of the resistor isn’t critical. Anything from 1K to 20K should be fine).

Anyway, I think @dualweilder is looking for a solution that doesn’t involve modifications and extra bulk.

1 Like

I fixed my post above.

As far as serialized however, you could possibly just use one or a couple of the pins and do it in a serialized fashion, if the read speed is fast enough. 1 pin for Tx ok and another pin for Tx in.

I looked for a mini keypad, like a membrane one. I came up with this:

http://www.lucidtronix.com/tutorials/53

Digikey was sort of a pain to search, there are some 3m membrane pads out there.

Although I think the manual entry method through the d-pad would work pretty well, when you talk about wearable computing there are a couple interesting routes to go. The cyberpunk movement is alive and well!

If @bateske keeps his word, and brings all unused GPIO pins out to pads, and doesn’t end up using Arduino pins 0 and 1 (which are currently unused), then read speed wouldn’t be a problem. Pin 0 is the Rx line of built in USART1. If your keyboard could output standard async serial, keystrokes could be received by the processor’s UART hardware.