Tuesday, July 8, 2014

Custom Key Caps AND Switches

I think we've finally cracked the toughest nut in the mechanical design of the Stenosaurus - how the custom aluminum key caps mate to off-the-shelf key switches. Here's the first working prototype of the solution:

As you can see, we're no longer using Cherry MX key switches, which are difficult to make custom key caps for due to the cross-shaped mounting post. Instead, we're using the Matias ALPS-style key switches, which are relatively easy to make custom key caps for thanks to the rectangular mounting post. We hadn't considered Matias switches in our original deliberations because Matias only offered tactile click switches, which are both noisy (even the quiet-click variety) and cause finger fatigue.

We wanted both quiet and linear (non-click) for the Stenosaurus. Happily, after speaking directly with some friendly folks at Matias, they have agreed to create an entirely new type of switch to fit exactly those constraints. They know Stenosaurus is small relative to their usual projects, but they want to be as supportive as they can. Stenosaurus will be the first-ever product to use this new switch. We'll have to wait a bit for the switch to be designed and manufactured, and we'll need to put in a hefty initial order to make it worth Matias' time, but I think the end result will be worth it.

This is a big win for the Stenosaurus: a high quality keyboard switch that keeps the manufacturing costs down.

Finally, note that the Matias switch has a transparent body casing. This was done to allow for easy underlighting of the keys. Who wants to show off their sweet ride. I might have to add some LEDs, or electroluminescent wire, or neon tubing, or...

Tuesday, June 3, 2014

Second Prototype!

Kurt and I finally found some time to put together a second keyboard prototype based on the first of the revised layouts detailed in the previous post. This is a prototype of the keys and their layout only, not of the case in which the keys will sit.

The keys of the second prototype sitting in fixture used for their manufacture.
Again, only the keys are shown here, not the case.

The underside of a key cap, showing the post that mates with the key switch.
The jig with the clamps is used to set the position of the plastic mount posts relative to the aluminum pads while the adhesive binding the two cures. The key caps in the foreground are the finished product.
The key caps shown here are essentially the same style as those used in the first prototype. The big difference here is that the key caps of the first prototype were created using a time-intensive manual process, whereas the key caps shown here were produced using a more refined and scalable manufacturing process. The process is still time- and material-intensive, which would keep the overall price high, but it's a process we could actually use if we absolutely had to. That said, we're already well underway with a third keycap prototype that promises to be significantly better in every way, from cost and ease of manufacture to durability and alignment precision. We'll share those results as soon as we have them!

In the meantime, check out how easy it is to customize the keyboard simple by putting on keycaps of different widths:

wide center and far right columns

wide center column

columns of equal width

Sunday, February 16, 2014

Revised Keyboard Layout(s)

Revised keyboard layout with separate number keys.

Revised keyboard layout with unified number keys.

Based on the feedback we received from the previous post and some subsequent research, Kurt whipped up these revisions to the keyboard layout. Though dimensionless, I believe the narrow spacing between keys is 0.070" and the wide spacing between keys is 0.225", both as before. The main differences in this layout are the location and spacing of the bottom row of keys and the spacing of the asterisk keys. We don't know yet if we're going with the unified or separate number keys, but it's nice to have layouts for both to consider. The white overlays in the asterisk and rightmost columns are the positions of they key caps if the wide key caps were swapped for normal-width key caps. The underlying key switches for those columns share the same spacing as key switches in other columns.

As always, we appreciate your feedback.

Friday, February 7, 2014

Keyboard Design

The details of the Stenosaurus are taking shape. Above is a recent iteration of the keyboard layout. All dimensions are in inches. The blocks outlined in green are the shapes of the key caps - the part of the key with which your fingers directly interact. The key caps sit on top of and are connected securely to key switches - the part of the key that depresses, registers a key press, and passes the key press on to the microprocessor that runs the whole show.

The layout pictured above is not the finalized design, but it's getting closer. The major changes from the layout we started with are:
  • Rounded top corners for the top row of key caps.
  • Wide center column keys to accommodate using those key caps with either hand.
  • Wide rightmost column key caps to accommodate simultaneously depressing the two rightmost columns. Those wide key caps have offset attachment points to the underlying key switches, so those key caps can be replaced with regular key caps and the spacing will be correct.
  • The overall width and spacing of keys has been expanded in an attempt to find a sweet spot that accommodates the largest array of hand sizes.
In order to reduce cost and complexity, we decided early on to use the same Cherry brand MX line of key switches found in many computer keyboards. This type of switch has a different look and feel and is typically less adjustable than the lever-style keys found on many stenographs.

The downside of using Cherry MX key switches is the difficulty in finding key caps of the right size and shape. Most key caps for the Cherry MX key switches are slanted, curved, tapered, and have a roughly square footprint. We did find one level, flat, and untapered key cap, but it only comes in one square shape.

The two options we considered were:

  1.  Create our own injection molds for key caps of exactly the size and shape we want. We would need a different mold for each of the distinct types of keys. In the layout pictured above, there are nine distinct types of keys (despite appearances, the wide keys on the rightmost column are different than the wide keys in the center column). At $3,500 a pop, that would mean $31,500 just for the molds, before a single key cap has been produced. We came up with an alternative keyboard layout that required only one or two new injection molds, but even a single mold is expensive and the unit cost for producing the key caps from the mold would be high due to low volume. Furthermore, we thought the alternative layout was functionally and aesthetically inferior.
  2. Fabricate our own key caps without using injection molding. With the right tools (e.g. waterjet cutter or CNC mill) fabricating the key caps is quite easy except for the post that attaches the key cap to the key switch. The key cap post must conform to high tolerances in order to mate with the key switch properly. We quickly ruled out the possibility of machining our own posts. The solution we're currently running with is to cut out the posts from commodity injection molded key caps and then precisely aligning and adhering them to aluminum plates of the right shape and size. We're in the process of creating a jig to test this.
 So, now that you've seen the layout, what do you think? Do the key spacings seem like they will be comfortable? How do they compare to other machines you've used? If you have a stenotype machine, we'd appreciate you posting the dimensions and layout of its keys. Now is the time to give feedback on the layout! Thanks in advance.

Also, if you haven't already, please sign up for the Stenosaurus announcement mailing list.

Sunday, December 22, 2013

The bootloader

This week we reached a milestone by finishing the bootloader for the Stenosaurus. Well, maybe not finished but it's working. I hear you say, "That's great! But what's a bootloader? Why do we need one? Why should I care?"

Well, since you asked, I'll tell you. But I have to back up a bit.

Inside the Stenosaurus is a microcontroller, essentially a computer. This has a flash memory that stores the program that makes the Stenosaurus do what it does. As soon as you power on the Stenosaurus the microcontroller starts reading its flash memory from address zero and starts running the program. It goes something like this: read the next instruction, run it, read the next instruction, run it, repeat.

In order to get a program onto the microcontroller in the first place I use a device called a programmer. My computer connects to the programmer and the programmer connects to the microcontroller. Using this I can write the program onto the chip. But that's a hassle, in part, because you, the user, won't have a programmer. Also, we can make this easier.

It turns out that the microcontroller can also write to its own flash. This means that we can write a program that will run on the microcontroller and program itself. But remember what I mentioned above: the microcontroller fetches instructions and runs them one by one. If we overwrite the program while it is running then things will break badly.

One thing we could do is copy the program into RAM and run it from there while we write to the flash. But if there were some problem, like accidentally unplugging the Stenosaurus while uploading, then the flash wouldn't have a valid program and we'd be left with a Stenosaurus-shaped paper weight.

To fix that we make a bootloader. This is a program that sits at the beginning of the flash. When the microcontroller starts up it makes sure there is a valid program and then runs it. Normally, it will immediately run the regular program and the Stenosaurus will be ready to use. But when told to do so the bootloader can be a programmer instead. This lets you connect to the microcontroller and upload a new program. The program is written to a different area in flash so even if something goes wrong the bootloader is still there and we can just try again.

That is, pretty much, the story of the bootloader. I've glossed over some details. Maybe I'll talk about them more in a later post.

Stenosaurus now has a bootloader and a program that puts the Stenosaurus into programmer mode and uploads new programs. This program will be part of the Stenosaurus' companion app and, among other things, the app will let you update the firmware easily, and safely.

Monday, December 16, 2013

Behold the Stenosaurus blog!

Hi Everyone,

Welcome to the Stenosaurus blog.

A lot of work is being done behind the scenes. But we realized it would be more helpful if it wasn't so behind-the-scenes but rather shared with everyone. Hence, this blog.

So, again, welcome and enjoy the show.