August 5, 2024
Description
This is a 68 key membrane keyboard, in the style of a “65% keyboard”. It has Bluetooth capability and can be paired with most devices.
Update 8/5/24: Added models for a larger keyboard with 17mm (as opposed to 15mm) key spacing. These files are untested. They require a print area at least 275mm in either the X or Y direction.
Update 8/4/24: Added a variant of the Arduino source that includes key repeat. Added Home, End, tilde and accent grave as keys used with function key (new overlay).
Nothing special here. I printed all the pieces in PLA without any supports. I don't know the effect of printing this in other materials. PLA is reasonably flexible enough to allow for depression of the keys. The sticker paper tends to offer more resistance than the plastic springs.
The top layer is pretty straightforward. Just lay down horizontal strips, leaving a bit extra on each end. Fold over these extra bits to make a tab. Smooth down the strips as much as possible. Folds and wrinkles might caused phantom key presses. I “burnished” them with the back of my thumbnail.
The base layer is considerably more difficult. To get the paths right (or close enough) you'll have to bend and fold the strips of foil and/or lay down overlapping strips. It's important to check conductivity since the adhesive can sometimes act as an insulator. Scratching the overlaps with a knife can help that. If all else fails, a thin layer of solder will connect the pieces. If you apply the solder quickly and sparingly, the plastic won't have a chance to melt. Make sure you leave enough extra foil at the open side of the base (the side shown at the bottom of the following image) and wrap it around to the underside of the base.
Snap the top onto the base (the clips are staggered so that they will only connect in one orientation). Now would be a good time to check each of the key locations for conductivity and lack of shorts. Not all row/column combinations will represent a key location, but the following image should help indicate where the intersections should be. Note that the 13th column intersects only the top 2 rows, for example.
Once you're confident about the conductivity, print off the overlay onto adhesive paper of vinyl, and apply it to the top of the keyboard, orienting it so that the spacebar lines up with the widest key.
There are three overlay images: One is blank in case you want to customize the graphics; one has the basic functionality; one has a few extra “function” keys labeled (Home, End, tilde, accent grave).
Using some double-sided foam tape, attach the Bluefruit microcontroller to the underside of the keyboard at about the location of the Enter and PgUp keys, with the USB port toward the edge of the board. The following diagram shows how the pins of the microcontroller will connect to the board.
I used 28AWG wire for hooking it up. This has two advantages: it doesn't take up much space, and it doesn't require much heat to solder, so there's less likelihood of melting the plastic.
Use some double-sided tape to attach the LiPo battery, and hook it up to the microcontroller.
Set the keyboard into the case and attach the bezel.
The microcontroller is programmed using the Arduino IDE. Instructions on how to set that up are available here. Once that's set up, you can use the kbd65.ino file to program it. There's also kbd65_rtp.ino, which has an added key repeat feature.
After that, you'll need to pair it with a device that accepts Bluetooth keyboards. It should just work.
License:
Creative Commons — Attribution
8