Thursday, July 15, 2021

Taking a Short Break

I'm waiting on some parts and just generally need a break. It's been so busy lately! So I won't be able to ship any keyboards until close to the end of the month (late July). I'll still be reading my email though, so feel free to ask questions. Thanks!

Thursday, January 21, 2021

New Options for TinyMod


Stock TinyMod

I will still be offering the TinyMod4 as it's been for the past year or so. It has 35cN Gateron clear switches which are reasonably light but a little bit noisy. This is a good keyboard for a steno beginner. It will still cost $160 plus shipping.

Quiet TinyMod

The new option is the quiet version of TinyMod4. The only difference is that it has Durock "silent" switches and the springs have been changed to 20cN. Though they're called "silent" switches I would say rather that they're very quiet. They have a solid feel to them and a pretty light touch. It took me a long time to like the feel of 20cN, but now I'm very happy with them. You might find that you press a lot of keys by accident for awhile because of the light touch. Because the switches and replacement springs cost more and it's extra work swapping springs, I'll be charging $200 plus shipping for the quiet model.


Shipping in the United States is USPS Priority Package with tracking and delivery time of several days. The cost is $8.30.

Shipping out of the States has been flaky lately it seems. I lost one 1st Class Package to the UK all together several months ago, and another one took over a month is to arrive. This is without tracking. So since then I've been encouraging people to choose USPS Global Express Package. This has tracking and gets there in a matter of a few days. No problems with it yet, except of course that it costs in the range of $140. I'm not willing to guarantee delivery of the cheaper 1st Class Package, so that would be entirely your risk. I'm sorry, but that's how it is. 1st Class Package International costs about $25.

To Order

Email me. You'll find my address in the upper right corner of this page. Tell me which version you want and give me your shipping address. I'll send you a PayPal invoice which you can pay with a PayPal account or with a credit card. Of course you can just email me with questions at any time.

Wednesday, March 4, 2020

A Pattern for Stroking Symbols with Plover

Unless I use them on a very regular basis, I have trouble remembering the strokes for many of the symbols and punctuation. I figure that if they follow a pattern they should be easier to remember. Awhile back on the Plover Discord Elzed suggested such a pattern for (), [], and {}. I've extended it to include many more symbols.

The idea is that each symbol has a pair of strokes. The first stroke of a pair has -FPLT in the right hand, and the second stroke has -RBGS in the right hand. The -FPLT strokes allow a leading space before the symbol but supress the trailing space. Strokes with -RBGS supress the leadings space but allow a trailing space. This make it easy to do such things as (this) without having to fiddle with spaces. The left hand part of each stroke is either mnemonic or has a memorable shape to help me remember it. Here is the JSON file to show how it's done.

"KPH-FPLT": "/{^}",
"KPH-RBGS": "{^}/",
"KW-FPLT": "{\"^}",
"KW-RBGS": "{^}\"",
"KWHR-FPLT": "{=^}",
"KWHR-RBGS": "{^=}",
"P-FPLT": "%{^}",
"P-RBGS": "{^}%",
"PHR-FPLT": "+{^}",
"PHR-RBGS": "{^}+",
"PR-FPLT": "({^}",
"PR-RBGS": "{^})",
"PRAFPLT": "<{^}",
"PRARBGS": "{^}>",
"PW-FPLT": "|{^}",
"PW-RBGS": "{^}|",
"PWR-FPLT": "[{^}",
"PWR-RBGS": "{^}]",
"SKP-FPLT": "&{^}",
"SKP-RBGS": "{^}&",
"SKWR-FPLT": "_{^}",
"SKWR-RBGS": "{^}_",
"STRAFPLT": "*{^}",
"STRARBGS": "{^}*",
"T-FPLT": "'{^}",
"T-RBGS": "{^}'",
"THR-FPLT": "~{^}",
"THR-RBGS": "{^}~",
"TK-FPLT": "${^}",
"TK-RBGS": "{^}$",
"TKPW-FPLT": "@{^}",
"TKPW-RBGS": "{^}@",
"TPH-FPLT": "#{^}",
"TPH-RBGS": "{^}#",
"TPR-FPLT": "{\\{^}",
"TPR-RBGS": "{^\\}}",
"TW-FPLT": "`{^}",
"TW-RBGS": "{^}`",
"TWR-FPLT": "{\\^}",
"TWR-RBGS": "{^}\\",
"WR-FPLT": "-{^}",
"WR-RBGS": "{^}-"

Here's the logic behind the left sides of the strokes:

KPH the shape looks a bit like /
KW q for quote "
KWHR eQuaL for =
P Percent for %
PHR PLus for +
PR PaRen for parentheses ( )
PRA the shape looks a bit like < >
PW the shape looks a bit like |
PWR BRacket for [ ]
SKP the Plover brief for "and ", for &
SKWR the shape looks a bit like _
T Tick for '
THR TiLda for ~
TK Dollar for $
TKPW the shape is reminiscent of @
TPH Number for #
TPR FRench bracket for { }
TW the shape looks a bit like `
TWR the shape looks a bit like \
WR the shape is reminiscent of -

I'm not saying this is the final word, just that it's what I'm using right now. The file is available at  and is called symbols.json.

See  for help understanding the JSON file above.

Friday, September 13, 2019

Assembling a TinyMod4

TinyMod has been updated again, but only slightly. It looks nearly the same. It behaves exactly the same. The changes are to make assembly easier and more robust. The diodes have been replaced with an MCP23017 i2c port expander. The microcontroller has been moved out from under the key switches, for easier assembly and repair. The switch footprints now only allow MX style switches and the switches fit better, requiring less solder. The firmware has been rewritten to accommodate the port expander. If I hadn't told you I'm not so sure you'd notice the difference.

The first step is to solder in the i2c resistors and the headers for the microcontroller.

Then we solder in the slider switch and the port expander from the back side. A rubber band holds the MCP23017 in place as we tack it at the corners.

The firmware is flashed into the microcontroller, which is then soldered into the headers on the bottom side.

Now it's good to set the protocol switch to NKRO, plug in the microcontroller and short each of the key switches to see if the right characters come out on the screen.

Once we know things are working so far, we start inserting the key switches, then solder them in. You can see the port expander here too. It's sitting between two rows of switches.

The bottom plate of the keyboard is just another bare PCB with spacers. That's a nut driver for 4-40 machine screws in the upper right corner. I 3D printed it.

Join the two halves like this, then bolt them together with the 4-40 nuts.

The final product looks like this after inserting the keycaps. I feel as though this is pretty close to being a final version. We'll see about that.

Tuesday, July 2, 2019

How to Buy a TinyMod

It's been pointed out to me that I didn't say anywhere on the main page just how to go about ordering a TinyMod. This post is a temporary solution. I'll try for a more long term one later.

To order a TinyMod, send me an email at  saying what you would like (a TinyMod) and giving me your shipping address. I need this to figure the shipping cost, but also I don't necessarily want to rely on the address that PayPal gives me. I'd rather hear it from you.

Once I get the email, I'll send you back a PayPal invoice. The invoice will be for $160 plus shipping, which is $7.90 in the US and around $24 elsewhere. Those are US dollars. You can pay the invoice with your PayPal account if you have one, or by credit card. PayPal will process credit cards.

Shipping is with the US Postal Service, Priority Package. In the US it should arrive in two or three days. Out of the US it's more like 5-10 days.

This somewhat unconventional way of doing things allows me to keep from having to accept credit cards myself as well as from having to set up a website. It's working well for me for now.

Monday, April 22, 2019

New Version, TinyMod3

Another change to the TinyMod. I've moved the thumb keys 5.5mm further from the row of keys above. I think it's more comfortable this way.

Since I was laying out a new board anyway, I also redid the wiring. Now every key is wired separately, including the S- keys and the asterisk keys. I'm still using TX Bolt as the serial protocol, so you can't tell there. But using the NKRO keyboard protocol you could make use of them in Plover. Of course, hacking your own firmware you can do whatever you like!

The boards are just a little bit longer and wider, but not much. The microcontroller has moved from the right side to the left, but is still covered by the top PCB. The slider switch for choosing the protocol is also now on the left side.

It's different firmware because of the change in wiring, but the functions are the same. You shouldn't notice any difference there.

The price is the same, $160USD for the keyboard, $7.90 shipping in the US, about $24 for most of the rest of the world. Sales tax $11.60 if you're in California like I am.

Hope you like it!

Saturday, November 17, 2018


This is enough change to warrant calling it TinyMod2 I think. Mostly the microcontroller has been moved under the PCB. There's no need to cover it with a 3D printed "case" anymore. I believe it looks much better without 3D printing, sleeker and smoother. There are also more standoffs for support. It's much more rigid. It feels more solid to write on this way. I'm very happy with the current keyboard and I hope you will be too.

The internals haven't changed. The firmware still supports two protocols, TX Bolt serial and NKRO keyboard. On my Windows machine I'm using NKRO because I can unplug and plug it back in without problems. For testing a new keyboard it's no problem to just plug it in and use it. It's just another USB keyboard to the operating system. On my Linux laptop I still use TX Bolt because NKRO is too laggy with Ubuntu 18.04. I don't know why, but it is.

For the time being at least, this will be the only keyboard I'm offering. If you're desperate to have one of the old classics or the hinge, we can negotiate something probably, but I'm not going to stock them anymore.

Price for the TinyMod is still $160 plus shipping. I'm going to try to have a few ready to go at any time. Just send me an email with your shipping address and I'll send you a PayPal invoice. Email me with questions or comments anytime. My email address is at the top of the screen.