Sunday, January 18, 2015

Printed Circuit Board Design and Status

PCB layout so far.
The insides of the Stenosaurus consist of a single printed circuit board (PCB). The above image is a top-down view of the current state of the PCB design. The four rows of rectangles with two circles each correspond to the key switches. The protrusion near the center on the top side is the micro USB connector, which is how the Stenosaurus will connect to a computer. The protrusion to the right of the USB is the SD card holder, which will be where the steno dictionary and other settings will be stored. The concentric rectangles below the micro USB connector is the LCD. Everything else is what's needed to make everything work together and mount the PCB to the physical case.

This is a work in progress. The board outline and placement of the main components pointed about above are mostly finalized. The positions of the remainder of the components is still in flux. Most critically, the electrical connections between all the components haven't yet been routed, which is the next and final step before this design can be sent out for manufacturing.

All this is to say that progress is being made toward the first manufactured Stenosaurus! More soon.

Sunday, November 9, 2014

Countdown to Launch

Key Switches

Matias sent me a keyboard with candidates for the final key switch that will be used in the Stenosaurus. I played with it a bit and then sent it to Mirabai. We both independently chose the same candidate, which was convincing enough that I gave Matias the green light to start production. The key switches should be ready in January or before. The switch we ended up going with will have an activation force of approximately 35g, which is one of the lightest activation forces of any mechanical keyboard switch. It may even be the lightest activation force, though I haven't done an extensive survey. As a point of comparison, the lightest activation force for Cherry MX series of key switches is 45g.

Case and Key Cap Manufacturing

Kurt recently purchased a nice 3-axis CNC mill that he'll be using to manufacture at least the first batch of production cases and key caps.

Breaking in Kurt's new CNC mill with a prototype of the Stenosaurus case.

The key caps will be milled out of a solid block of aluminum. This shows the block of aluminum after the top side has been milled. The block will be flipped over so the other side can be milled.
Key caps as they will appear coming out of the mill. The key cap in the foreground is connected to a Matias key switch. The key caps will have a surface finish applied before being sealed.

Printed Circuit Board Design

Inside the case will be the printed circuit board (PCB) onto which will be mounted all the electrical components of the Stenosaurus, from the USB connector and key switches to the microcontroller and LCD screen. I'm using KiCad for all the PCB design work. This is my first time using KiCad and I've been very happy with it so far - it's free and open source like Plover and the Stenosaurus and, fittingly for a stenography project, KiCad puts a strong emphasis on efficient use of the keyboard by providing consistent and memorable keyboard shortcuts across its entire suite of tools.

I finished the schematic capture and I'm now working on the board layout. Once the layout is complete, hopefully by the end of this week, I'll work with a PCB manufacturer to get the first boards back for testing. If all goes well, those boards will become the first full-fledged Stenosauruses. If all is not well, then we rinse and repeat.

To Market We Go

Once the PCB has been validated, we will have everything we need to start taking orders via a Crowd Supply campaign. I would love for that to happen before Thanksgiving, but it's premature to put an exact date on it. Certainly, though, everything is falling into place.

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.