meimei

Created by [@luteron6] • Started on June 20, 2025

A keyboard that's not too big and not too small

meimei

Made by @luteron6

Total hours so far: 19

Cost: $179.96 (after shipping)

I don't have a (regular) mechanical keyboard, and so I thought I'd build one for Hack Club's #highway YSWS.

I've been thinking about this for a while, and here's what I want (some goals): * 80%. I don't use all those extra keys, so 80% is great. I'm going to copy my existing laptop layout (kind of). * A rotary encoder for volume control. * Bluetooth with a battery * USB-C * Clicky keys :)

Day 1 - 6/20/2025 - 7:55 AM (5 hours)

From my research, I've found that Cherry Blues are the typical 'clicky' switches. So I'll go with those. For the keycaps, I found these.

I also found that the nice!nano microcontroller is the typical bluetooth microcontroller used on keyboards. Apparently it's best with ZMK firmware, so I'll have to learn that keyboard firmware to make the .uf2 (I only know QMK). The docs also suggest socketing the nice!nano, so I'll try that. I found these sockets and pins: here.

Here's the start of my BOM: * Cherry Blue MX Keyswitches: $32.99 * Keycaps: $25.99 * nice!nano WOW! That's expensive: $24.99 * Sockets/Pins: $8.00 * 1N4148 Diodes: $5.99

Here's the layout I want to go with: image

I drew out my electrical matrix:
Screenshot 2025-06-19 092204

Then I created my schematic:
image

Phew! It's done. My PCB, that is:
image

I'm going to start on my case after I add this repo to the submissions.yml file. But I'm going to close this journal log now, it's been a while.

Day 2 - 7/2/2025 last night (4 hours)

OK last night I stayed up way too late making my case. It was like past 11, so I just went to sleep without journaling. Anyway, I started and almost finished my case. Here's my PCB:

image

I also decided to add a metal latching switch for turning the keyboard on and off, but the only downside is that it must be 'on' to charge. I also put a spot for the battery in there. I also added holes in the PCB so I can screw the plate into the bottom:

image

The whole case looks like this: image I think that's it for the case. Today (7/3) I'll try to work on the ZMK firmware.

Day 3 - 7/3/2025 - 12:22 PM (3 hours)

I just spent waaaayyyyyyy too long trying to figure that out. Hackatime says I spent around 2 hours trying to configure ZMK, then I probably spent another hour waiting for the workflow (collectively) to run and troubleshooting the errors. But it did end up running, and here are the results.

I think it's almost ready to submit!

Day 4 - 7/27/2025 - 7:58 AM (1 hour)

It got approved, I got the grant, and yesterday I purchased all the parts for the keyboard. I could only find some parts on certain sites, so I got those first. The rest was from Amazon. I was looking to source from Aliexpress, but stuff wasn't looking much cheaper there. So most of it's coming from Amazon.

Day 5-8 - ~8/18/2025 - 8:29 PM (6 hours)

The stuff started trickling in a couple weeks ago, but I was waiting forever for those diodes. They came today, so I was able to spend ~2 hours today to finish it. (I've been working on it for the past couple days). When the first parts got here, I realized I had miscalculated the length of the latching switch. I had to reprint the right side of the case, both the top half and the bottom half.


The old design


The new design

That fit fine. If I had the opportunity to redo my PCB too, I would probably make the cutout bigger:


The optimal switch placement

I also had to recompile my firmware ~10 times to get the encoder working. The current firmware works as expected. The knob controls the volume in 2% incremements. Then I realized the keyboard had the tilde keypress instead of the grave accent, so I had to change that. So the firmware above has all the issues fixed.

And here are some build photos:



I had an awesome time making this keyboard, and I'm satisfied with how it came out! Thanks Hack Club!