posts tagged with the keyword ‘keyboard’


Big Keyboard

If you happened to see a post titled 8 Crazy Keyboards That Will Trick Out Your Typing over on the Make Blog, you may have seen the big keyboard I worked on last year.

It was for a graphic design station we built for “Word Headquarters” at the Betty Brinn Children’s Museum. (I did this project as a contractor, before I worked at the Exhibits Shop.) Here’s a bunch of images that show the building of the keyboard.

Concept #1

This is the concept Mike came up with, which was to use lots of different sized pieces of wood, CNC’d to look like letterpress type (though obviously not reversed, as they would be unreadable.) This was definitely a fun design, but things always change along the development path…



While Mike was working on a design, I mocked up a drawing showing the spacing I thought would work using arcade buttons and how close together we could get them. This helped determine the overall size of the keyboard. Things could obviously get more spaced out, but this was the tightest we could go.

Teensy++ 2.0

I’ve built plenty of keyboards over the years using Teensy development boards so there wasn’t too much new happening on that front. Still, it’s always good to breadboard things up for testing.

Concept #2

We ended up going with a simpler and cleaner key layout than the original concept. As you’ll see later, we added variations elsewhere in the piece.

Teensy++ 2.0

Did I mention the keyboard would have 46 keys? Well, 46 is the number of digital inputs you can get on a Teensy++ 2.0 board. That’s every single input. (And yes, there was an issue using pin 6 which eventually got solved.)


Here’s a big piece of HDPE that’s been milled out for all of the buttons. Yes, that’s a lot of buttons! (There are 47 buttons because we used two for the spacebar.)


Here’s the back of the big piece of HDPE. That’s a lot of wires! We used slip-on connectors rather than soldering wires to the buttons (for ease of maintenance) and the other ends of the wires all go to screw terminals.

Teensy++ 2.0

All wires run to screw terminals on an Adafruit Perma-Proto board. It’s not the cleanest thing, but the deadline was tight on this, and the impending launch date meant we had to get it all done and working, even if it wasn’t the prettiest under the hood. (And yes, this is mid-wiring… not everything is connected yet!)


More wiring, more wiring, labels for everything… And testing as we go.

More Wires!

Here’s the piece of Alupanel attached to the top of the HDPE. It also serves to hold the wood keys in place. Each key has a lip at the bottom to hold it captive and is held up by the spring in the arcade button. (At some point I did weight tests to determine a safe weight for each key so that it wouldn’t press down on the button too much.)

Wood Keys

Since we went with a uniform size for the keys, we added some variety in the choice of woods used. You may notice there is no return key. We eventually replaced the exclamation point with a return key. (We honestly didn’t think we’d need one due to the way the application allowed the use of text, but like all exhibits you put on the museum floor, things change over time as you learn how they are used.)

Wood Keys

I think the nice, clean, readable type turned out great. I’d still like to see the really varied version that was the first concept some day, but this works for now!

Wood Keys

There’s about 650 lines of code running on the Teensy, including code for handling the shift key with every key, so even though you don’t see the exclamation point anymore, you can get one by holding down shift and typing the number “1″ key. With the letters you get lower case and upper case, and with the numbers and other non-alpha keys you get whatever would normally show up with the shift key on a standard US keyboard.

In the end, this was an awesome project to be involved in. Thanks to Kathy, Mike, Sam, and Dom for contributing to the entire thing.


QWERTY Keyboard Rendering

I’ve always been fascinated by typewriters. I find them to be curious machines, and their history is no less interesting. (Go on, take a look!) Of course I’m also fascinated by digital technology, and how it empowers people to creating things. Above is a rendering of a QWERTY keyboard, and below is an actual QWERTY keyboard I created using digital fabrication and a tiny computer called a microcontroller functioning as the “brain”.

QWERTY Keyboard

The keyboard is fully-functional. Plug it into the USB port of your laptop or desktop computer and you can start typing. Of course you can only type the letters Q, W, E, R, T and Y… but it does work. Like all of the things we use, it has limitations. Like all of our technology, it doesn’t do quite all of what we’d like it to do.

QWERTY Keyboard

The QWERTY Keyboard is made from wood. (Just like the early prototype of the Sholes, Glidden & Soule typewriter seen below.) My father was good at working with wood, and his father before him was probably even better at it. I am not that good at working with wood, but I am good at creating things digitally. There is perhaps an inverse skill scale at work here. Are we losing the ability to craft real-world objects in exchange for creating digital objects? Maybe digital fabrication is the answer, bridging the gap between the two.

Sholes, Glidden & Soule typewriter

The Sholes, Glidden & Soule typewriter is a weird looking device, as is my QWERTY keyboard. I think there’s a place in the world for both of them, and perhaps a place where the two can meet.

QWERTY Keyboard

For more information on this piece, visit the QWERTY Keyboard project page. There are more thoughts and more photos, and as always, I welcome your comments.


Teensy 2.0
Teensy is teensy

For the past few years I’ve been building devices that can emulate computer keyboards. Typically I’ve used the Teensy microcontrollers for this along with the Arduino IDE and the Teensyduino add-on. The things you can do with a Teensy to emulate a keyboard are very impressive! Basically, it’s the best way I know of to create your own custom USB keyboard.

Size matters – A-Star with Arduino Micro and Leonardo

When the Arduino Leonardo was introduced, one of the features I was interested in was the ability to emulate a USB keyboard. I never actually got a Leonardo to test this with, mainly because the form factor was too large for my projects. Sometimes shield compatibility is good, sometimes the smallest board wins.

Size matters!

I recently got a Pololu A-Star 32U4 Micro, which is a tiny (and cheap, under $13USD) board very similar to a Leonardo, once again using the Atmel ATmega32U4.

There may be a little bit of work involved in getting the A-Star up and running. There are drivers needed if using Windows, and (supposedly) a little more work to get things going with Linux. I had no issues with Mac OS X, but I’m pretty familiar with add-ons for the Arduino IDE due to using Teensyduino. You can also just pretend this is an Arduino Leonardo and that seems to work fine.

(I also can’t tell if the Pololu A-Star 32U4 Micro is open source hardware. They do have a bunch of files available, but I did not see an explicit “Open Hardware” note anywhere. It’s worth mentioning that the Teensy is not open source hardware. If that’s not a big deal to you, then it’s not a big deal to you. The official Arduino hardware is of course, open source.)

I’ll probably keep experimenting with the Pololu A-Star as a keyboard emulator for simple things, and stick with the Teensy for more complex things. I’ve also heard that the Teensy 2.0 will disappear in the future, which isn’t a huge deal, as the Teensy 3.1 is a big improvement over it, but the 3.1 does cost a bit more than the 2.0, so that’s one factor to consider when evaluating which board to use.

Have fun building your own keyboard!

Update #1: I’ve been talking to Pololu and they suggested the A-Star may actually be able to use the Teensyduino Keyboard libraries. I’m awaiting more info on this, as it would be an exciting development.

Update #2: It looks like the Teensyduino Keyboard libraries cannot be installed onto the A-Star, which is good to know. But don’t worry, I’ll be using the A-Star for some future projects anyway. ;)


buy the button:

Buy The Button