krunchboard-90
A custom 75% (84+5+1) ANSI mechanical keyboard powered by a Raspberry Pi Pico with KMK
Created by
krunch 🚀
Tier 3
30 views
0 followers
Timeline
krunch 🚀
submitted krunchboard-90 for review ago
technical_.
requested changes for krunchboard-90 ago
You can only make one keyboard in Blueprint. A hackpad is a keyboard. Choose between one of your projects.
krunch 🚀
submitted krunchboard-90 for review ago
krunch 🚀
added to the journal ago
Firmware
Today I did the firmware, I chose to use CircuitPython with KMK because I am quite familiar with this.
It took quite a while to setup the matrix assignment since my pins are not in numerical order since I wanted the traces to be clean.

I had to set up multiple layers since I wanted to be able to use volume/audio/brightness control within the keyboard

krunch 🚀
added to the journal ago
Plate and Case
Today I designed the plate and the basic shape of the case.
Since the keyboard is designed to be sandwich mounted, it's very simple.
I wanted to make the overall keyboard as compact as possible so I decided to use M2 screws.

The stabilizers cutout is the Cherry MX Specs from ai03's plate generator.
For the case I designed it in OnShape, I started by importing the PCB and plate image from KiCad and drew a outline around it, to ensure the PCB slots in the middle properly, I added a 1mm gap between the PCB edge and the inner wall.
The M2 screws will be screwed in from the bottom for a clean look.

krunch 🚀
added to the journal ago
All the traces
Today I wired up all the rows and columns, this took a while because I tried to make the PCB as compact as possible, whilst keeping the traces neat looking.
I rearranged the schematic to allow the column pins to enter the MCU efficiently.


I also moved the RST and BOOTSEL buttons under the space bar for easier access.

krunch 🚀
added to the journal ago
Wired the power and data
Today I started drawing the traces for power and data to the pico, since I am using a external USB-C port, I will need to use 2 5.1k resistor to request 5v from PD sources.

The data lines are a differential pairs, although I don't think it's necessary since the pico is only USB 1.1, which only supports up to 12 megabits/s.

krunch 🚀
added to the journal ago
Made the schematic
Today I completed the schematic. I decided to make the pico receive power and data via a external usb-c port so that I can put the pico under the space bar, on the back side to save space. The USB-C have 2 5.1k resistor to request 5v from a PD source, and there is reverse voltage protection just in case.

Since the pico will be on the other side, I also added external RST and BOOTSEL buttons.

I have 1 unused GPIO pin so maybe I can put some neopixels on the PCB.

krunch 🚀
added to the journal ago
I decided the layout I wanted
Since this is the v2 of krunchboard, this mainly fixes the mistakes from v1 by completely redesigning! Previously, I used a 85% layout, but I had to use a MCP23017 GPIO expander, which is a pain to get working in firmware since I was mixing the row/column pins with the MCU (RP2040 Pico).
This time, I will not be using a GPIO expander, so I decided to use a slightly smaller layout for the keyboard, it will be 84+4 keys ANSI keyboard with a EC11 rotary encoder, the 4 keys will be macro switches so I can make it do shortcut actions! I originally wanted to make it ISO layout, but it was very hard to find keycaps set for ISO layout so I resorted to using ANSI layout.
This keyboard will be hotswappable so it will be plate mounted.

krunch 🚀
started krunchboard-90 ago