tag:blogger.com,1999:blog-36287019400859688432024-03-13T11:24:47.277-07:00Stenosaurusbalshetzerhttp://www.blogger.com/profile/14359746768956868670noreply@blogger.comBlogger14125tag:blogger.com,1999:blog-3628701940085968843.post-39019633090845496462016-04-24T23:00:00.000-07:002016-04-24T23:00:01.510-07:00PCBA Bringup: LCD verified<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLBB2tVIX_zyEf9nffSJL75RpGj2NDYVMwvRWllb-EhwkTgDZYmirDzSyC08wO2yjqD7cbnCGg3OYP5H0V689uXFwaSiAa6nLQCAcn2HDbf4Bvc4Zt1qmQ1ycrZcKiR4RwTJxo_dehC98/s1600/2016-04-24+22.11.00.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLBB2tVIX_zyEf9nffSJL75RpGj2NDYVMwvRWllb-EhwkTgDZYmirDzSyC08wO2yjqD7cbnCGg3OYP5H0V689uXFwaSiAa6nLQCAcn2HDbf4Bvc4Zt1qmQ1ycrZcKiR4RwTJxo_dehC98/s640/2016-04-24+22.11.00.jpg" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
I managed to find some time on the bus ride back from LinuxFest Northwest to get the LCD working. The display will be used for onboard editing of the dictionary when using Stenosaurus in standalone mode - i.e., not using Plover and presenting itself as a normal USB keyboard to the host computer. When using Plover, the display isn't necessary, but might still be useful in some way I haven't thought of yet. Either way, Stenosaurus won't require any special drivers to work.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Next up to test are the microSD card and the USB port.</div>
Joshua Harlan Liftonhttp://www.blogger.com/profile/15758012768952488829noreply@blogger.com2tag:blogger.com,1999:blog-3628701940085968843.post-82494757846888201272016-03-23T00:16:00.000-07:002016-03-23T00:16:08.528-07:00PCBA Bring Up Progress<p>We've had printed circuit board assembly (PCBA) for the Stenosaurus for several months, but I've only recently been able to begin properly testing it. Here are the tests I've run so far:<p/>
<ol>
<li>Apply power. Nothing started smoking or even heating up. Success!</li>
<li>Program the Stenosaurus to monotonously blink its LEDs. This took a horrendously long time, not because the program was difficult to write or because something was broken, but because the development tool chain for actually compiling and then loading the code onto the Stenosaurus took a long time to get right. Nothing was particularly difficult, but I ended up going through four different laptops, at least as many operating systems for those laptops, and a few combinations of various compilers, linkers, debuggers, and programmers. I'm happy to report that I now have a setup that works and is reasonably easy to replicate so that others can also start developing on Stenosaurus. (Of course, there is only one assembled PCB in existence, but that will hopefully change soon.) What's more, the LEDs blink as expected. Success!</li>
<li>Program the Stenosaurus to blink the LEDs anytime a key is pressed. This was relatively straightforward and worked as expected for all keys. Success!</li>
</ol>
<p>In short, everything is going well, though there's a lot more testing yet to do. Next steps include:</p>
<ol>
<li>Test the LCD.</li>
<li>Test USB connectivity.</li>
<li>Test SD card reading and writing.</li>
</ol>
<p>
That's pretty much it for the major subsystems. Once those are tested and check out, we move on to actually programming the Stenosaurus to be a working steno machine that interfaces to Plover via the TX Bolt protocol. This is where Hesky's good work from a few years ago (I can't believe it's been so long) will really shine. If things go well, his code that worked on an early development board will need only a bit of modification to work on the current prototype.<p/>
<p>Of course, even if things go perfectly, I already have a short list of minor improvements I want to make to the board, which will require another production run. This list includes updating the style, positioning, and type of LEDs, moving the JTAG connector so its shroud doesn't interfere with nearby components, and revisiting the need for a JTAG connector in the first place (might use a pogo pin jig instead).</p>
<p>Progress is being made. Stay tuned.<p/>
Cheers,<br />
JoshJoshua Harlan Liftonhttp://www.blogger.com/profile/15758012768952488829noreply@blogger.com0tag:blogger.com,1999:blog-3628701940085968843.post-34053875893512560902016-01-08T15:47:00.002-08:002016-01-08T15:55:51.649-08:00First Mostly Complete UnitNot to let too much time go by since the last post, here are the very first images of Stenosaurus that has all its main components:<br />
<ul>
<li>assembled PCB</li>
<li>key caps </li>
<li>top and bottom enclosure panels</li>
<li>bent side rail</li>
<li>port farm back plate</li>
</ul>
Right away, you'll notice that the key caps and side rail have changed color from clear anodized aluminum to black anodized aluminum. The back plate, which is still clear anodized aluminum, shows the contrast. In the final units, the back plate will be the same color as the key caps and side rail. Most likely, there will be several color options available, including both clear and black.<br />
<br />
There are still some features missing, such as rubber feet and tripod mount, but this is as close as we've yet come to a complete Stenosaurus. I'll be running some tests this weekend and will report back results soon.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwUjYza4SjilsfaTzldniwb20bvizPeUeU-zB4SBLFWidTtXwdJ_Lf-4NDxsKpCPIS63uBaoOIQdTj1hfW4G1WIuXQUXIKX5J2qYcUdpWuKjEkaMqeT2jx3__erbGgI7ePZcCxRcoEVVc/s1600/saurus-2016-01-08-angle.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="414" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwUjYza4SjilsfaTzldniwb20bvizPeUeU-zB4SBLFWidTtXwdJ_Lf-4NDxsKpCPIS63uBaoOIQdTj1hfW4G1WIuXQUXIKX5J2qYcUdpWuKjEkaMqeT2jx3__erbGgI7ePZcCxRcoEVVc/s640/saurus-2016-01-08-angle.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh142tlHyMo6-lkV4Ru4jO5HbbpYyxkwVwO6EpL1b-n5jprvn18cmp2JkPSHjlpKu1j_2ac_aDuGwhkScCfid33bFrAKlT7vCumrixs1dcRvLfpMbGhgIZDvdqNpMLoXa-I3H89jGNz_60/s1600/saurus-2016-01-08-bottom.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh142tlHyMo6-lkV4Ru4jO5HbbpYyxkwVwO6EpL1b-n5jprvn18cmp2JkPSHjlpKu1j_2ac_aDuGwhkScCfid33bFrAKlT7vCumrixs1dcRvLfpMbGhgIZDvdqNpMLoXa-I3H89jGNz_60/s640/saurus-2016-01-08-bottom.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgA47O3gy2UccMpS0T711wikgSPbtrp8NuwhyN6lHQwaU9rLdjSvPqMyfPS7-UlrUNQWvWZR5bomOpSIonHputCuDxA8ylxk3KJzqH0Fqe7t-bU8jtU80qvl4rPu8qHMCjrTtW-zxftZqU/s1600/saurus-2016-01-08-top.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgA47O3gy2UccMpS0T711wikgSPbtrp8NuwhyN6lHQwaU9rLdjSvPqMyfPS7-UlrUNQWvWZR5bomOpSIonHputCuDxA8ylxk3KJzqH0Fqe7t-bU8jtU80qvl4rPu8qHMCjrTtW-zxftZqU/s640/saurus-2016-01-08-top.jpg" width="640" /></a></div>
<br />Joshua Harlan Liftonhttp://www.blogger.com/profile/15758012768952488829noreply@blogger.com0tag:blogger.com,1999:blog-3628701940085968843.post-72995585806789295912016-01-08T06:25:00.002-08:002016-01-08T06:25:25.732-08:00The Enclosure Takes ShapeThe enclosure Kurt designed is composed of four main pieces: a top panel of milled bamboo, a bottom panel of milled bamboo, and bent piece of aluminum that serves as most of the siding, and a straight piece of aluminum siding in the back that accommodates the micro USB connector and the microSD card slot. Below are shots Kurt took of an assembly of those first three components.<br />
<br />
The wood has been stained and the aluminum has been bead blasted and clear anodized. The inner face of the bottom panel has recesses at the location of each key switch so that the switch pins that protrude slightly through the PCB won't interfere with the PCB sitting flush with the bottom of the enclosure. The circular hole in the center of the bottom panel will house a threaded insert for mounting to standard tripods.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijcv49DU1N8vEhoSSERl4renkQpyjVavfuk9Y_g2oJROYF-lJRZL9sU1EPZ3nkoaf3VEQIwprqBOqwLiJn8uk_3gZh3dgJp0Uw-Ye0zPjcRWtSt1GLPygPi6iIcKRtqVJmlU2O0ghl9Lw/s1600/Saurus+2+proto+1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijcv49DU1N8vEhoSSERl4renkQpyjVavfuk9Y_g2oJROYF-lJRZL9sU1EPZ3nkoaf3VEQIwprqBOqwLiJn8uk_3gZh3dgJp0Uw-Ye0zPjcRWtSt1GLPygPi6iIcKRtqVJmlU2O0ghl9Lw/s640/Saurus+2+proto+1.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBdA7h19h3Gr8th7JFeuIO7LUen6viUz32JHqlO0qB_qkmD07EtuJNWIjvvkjfTKzEIQK9GDUm-SI3GtIwlS_jbk_yQSB1ORc211mUCAHU95WDhLUuWIFpw20csuoFIHRzyylYxUR63DM/s1600/Saurus+2+proto+2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="410" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBdA7h19h3Gr8th7JFeuIO7LUen6viUz32JHqlO0qB_qkmD07EtuJNWIjvvkjfTKzEIQK9GDUm-SI3GtIwlS_jbk_yQSB1ORc211mUCAHU95WDhLUuWIFpw20csuoFIHRzyylYxUR63DM/s640/Saurus+2+proto+2.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh01Hi2G5eXBjz3IhIVWXkHUfMykZK4r0hyphenhyphenNwB-mTHND247XsO02yMwFueJhWm9AMc5Irru7PDvWcYouzv5lnI06VwE67LplrvmsgtUi4sPQ_h0mAMFE-UOg3ufwqrr9SDrTpJw95Eeml0/s1600/Saurus+2+proto+3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh01Hi2G5eXBjz3IhIVWXkHUfMykZK4r0hyphenhyphenNwB-mTHND247XsO02yMwFueJhWm9AMc5Irru7PDvWcYouzv5lnI06VwE67LplrvmsgtUi4sPQ_h0mAMFE-UOg3ufwqrr9SDrTpJw95Eeml0/s640/Saurus+2+proto+3.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkgGJs9VR7zHWaz5Bso_8nesuaKXkKdWmSve-tBbMh8F5SlCMYUw2Jj_ZHTZyxbvJhkXZarR8JJdZliZD_j4A79QiP5mqeGWTEzqESCcVRkgVwfYhbcak32EyWNAKWI6cqjRc0-EfFxcg/s1600/Saurus+2+proto+4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkgGJs9VR7zHWaz5Bso_8nesuaKXkKdWmSve-tBbMh8F5SlCMYUw2Jj_ZHTZyxbvJhkXZarR8JJdZliZD_j4A79QiP5mqeGWTEzqESCcVRkgVwfYhbcak32EyWNAKWI6cqjRc0-EfFxcg/s640/Saurus+2+proto+4.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxLJHIpqBGX9Tk2MN4D70wHabStA81C3wJchcP41EPgole2FRtSBvSnVJ38sNMvD2D7V99CCXe7A5ZjBWBrNpoczmMTfOH8gBmx36LzATQnrWApnrPEqgxiL-acPZGJrAGWtR2eFb_2_8/s1600/Saurus+2+proto+5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="350" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxLJHIpqBGX9Tk2MN4D70wHabStA81C3wJchcP41EPgole2FRtSBvSnVJ38sNMvD2D7V99CCXe7A5ZjBWBrNpoczmMTfOH8gBmx36LzATQnrWApnrPEqgxiL-acPZGJrAGWtR2eFb_2_8/s640/Saurus+2+proto+5.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhANJHjhEMS4N5_ry5oAb0wOOew3hT-75DYjxf8QaGDeamS6jI1iVRaN2ATpqndvMUDuZbNURaUBnM_3vCFWCWSWpfz_9TDXDxPeLufN-jXIF9cwupKGQwi3c2glAX7I-HxypVAJrTI06Q/s1600/Saurus+2+proto+6.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="348" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhANJHjhEMS4N5_ry5oAb0wOOew3hT-75DYjxf8QaGDeamS6jI1iVRaN2ATpqndvMUDuZbNURaUBnM_3vCFWCWSWpfz_9TDXDxPeLufN-jXIF9cwupKGQwi3c2glAX7I-HxypVAJrTI06Q/s640/Saurus+2+proto+6.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj18g-vU5lhpYEszd3KBI7Cw-wSlkJGxN759ry_MIMh-6BfkdjN1pL4QRB6rKmwEAepEl0opRpaGSgV1N1EhrDg0rejSFtMIrOplG9z85AlSERS7Bei35AZ5rXWIOJsit__0PaMCY136Rs/s1600/Saurus+2+proto+7.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj18g-vU5lhpYEszd3KBI7Cw-wSlkJGxN759ry_MIMh-6BfkdjN1pL4QRB6rKmwEAepEl0opRpaGSgV1N1EhrDg0rejSFtMIrOplG9z85AlSERS7Bei35AZ5rXWIOJsit__0PaMCY136Rs/s640/Saurus+2+proto+7.jpg" width="640" /></a></div>
<br />Joshua Harlan Liftonhttp://www.blogger.com/profile/15758012768952488829noreply@blogger.com0tag:blogger.com,1999:blog-3628701940085968843.post-44936344993416367742015-12-16T00:14:00.002-08:002015-12-16T00:14:42.687-08:00Some Process ShotsHere are some images of some material and process tests Kurt has been doing on the case and key caps, as well as some shots of the first prototype of the internals.<br />
<div class="separator" style="clear: both; text-align: center;">
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihi-UWoDI0mSRtafOmEaj0fdk-0dvw5rnc7zqyWQ0KwgWBwcliPycC5oX3M_ZqP7HKUPqgZA8MbBsQuMAM7xEVWJgmVwRH8WXmOoYdyiLC-Bb1fm5zil0weX6CLXQWIe4_-tBpJFxBA00/s1600/IMG_9198.JPG" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihi-UWoDI0mSRtafOmEaj0fdk-0dvw5rnc7zqyWQ0KwgWBwcliPycC5oX3M_ZqP7HKUPqgZA8MbBsQuMAM7xEVWJgmVwRH8WXmOoYdyiLC-Bb1fm5zil0weX6CLXQWIe4_-tBpJFxBA00/s640/IMG_9198.JPG" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Test from a seven-ply bamboo sheet. This is a candidate for the final material.</td></tr>
</tbody></table>
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimUZzm3Bu_ICo6DAqTOsFxnqVFMAPYMdzTlcoUEIANVqbsDR1sw4GizSdYJFBrdChM4Gh851xwo8T3rbcSBqK-Wl8A86cFpmVpcQNna0A8vAC7lmE-nli0wfdm5kY-YcoLia-8oNLI56o/s1600/FullSizeRender%25281%2529.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="458" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimUZzm3Bu_ICo6DAqTOsFxnqVFMAPYMdzTlcoUEIANVqbsDR1sw4GizSdYJFBrdChM4Gh851xwo8T3rbcSBqK-Wl8A86cFpmVpcQNna0A8vAC7lmE-nli0wfdm5kY-YcoLia-8oNLI56o/s640/FullSizeRender%25281%2529.jpg" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Test made of MDF, which is <b>not</b> a candidate for the final material.</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfCFOmq2wROaAXQOykoM3OQx5VUGLQ5Acb5X2ZY_1S37mJbj8NkqIc9wKHRwu6lb2O11jjDE1B-OzFTEnY0JwWb6hDLTdkgful5aLFoTF9uDXtwjNT79SiYO-wBSEn4hA3v58k8XtAW2o/s1600/saurus+keyset.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="425" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfCFOmq2wROaAXQOykoM3OQx5VUGLQ5Acb5X2ZY_1S37mJbj8NkqIc9wKHRwu6lb2O11jjDE1B-OzFTEnY0JwWb6hDLTdkgful5aLFoTF9uDXtwjNT79SiYO-wBSEn4hA3v58k8XtAW2o/s640/saurus+keyset.JPG" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">A fully populated prototype of the printed circuit board, along with some test key caps.</td></tr>
</tbody></table>
<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4gZ6nzNhofy_wHXo7RyrLVMz-Khu4jlYfs524pLOSIArygpcpMcX4GoqQow8u_j1sW_qWQgovqTFIuR9Oc6tYrEnX25P6Me3BtZeAYpxMn2tF5FrcRKZeyYfbGCs1BpXas4q3DxhLZ2Y/s1600/IMG_8926.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4gZ6nzNhofy_wHXo7RyrLVMz-Khu4jlYfs524pLOSIArygpcpMcX4GoqQow8u_j1sW_qWQgovqTFIuR9Oc6tYrEnX25P6Me3BtZeAYpxMn2tF5FrcRKZeyYfbGCs1BpXas4q3DxhLZ2Y/s640/IMG_8926.JPG" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">A midway point in one of the processes Kurt tested for milling the key caps out of a block of aluminum.</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrfEnpU0bDsTnVcwgu-FLwj8gw3W__52usBjop5Om9EYhgoohsUZmM3oXgtsTqvSjwIPJG5A1TinHsxl7anbcSXdlH4D1jqCmR9fw9VyRA-8uJfH8-l5KKjQHPaeyzxffdHnlkdWBLfHE/s1600/IMG_9231.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrfEnpU0bDsTnVcwgu-FLwj8gw3W__52usBjop5Om9EYhgoohsUZmM3oXgtsTqvSjwIPJG5A1TinHsxl7anbcSXdlH4D1jqCmR9fw9VyRA-8uJfH8-l5KKjQHPaeyzxffdHnlkdWBLfHE/s640/IMG_9231.JPG" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">A test run of key caps fresh off the mill.</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrf99JZyZtsJutrhxV0IZNNJjalP0zvGvtQ0fDSq9oVFxP98IbnJ3kDpDU4plXaCO_LR36xep9RYwOj1GBJOeAned2L5mIutKpVb7nrbOEJiLptNh1TY79C4m4gloamRBrOFQrncd0JNQ/s1600/IMG_9261.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrf99JZyZtsJutrhxV0IZNNJjalP0zvGvtQ0fDSq9oVFxP98IbnJ3kDpDU4plXaCO_LR36xep9RYwOj1GBJOeAned2L5mIutKpVb7nrbOEJiLptNh1TY79C4m4gloamRBrOFQrncd0JNQ/s640/IMG_9261.JPG" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">First test of a piece of bent aluminum as part of the case.</td></tr>
</tbody></table>
<br />
<br />
<br />
<br />Joshua Harlan Liftonhttp://www.blogger.com/profile/15758012768952488829noreply@blogger.com0tag:blogger.com,1999:blog-3628701940085968843.post-11044750043941834502015-09-11T00:34:00.000-07:002015-09-11T00:34:35.337-07:00First Printed Circuit Boards Have ArrivedThe first Stenosaurus printed circuit boards (PCBs) arrived yesterday. Below is an image of a Stenosaurus PCB wth some components.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9mVQ8Ah35DG1wjnXElhpz7zgkELC1O5VaWNhxS14loy4PVtrmowvNdln7lSqgiQWd-7Xz6uhF4YWEeukJAbMB0m1U-jiP8IkVlROEn57aQqJEeyEKPatWjkp65ZvarlJlbUz0p9y9J3s/s1600/stenosaurus_pcb_and_some_parts.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="420" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9mVQ8Ah35DG1wjnXElhpz7zgkELC1O5VaWNhxS14loy4PVtrmowvNdln7lSqgiQWd-7Xz6uhF4YWEeukJAbMB0m1U-jiP8IkVlROEn57aQqJEeyEKPatWjkp65ZvarlJlbUz0p9y9J3s/s640/stenosaurus_pcb_and_some_parts.jpg" width="640" /></a></div>
<br />
A few things to note about this image:<br />
<br />
<ul>
<li>The key switches don't have key caps on them.</li>
<li>Other than the key switches, the only other component on the PCB is the processor (the black square in the top center of the image).</li>
<li>None of the components have yet been soldered onto the PCB.</li>
</ul>
I'm expecting to receive tomorrow the remaining components needed to complete the assembly of the circuit board. Once assembled, I'll begin testing and report back here. Joshua Harlan Liftonhttp://www.blogger.com/profile/15758012768952488829noreply@blogger.com2tag:blogger.com,1999:blog-3628701940085968843.post-64661811727805171192015-01-18T23:40:00.000-08:002015-01-18T23:40:38.584-08:00Printed Circuit Board Design and Status<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7Wv6nue4ZjFRh60-VNQnCUfyqSScOM_VodTaBIG4KzBCeWuOC4SCXxQRkrZz_ylNQSBEhtNL_4xjzfgon0nGhTCEKdZ7DVMC5KJ9HOlPYiHGLsYVcddWqIPJqdsLQe7OGi605Ou-g1zU/s1600/stenosaurus-layout-progress.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7Wv6nue4ZjFRh60-VNQnCUfyqSScOM_VodTaBIG4KzBCeWuOC4SCXxQRkrZz_ylNQSBEhtNL_4xjzfgon0nGhTCEKdZ7DVMC5KJ9HOlPYiHGLsYVcddWqIPJqdsLQe7OGi605Ou-g1zU/s1600/stenosaurus-layout-progress.png" height="438" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: "Trebuchet MS",sans-serif;">PCB layout so far.</span></td></tr>
</tbody></table>
<span style="font-family: "Trebuchet MS", sans-serif;">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.</span><br />
<span style="font-family: "Trebuchet MS", sans-serif;"><br /></span>
<span style="font-family: "Trebuchet MS", sans-serif;">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.</span><br />
<span style="font-family: "Trebuchet MS", sans-serif;"><br /></span>
<span style="font-family: "Trebuchet MS", sans-serif;">All this is to say that progress is being made toward the first manufactured Stenosaurus! More soon.</span>Joshua Harlan Liftonhttp://www.blogger.com/profile/15758012768952488829noreply@blogger.com0tag:blogger.com,1999:blog-3628701940085968843.post-27037951278217755982014-11-09T22:37:00.000-08:002014-11-09T22:37:50.741-08:00Countdown to Launch<h3>
Key Switches</h3>
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, <a href="http://www.daskeyboard.com/blog/mechanical-keyboard-guide/">the lightest activation force for Cherry MX series of key switches is 45g</a>.<br />
<h3>
Case and Key Cap Manufacturing</h3>
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.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidmmLGTwtPZu8Avn4Z1ZJE3KrcosG3UtGqUESkv09TEI71GW3IAMbMOHQhccqLrW7gaN9FUeib4dkctdT41iJeaNQLj0N1ENcE8Zj2JlHZ7Zy_31vtJ7gohaMTBkvBppRx2VA1Nmu6eqg/s1600/cnc-trial-run.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidmmLGTwtPZu8Avn4Z1ZJE3KrcosG3UtGqUESkv09TEI71GW3IAMbMOHQhccqLrW7gaN9FUeib4dkctdT41iJeaNQLj0N1ENcE8Zj2JlHZ7Zy_31vtJ7gohaMTBkvBppRx2VA1Nmu6eqg/s1600/cnc-trial-run.jpg" height="480" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Breaking in Kurt's new CNC mill with a prototype of the Stenosaurus case.</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg56mj6NaXi1lG_-4Ifc4N8l04PySaJkmHfHtN81v8UR0QmchmPHXp_zs-k7o58kA64sczNE-Q7QIjQcHNzSA4sggU4VXzKoTFSczH24Pyd6oVGr6rPN4U4RgIv5rHc_xi0Pqkh9mrrFRo/s1600/cnc-keys-first-pass.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg56mj6NaXi1lG_-4Ifc4N8l04PySaJkmHfHtN81v8UR0QmchmPHXp_zs-k7o58kA64sczNE-Q7QIjQcHNzSA4sggU4VXzKoTFSczH24Pyd6oVGr6rPN4U4RgIv5rHc_xi0Pqkh9mrrFRo/s1600/cnc-keys-first-pass.jpg" height="480" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">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.</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhL08PhUYxIlKl5CmHUinR16hDyfJ2UZfDfyCFuBcyNAFn6Pk4bynTERiIZdXr27dgjlSya9A-rQ8nC-8J2oAI9kP5284HFXxRnEzeG8JDrXfeoq6nnKpN1c08joWKWwmvzw4IYZLwOZyM/s1600/cnc-keys-complete.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhL08PhUYxIlKl5CmHUinR16hDyfJ2UZfDfyCFuBcyNAFn6Pk4bynTERiIZdXr27dgjlSya9A-rQ8nC-8J2oAI9kP5284HFXxRnEzeG8JDrXfeoq6nnKpN1c08joWKWwmvzw4IYZLwOZyM/s1600/cnc-keys-complete.jpg" height="438" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">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.</td></tr>
</tbody></table>
<h3>
Printed Circuit Board Design</h3>
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 <a href="http://www.kicad-pcb.org/">KiCad</a> 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.<br />
<br />
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.<br />
<h3>
To Market We Go</h3>
Once the PCB has been validated, we will have everything we need to start taking orders via a <a href="https://www.crowdsupply.com/">Crowd Supply</a> 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.Joshua Harlan Liftonhttp://www.blogger.com/profile/15758012768952488829noreply@blogger.com0tag:blogger.com,1999:blog-3628701940085968843.post-49583428346134143672014-07-08T16:17:00.000-07:002014-11-09T20:40:16.405-08:00Custom Key Caps AND SwitchesI 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:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglQrYcynFJXFPzBs6qWkAXDRWGMu5g4ExxsRVtyqyeG4VxNb0tfZdT4XDGV0IVkkip8PL94QUvfau-iAMMA4QUtQE_xChpb423jQI2NFq6-myYwPeOS0hyXdGyD1XOCWyOZBiLQ-pkRzE/s1600/assembled-key.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglQrYcynFJXFPzBs6qWkAXDRWGMu5g4ExxsRVtyqyeG4VxNb0tfZdT4XDGV0IVkkip8PL94QUvfau-iAMMA4QUtQE_xChpb423jQI2NFq6-myYwPeOS0hyXdGyD1XOCWyOZBiLQ-pkRzE/s1600/assembled-key.jpg" height="480" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVpfpVujzAP_-l0RAqR9XVqA7Ug89fxMoIUf0AeYMqqs5Ay5VEir1Rrq9TkxLBeTO8r6xD8GaPTBdK48Ljz0b5Bq4I6Ur1sBVV8kxra7sl2SD1DBvIY2xMEHxVerKc9aC3qfx_wbOhsNk/s1600/disassembled-key.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVpfpVujzAP_-l0RAqR9XVqA7Ug89fxMoIUf0AeYMqqs5Ay5VEir1Rrq9TkxLBeTO8r6xD8GaPTBdK48Ljz0b5Bq4I6Ur1sBVV8kxra7sl2SD1DBvIY2xMEHxVerKc9aC3qfx_wbOhsNk/s1600/disassembled-key.jpg" height="480" width="640" /></a></div>
<br />
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.<br />
<br />
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.<br />
<br />
This is a big win for the Stenosaurus: a high quality keyboard switch that keeps the manufacturing costs down.<br />
<br />
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...<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
Joshua Harlan Liftonhttp://www.blogger.com/profile/15758012768952488829noreply@blogger.com0tag:blogger.com,1999:blog-3628701940085968843.post-13309067211903697472014-06-03T21:49:00.000-07:002015-09-30T12:09:33.592-07:00Second 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.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhm6O102OuvGYUUNiYfALgNzRlKac4V1L8N1zOG6jpQoR1c6kdGUqf4xSFY2MzRNoPezoQkU0k7mPH-hQzHg98hKD0nqpLK1U-64iWNdKhmsPmsGojNiUME_7bdP-9bypNhsXdsJLNp5jU/s1600/2014-06-02+17.28.34.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhm6O102OuvGYUUNiYfALgNzRlKac4V1L8N1zOG6jpQoR1c6kdGUqf4xSFY2MzRNoPezoQkU0k7mPH-hQzHg98hKD0nqpLK1U-64iWNdKhmsPmsGojNiUME_7bdP-9bypNhsXdsJLNp5jU/s1600/2014-06-02+17.28.34.jpg" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">The keys of the second prototype sitting in fixture used for their manufacture.</td><td class="tr-caption" style="text-align: center;"></td><td class="tr-caption" style="text-align: center;"></td><td class="tr-caption" style="text-align: center;"></td><td class="tr-caption" style="text-align: center;"></td><td class="tr-caption" style="text-align: center;"></td><td class="tr-caption" style="text-align: center;"></td><td class="tr-caption" style="text-align: center;"><br /></td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
</div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1EtyytwTFma6V2NqmaOQ0KCMBeSRVKkbpt3TqrJhKJK1_LWPVtnt_giQd8gGrZu8hz5qdxMDcroLfnpgxhFnqOmFoNiTaZcMtb73v7K9RX3yGxFoV5Uw4qO8AftM0K94NPwMRwxnWmvE/s1600/2014-06-02+17.29.53.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1EtyytwTFma6V2NqmaOQ0KCMBeSRVKkbpt3TqrJhKJK1_LWPVtnt_giQd8gGrZu8hz5qdxMDcroLfnpgxhFnqOmFoNiTaZcMtb73v7K9RX3yGxFoV5Uw4qO8AftM0K94NPwMRwxnWmvE/s1600/2014-06-02+17.29.53.jpg" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Again, only the keys are shown here, not the case.</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWXX61l0fzcGDz-woScVDAYt3CqmWh6KB_JtmrS-zupxLaJjhzR4fdYFy0J1bEe-2VoJxq_mWWKyUYl3QsAylnbUnu5IiIVZU8OWVxQD_EVCGURsbn-n3I2Ok5EZ3PKCUaqsni913OvNw/s1600/2014-06-02+17.33.49.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWXX61l0fzcGDz-woScVDAYt3CqmWh6KB_JtmrS-zupxLaJjhzR4fdYFy0J1bEe-2VoJxq_mWWKyUYl3QsAylnbUnu5IiIVZU8OWVxQD_EVCGURsbn-n3I2Ok5EZ3PKCUaqsni913OvNw/s1600/2014-06-02+17.33.49.jpg" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">The underside of a key cap, showing the post that mates with the key switch.</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMAsaNGZI12vcrTpjWyHMGqQCYEW4QaRufNLkBn0D4uIENi1GcFwrlmtESlMDWU7JyU4OaKr8ECbCwUt5ygoQPHScC5kjTS10KxfD6Vz-YpX-hw_Yr2eP7TqIXexuNaRSgG547Jxcvf1k/s1600/2014-06-02+16.35.00.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMAsaNGZI12vcrTpjWyHMGqQCYEW4QaRufNLkBn0D4uIENi1GcFwrlmtESlMDWU7JyU4OaKr8ECbCwUt5ygoQPHScC5kjTS10KxfD6Vz-YpX-hw_Yr2eP7TqIXexuNaRSgG547Jxcvf1k/s1600/2014-06-02+16.35.00.jpg" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">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. </td></tr>
</tbody></table>
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!<br />
<br />
In the meantime, check out how easy it is to customize the keyboard simply by putting on keycaps of different widths:<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIfA5PmNQJamh-RS9Tfe-xlBcmr_vpsq59vJ1hq7blEyh7tnN7-g0xxb2PywgdugLRs_m8Y8WeCrPboQtWiFkpQNZJWtLxSpD-ic08OuiyXgfqqDQFgIfdhGTyYGAGZNcY87DjeBkWoXU/s1600/2014-06-02+17.28.53.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIfA5PmNQJamh-RS9Tfe-xlBcmr_vpsq59vJ1hq7blEyh7tnN7-g0xxb2PywgdugLRs_m8Y8WeCrPboQtWiFkpQNZJWtLxSpD-ic08OuiyXgfqqDQFgIfdhGTyYGAGZNcY87DjeBkWoXU/s1600/2014-06-02+17.28.53.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">wide center and far right columns</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiR3jOYAHLWEeemhS1tcRR028umJJHvXjriVL-Ao0WKpeLewfh3fjpz9D7kcolBe-EIIsuJzCzrJzokwdHfw8jPlwEPMZYCCXEmGK_nY5V84q8N2IHyE7MnjRmmitcx6VY-hnAk-mmiyS8/s1600/2014-06-02+17.31.05.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiR3jOYAHLWEeemhS1tcRR028umJJHvXjriVL-Ao0WKpeLewfh3fjpz9D7kcolBe-EIIsuJzCzrJzokwdHfw8jPlwEPMZYCCXEmGK_nY5V84q8N2IHyE7MnjRmmitcx6VY-hnAk-mmiyS8/s1600/2014-06-02+17.31.05.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">wide center column</td><td class="tr-caption" style="text-align: center;"><br /></td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjw0BfNo1cf_MJOQGjVM9aBm2kNrMXoEFkEc4bTyIxaqKSqrvgIllmI1cmRyD7_Y5GOkZkAIDLzOBw4YaOGfgT7MotDU27Zs3ZmADtepz79OvxK7HvtdFB97FwGvUysBpBwhj4RU_Wht7c/s1600/2014-06-02+17.32.26.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjw0BfNo1cf_MJOQGjVM9aBm2kNrMXoEFkEc4bTyIxaqKSqrvgIllmI1cmRyD7_Y5GOkZkAIDLzOBw4YaOGfgT7MotDU27Zs3ZmADtepz79OvxK7HvtdFB97FwGvUysBpBwhj4RU_Wht7c/s1600/2014-06-02+17.32.26.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">columns of equal width</td><td class="tr-caption" style="text-align: center;"><br /></td></tr>
</tbody></table>
<br />Joshua Harlan Liftonhttp://www.blogger.com/profile/15758012768952488829noreply@blogger.com0tag:blogger.com,1999:blog-3628701940085968843.post-57473276528009357132014-02-16T22:55:00.000-08:002014-02-20T12:43:06.929-08:00Revised Keyboard Layout(s)<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhThAczCzhI-lVMgFFlIysXeyYB0Qrld_gqTmTvvr14dr2wMXiEEx0cQVSqJLRbLhBYVtIEVpraDQa_cw94GWUHfBKIzFlTMKnvJmzz_hljT4uohNDDBKoUgUwyfBuY0osTx7Qkq_w90KA/s1600/dimensions_2014_02_20_separate_keys.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhThAczCzhI-lVMgFFlIysXeyYB0Qrld_gqTmTvvr14dr2wMXiEEx0cQVSqJLRbLhBYVtIEVpraDQa_cw94GWUHfBKIzFlTMKnvJmzz_hljT4uohNDDBKoUgUwyfBuY0osTx7Qkq_w90KA/s1600/dimensions_2014_02_20_separate_keys.png" width="100%" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Revised keyboard layout with separate number keys.</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyJzVhmGKIhP-KOzRqyeJMGBT8MKyLuwRGLE0wbsAVzlOC3zDMH9MmqImiE4h5T-ldgW8Ml8J-P-Ox3jeXZZ8RZjNTz_jTmAohvL_Ea3Z2dCj74x9MPyTjeABkpIOJ5WhrAT6mLLlTokQ/s1600/dimensions_2014_02_20_unified_keys.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyJzVhmGKIhP-KOzRqyeJMGBT8MKyLuwRGLE0wbsAVzlOC3zDMH9MmqImiE4h5T-ldgW8Ml8J-P-Ox3jeXZZ8RZjNTz_jTmAohvL_Ea3Z2dCj74x9MPyTjeABkpIOJ5WhrAT6mLLlTokQ/s1600/dimensions_2014_02_20_unified_keys.png" width="100%" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Revised keyboard layout with unified number keys.</td></tr>
</tbody></table>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
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.<br />
<br />
As always, we appreciate your feedback.<br />
<br />Joshua Harlan Liftonhttp://www.blogger.com/profile/15758012768952488829noreply@blogger.com0tag:blogger.com,1999:blog-3628701940085968843.post-59128497781739126412014-02-07T20:46:00.001-08:002014-02-07T21:08:47.600-08:00Keyboard Design<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBXbyHbIxOtyxKYjUDOXazmC2tdo6urp19gO9OPPpEh_abGWK9dAqkktbiiiX73hB6dWd5VPSOsdINpgPjKv4uTX2ZE-SjQ6LLUxk_cxjWALjEuSe_v7LjSNewQKnp7PgDvX3-858DMvI/s1600/dimensions.png" imageanchor="1" style="margin-left: 0; margin-right: 0;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBXbyHbIxOtyxKYjUDOXazmC2tdo6urp19gO9OPPpEh_abGWK9dAqkktbiiiX73hB6dWd5VPSOsdINpgPjKv4uTX2ZE-SjQ6LLUxk_cxjWALjEuSe_v7LjSNewQKnp7PgDvX3-858DMvI/s1600/dimensions.png" width="100%" /></a></div>
<br />
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.<br />
<br />
The layout pictured above is not the finalized design, but it's getting closer. The major changes from the layout we started with are:<br />
<ul>
<li>Rounded top corners for the top row of key caps.</li>
<li>Wide center column keys to accommodate using those key caps with either hand.</li>
<li>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.</li>
<li>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.</li>
</ul>
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.<br />
<br />
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.<br />
<br />
The two options we considered were:<br />
<br />
<ol>
<li> 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.</li>
<li>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.</li>
</ol>
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.<br />
<br />
Also, if you haven't already, please sign up for <a href="http://stenosaurus.com/">the Stenosaurus announcement mailing list</a>. Joshua Harlan Liftonhttp://www.blogger.com/profile/15758012768952488829noreply@blogger.com0tag:blogger.com,1999:blog-3628701940085968843.post-91130758547092826752013-12-22T14:40:00.000-08:002013-12-22T18:35:54.009-08:00The bootloader<div dir="ltr" style="text-align: left;" trbidi="on">
This week we reached a milestone by finishing the bootloader for the Stenosaurus. Well, maybe not <i>finished</i> 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?"<br />
<br />
Well, since you asked, I'll tell you. But I have to back up a bit.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIFQrXdarh41Z12NibBC0e0I4Scc7eXMRrimATy_jQGi2lakax95I35vChGHn-EznYErdyw2qQyc63q_ElIYWcjSx0X1Fa9iZcTVKAiRBSK9pBBe4aP9vlvR7yruiCUDHJCVDAykinpSE/s1600/microprocessor.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img alt="Microcontroller" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIFQrXdarh41Z12NibBC0e0I4Scc7eXMRrimATy_jQGi2lakax95I35vChGHn-EznYErdyw2qQyc63q_ElIYWcjSx0X1Fa9iZcTVKAiRBSK9pBBe4aP9vlvR7yruiCUDHJCVDAykinpSE/s1600/microprocessor.jpg" title="Microcontroller" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Microcontroller</td></tr>
</tbody></table>
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.<br />
<br />
<div style="text-align: left;">
</div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisqgywzkODrCGbs9SwEJFnrCcBoufLFDd_w-hCV7-l2jVmhxfVB4TZ4vmMDv19-Zc3HlpH2az82M3eUXhuHOIyLm0OVAct2g8bDIJsKGDvfiycWHdPxaVF58jYImJi9N3E4mFWSP0rjYQ/s1600/programmer.jpg" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisqgywzkODrCGbs9SwEJFnrCcBoufLFDd_w-hCV7-l2jVmhxfVB4TZ4vmMDv19-Zc3HlpH2az82M3eUXhuHOIyLm0OVAct2g8bDIJsKGDvfiycWHdPxaVF58jYImJi9N3E4mFWSP0rjYQ/s1600/programmer.jpg" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Programmer</td></tr>
</tbody></table>
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.<br />
<br />
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.<br />
<br />
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.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNhrXutAWEvwdxAAgCLKrLKFlREDHMhMbKyyFsW38ttfQvessIzFgXvwFHlmTetR7H1UzRPXR_sSrcEN_HmUp_prk2tafdtdQHjZ_wAkLGHjkeT6o5clLnXofZQoZ2TxXQXZmGNMhHgv8/s1600/Untitled+drawing.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNhrXutAWEvwdxAAgCLKrLKFlREDHMhMbKyyFsW38ttfQvessIzFgXvwFHlmTetR7H1UzRPXR_sSrcEN_HmUp_prk2tafdtdQHjZ_wAkLGHjkeT6o5clLnXofZQoZ2TxXQXZmGNMhHgv8/s1600/Untitled+drawing.png" /></a></div>
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.<br />
<br />
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.<br />
<br />
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.<br />
<br /></div>
balshetzerhttp://www.blogger.com/profile/14359746768956868670noreply@blogger.com1tag:blogger.com,1999:blog-3628701940085968843.post-32058938644192249252013-12-16T07:39:00.001-08:002013-12-16T07:39:27.945-08:00Behold the Stenosaurus blog!<div dir="ltr" style="text-align: left;" trbidi="on">
Hi Everyone,<br />
<br />
Welcome to the Stenosaurus blog.<br />
<br />
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.<br />
<br />
So, again, welcome and enjoy the show.<br />
<br />
<br /></div>
balshetzerhttp://www.blogger.com/profile/14359746768956868670noreply@blogger.com0