This is a (mostly) 3D-printed wireless keyboard. Total size, when assembled, is about 130×83×16mm, and it weighs about 75g. I made this as a test of my Membrane Keypad design.
Everything can be printed in PLA (I didn't try PETG but it might work). The enclosure needs a bit of support on the top of the rear opening.
Note: There are 3 different top layers with slightly different key travel values. The lower the value, the more sensitive to touch the keys will be. It's a trade-off: too sensitive and you may get phantom keystrokes; not sensitive enough and you'll have to press hard to activate the key.
Lay strips of copper foil tape on the two keypad pieces: 10 strips vertically on the underside of the top and 6 strips horizontally on the base. Try to keep the foil as flat as possible and leave a bit of overhang on each.
Snap the two halves together, sandwiching the copper foil between them.
Use double-sided tape to stick the battery and Feather onto the underside of the keypad, positioning the USB port of the Feather near the middle of one long edge. This will be the top edge of your keyboard.
Connect the six row tapes to the through-holes marked A0-A5, top to bottom.
Connect the ten column tapes to the through-holes marked 0,1,2,3,5,6,9,10,11,12 (left to right when the keypad is face down).
You can solder wires directly to the foil but take care not to melt the plastic.
Print out keyboard-overlay.pdf onto a sticker sheet, trim and attach to the top surface of the keypad. The USB port should be in the middle of the top of the keyboard.
Place the keyboard assembly into the enclosure.
Slip the bezel over the top.
The Adafruit Feather 32u4 Bluefruit LE is a bit finicky to program. Follow the setup and IDE instructions here to get the Arduino IDE to recognize the Feather.
Once that's done, you can create an Arduio sketch and drop the code from wirelesskeyboard.ino into it.
Line 68 specifies the name the keyboard shows up as. It's currently “SD Keyboard” but you can change that to whatever you want.
Lines 16-28 specify the row, column and key mappings. You can always rearrange those to suit your needs.
Line 11 specifies serial debugging. Set that to true if you're having trouble, and view the output in the Arduino IDE serial monitor window.
I managed to pair this keyboard with a Windows laptop, a Sony smart TV and a Pixel 7A phone. You can only pair it with one device at a time, though, so unpair first before pairing to another.
The author marked this model as their own original creation.