GMMK Pro build, with MT3 Dasher keycaps

I’ve been putting off writing this post for a long time. One reason is that I wanted to dogfood the keyboard and didn’t feel like writing a post about the keyboard itself would be a good idea on my chick lit iPad keyboard or even the Macbook Pro’s keyboard.

Official page for the GMMK Pro ->

So today, I sat down and wanted to write this post.

Background on the GMMK Pro keyboard

The pre-order for this keyboard opened up some time in 2020 but I wasn’t aware of it so I made my order in March of this year. This meant I was in the “flex batch” which had a delivery date of some time between June and August (iirc). The wait wasn’t too bad because it gave me time to think about the components I wanted. I wasn’t familiar with Glorious as a company to expect anything so it was all up in the air until I got the board delivered.

I won’t do a fully unboxing or anything like that, I will cover the board as my build currently sits with before and after photos of the board with and without keycaps.

Components

All prices are before taxes

ComponentPrice
GMMK Pro board$170
Glorious Panda™ (36x switches)$25
Kailh Speed Silver (120x)$37
Kailh Purple (120x)$37
Drop MT3 Dasher Keycap Set (base kit)$110
Durock V2 screw-in stabilizers$26
Krytox 205 lube$23
Permatex dielectric grease$8
Cherry MX switch opener$8
Kailh switch opener$9
4-Claw stem holder (prong tool) $6
00 Philips screwdriver$4
Total cost of components $463

That’s a hefty list of components and also a whole lot more than what I’ve spent on a keyboard before this. After tax, that’s over $500. I will explain some important components below, and some I hope are self-explanatory.

Switches

After using the Topre keyboard and its dupe the Niz Plum (see full write up here ->), I actually walked away thinking that the different force required on different parts of the keyboard is a great idea. There is no reason I’ve seen/read online except that “it’s how it has always been done” for using the same type of switches throughout the whole board. So I decided to go with a multi-switch type option.

Glorious Pandas

These are the dupes of the Holy Pandas and since the Holy Pandas cost more and are harder to come by, I opted for these when placing the final order for the keyboard on Glorious’ website. Key specs about these that mattered to me is that they’re a tactile switch with a 67g spring.

I used these on the index and middle finger keys (you can see the orange keys in the image above). I used the pandas on the escape and F13 b/c those keys I wanted to feel similar to the middle of the keyboard (and the contrast looks cool).

Kailh Speed Silvers

These keys occupy most of the board, they are some of the lightest switches you can buy in terms of actuation force, at about 27g. This makes them insanely easy on the weaker fingers like the ring and pinky finger. For keys like semi-colon ; and A, I do notice that there’s some times an accidental press b/c my finger’s just resting there. In terms of overall feel, these are linear switches so there’s hardly any feedback which I am okay with for the

Kailh Pro Purples

These were the wildcard switch I went for, they are in the middle between the other two when it comes to actuation force, at about 50g. The tactile feel is there but I don’t notice it much because they’re under keys that are not pressed very often as part of the normal typing experience. I used these for the function row, the arrow keys and the navigation cluster.

Bad switches / weak switches

While working on the board, one of surprises that I ran into was how often some of the switch connectors got bent. I messed up about 20 switches, with the Kailh speed silvers being the easiest to damage. I’m not sure if it’s possible to get the switch working after the connector bends but since I had so many extras, I went with the safe approach of using a new switch each time. I believe only 1-3 pandas were broken like this. This could also be because I installed so many more silvers.

Taking apart the keyboard and lubing the switches

I took the keyboard apart twice, the first time to install the Durock stabilizers. The installed stock stabilizers were way too sticky to use, I’m not being a snob about this. The stock stabs were way too lubed. I tried them with a non-lubed Kailh silver switch, the keycap would not even return to its initial position after pressing it and pressing down felt really hard (no matter which switch I used).

The second time I had to take the board apart was because I needed to shave off some plastic from the Durock stabs. Yes, as Taeha mentioned in his build video, the Durock stabs are a bit too big for the case and they will get stuck. Also, make sure to tighten the screws to their absolute limit and press in the plate and case together so that the foam is really in there and not moving around at all. I had to take the board apart the second time because after going through the installation of switches and keys, I realized about half the keys didn’t work because the plate and the case were not tight enough to make the switch and PCB connect sufficiently. I think I broke one of the side LEDs when putting together the board the second time around.

Lubing the switches was a relaxing activity. I did about 10-25 switches a day (I would do this after work at night). It took me about a whole week to get the board ready for use. I went with the Krytox for the panda switches and the dielectric grease for all the Kailh switches. The krytox isn’t as thick as the dielectric grease so the pandas do feel very smooth. All the lubed switched feel extremely smooth to press.

One thing to note, the Kailh switches use a different switch opener than all other MX style switches. This is why I have two switch openers listed in the component list.

MT3 Dasher keycaps

I love my SA profile keycaps that Kristen got me as a gift about 3 years ago, I used them on my previous keyboard and they just felt amazing. The SA profile helps a lot with reaching the Function row and the number row. The MT3 profile is a different profile but the top function row feels similar to the SA profile. The keys have a concave dome shape at the top where fingers can sit and pressing the key down really feels good. I think the plastic used makes a bit of a difference compared to some of the cheaper keys I’ve used before, but this might be just because the MT3 keys look so good.

MT3 Dasher kit – Drop.com

Thoughts on typing experience

Overall, I’m happy with the board. The switches feel great, the key profile fits well on this board. The color scheme isn’t my absolute favorite but still I like it.

The LEDs are nice but I rarely use them, they’re good for testing the switches before you use the board. The rotary knob is one of my favorite things about this board. I have always been a TKL/80% fan and this being a 75% (no full nav cluster and arrow keys moved down a bit) is not a huge change so I think it was a good layout choice. I do like having the function row available to me.

The type-c connection is useful, I don’t really care about wireless keyboards so this board checks the box for me on having the right way to connect to computers.

Being built with aluminum, it is a hefty weight and feels sturdy. The gasket mounting with the foam in between does help the typing experience feel a bit better. It doesn’t have the “tin” sound that my previous MX Cherry board with a plastic case had.

Negatives, things that could be changed

The board comes with two large LEDs on the side, they are used to indicate if the caps lock is on 🤦‍♂️. This is one of the features I care the least about because my caps lock key is turned into a control key with no caps lock ever being used. As I mentioned before, I might’ve broken one of the LEDs as well when reassembling the board the second time around so that doesn’t help the case either.

The inability to use aftermarket stabilizers without some effort wasn’t fun. In my case, I had to use an x-acto knife and shave off some of the plastic from the sides of the Durock stabs. Reassembling the board shouldn’t have taken as much effort as it did. I had to squeeze the board with a lot of force in order to get the PCB and switches to make connections.

The lack of macOS software and the inability to use QMK right now feels like Glorious really did oversell the board. I think the Keychron Q1 might be a better buy if you’re considering QMK / via support a must.

Once in awhile, there are some double presses of some keys and also the board doesn’t respond in some cases when the computer wakes from sleep. I never had this experience with any of my other boards.

Closing thoughts

If you’re thinking of buying a barebones board with no switches and no keycaps, I would urge you to look at other options alongside the Glorious GMMK Pro. It’s a good looking board but for the price, it feels like I was oversold on some of the features.

Weekend project progress: routes for Larri

This morning, I started working on a simple weekend project in which the goal is a deployed API server that does one simple thing. The business logic and the API behavior isn’t too important to me because the focus of this project is actually learning more about deployment.

So far though, I’ve been only concentrating on getting a working version of the app locally.

It’s call “Larri Adda” which comes from a song about a bus stop.

The main goal is to get a DigitalOcean server and database working together properly.

What I’ve learned so far is:

  • Routing in Express is extremely flexible, it’s my first time using express.Router which is pretty powerful.
  • When using route parameters (like /user/:id), use {mergeParams: true} within the route file that expects to use route params in order to actually receive them from the parent file.
  • I’m using bits of code generated by Github Copilot which blows me away with how good it is guess what I’m trying to do!

Next on my list is to get MongoDB working with my app and I don’t want to do that today so maybe I’ll do that tomorrow 🤣

TIL: null is an object in Javascript

I’ve been in a lull about learning concepts related to programming and web development the past few months so yesterday when I got an email about Just Javascript, I signed up for the course to check out how it will be.

So far, I’m running into pleasant surprises like how there are only nine data types in Javascript.

  1. Numbers (1, 3.14, -500)
  2. Strings (“hello”, ‘samson’, ‘a long sentence’)
  3. Booleans (true and false)
  4. Undefined (undefined)
  5. Null (null)
  6. BigInts (not sure about these yet)
  7. Objects ({})
  8. Functions (sum => x + x)
  9. Symbols (uncommon but used for referring to unchanging values)

Well, after learning about these, I also ran into an interesting quiz question in the course, what is the value of null when checking with typeof()? Turns out it’s "object". This was a surprise to me but I guess it’s been a bug for a long time.

Here’s a lot more info about it from someone who knows JS way better than me:

The history of “typeof null”.

Is the Keychron Q1 a GMMK Pro dupe?

So I finished building my GMMK Pro last week (a writeup is in my drafts for that). I got an email from Keychron the same week I got my GMMK Pro shipped. I waited about 6 months after reserving the board to be able to buy the GMMK Pro so timing was a total coincidence, I think. I’ll have more thoughts on the GMMK Pro in its own post but for now, I wanted to mention the new announcement, Keychron’s Q1 board.

So far, Keychron has had great entry level mechanical boards but one of the features they’ve been lacking is the ability to use QMK for custom firmware/key mapping and the ability to buy the barebones board, without keycaps and switches.

Well, that changes with their latest announcement. Unlike most of their boards that they put through Kickstarter, this one will be available on their website some time around the end of July or early August and will start shipping in September.

The reason I’m writing this post is because the feature set for the GMMK Pro and the Q1 look oddly similar, almost like they looked at the GMMK Pro and said “how can we replicate this and make it just a tad less expensive”.

Below I have a comparison of features:

FeatureGMMK ProKeychron Q1
Layout / number of keys75% TKL – 83 keys (ANSI US)TKL – between 83 – 87 keys
Rotary knobYes, comes with all boardsNot at launch, will be added later
Price$170 barebones aluminum case option
Varies between $200-350 for additional options
$140 for base option
$170 for basic kit (keys and switches)
Case materialAluminum, polycarbonate, or brassAluminum only
ConnectionUSB-CUSB-C
Wireless / bluetoothNoNo
ANSI/ISO optionYes – not at launchYes – at launch
RGBYes – south facing RGB Yes – south facing RGB
StabilizersPreinstalled GOAT stabsUnknown at launch
Third-party stabs?Yes – but durock v2 take some
work fitting into the plate
Yes – support for both Cherry
and Durock V2
Hot swappableYesYes
QMK / VIA supportNot at launch – planned for mid-2021Yes
ColorwaysBlack and silver (known as white)Unknown but marketing page shows Blue, Gray, Gunmetal
Typing Angle6º – no legsUnknown – no legs

Hopefully this is a helpful list of features you can review and decide for yourself if the Q1 is a dupe or will have its own audience.

TIL: polling rates for keyboards

I was setting up my GMMK Pro keyboard over the weekend and I ran into an interesting feature in the Glorious Core software, “polling rate” which is the first time I’ve seen this feature.

I went looking around and from reddit I got linked to this Geekhack thread: Keyboard polling rate

Simply put, the keyboard’s polling rate is at what frequency the computer checks for input from the keyboard. Since this keyboard is meant for gaming, it of course comes with the ability to change it from 125hz to 1000hz.

1000hz refers to every 1 milliseconds.

125hz refers to every 8 milliseconds.