Skip to content

swift502/Krteq

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

233 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Krteq

An extended 5x12 keyboard with 2 extra keys. Intended for ortho layouts with a shifted number row, allowing for the placement of the delete and tilde keys above their usual spots.

Krteq is a successor to Krtkus, learning from its lessons to make a design that's easier to build, more maintainable, better encapsulated and overall a more complete product.

Features

  • Low profile
  • Hotswap
  • White backlight (only breathing effect)
  • QMK/VIA compatible
  • Gateron KS-33B (GLP 3.0) switches
  • 3D printed case with a 7 degree tilt
  • Tray mount PCB, integrated plate
  • 233mm × 127mm × 30mm

Connecting the keyboard to usevia.app requires manually uploading the design file in the design tab.

PCB

The Kicad 10 project can be found in source/kicad. All parts are SMD. The PCB is intended to be ordered pre-assembled for an easier, although more expensive build process.

Suggested resistor values correspond to max safe LED brightness, which is later adjusted using software. Backlight intensity is controlled by QMK's backlight system, and indicator brightness is adjustable via custom PWM code.

To generate fabrication files, open the Kicad project and use an export plugin provided by one of the PCB manufacturers you want to order from. The order process is then highly dependent on the manufacturer.

Suggested BOM

Part Manufacturer Part Number
Switch Diode 1N4148W
Backlight LED MHT151WDT
GSD NMOS HX2302A
R82Ω 0603WAF820JT5E
R330Ω 0603WAF3300T5E
R470Ω 0603WAF4700T5E
R10kΩ 0603WAF1002T5E
Switch socket CPG151101S11-16

Case

Case is designed non-destructively in Blender. Source file here. So it should be fairly easy to modify if needed. STL files for 3D printing can be found in production/stl. Tested with PLA, 0.15mm layer height, 100% infill.

You'll need to print at least 3 files. Top and bottom in one or two colors, and the LED cover strip using transparent filament.

The top and bottom parts have a "keychron" variant, which adjusts stabilizer cutouts for their non-standard triangular stem design.

Firmware

A pre-compiled firmware file can be found here production/krteq_firmware.uf2.

QMK/VIA setup with a few custom features:

  • custom KRT_VOL keycode for combined volume control
  • pressing LShift + RShift + B enters bootloader mode
  • pressing LShift + RShift + C reverts to the default keymap

Compiling (Windows)

Install:

Run the compile script:

python source/scripts/qmk_compile.py

Flashing (Windows)

For the initial flash, hold the BOOTSEL button while connecting the Pico to a computer to have it show up as a storage device, then copy the compiled firmware file over to it.

Once flashed, you can trigger the bootloader mode again by simply pressing the LShift + RShift + B key combination.

Build guide

Parts

  • PCB
  • Case
  • Raspberry Pi Pico
  • 30cm (1ft) USB panel-mount extension cable
  • 61x Gateron KS-33B (GLP 3.0) switches
  • 61x MX low profile keycaps
  • Gateron 2u low profile plate-mounted stabilizer
  • 3x M2x6 flat head screw
  • Rubber feet

Assembly

Assuming you get the PCB pre-assembled, the only thing left to solder is the MCU. I recommend using a socket header for easy Pico replacement, but it can obviously be soldered directly as well.

  1. Install the Pico onto the PCB (socketed or soldered)
  2. Attach the indicator LED cover strip to the top case
  3. Attach the 2u stabilizer to the top case
  4. Push the corner switches through the top case and into the PCB sockets to hold the two parts together
  5. Screw the panel mount cable to the case cutout and connect the other end to the Pico

Important

Now is your last chance to perform the initial firmware flash. After this point the BOOTSEL button won't be accessible. I also recommend plugging the keyboard in and testing basic functionality. If you find an issue, it's still very easy to test connectivity or swap out the Pico.

  1. Slide the top assembly into the bottom case rails
  2. Screw the top and bottom cases together
  3. Install the remaining switches and keycaps

And you're done!

QnA

Why the unusual KS-33B switches?

The idea was that ordering a pre-assembled PCB will be faster, cheaper and long-term more viable if it involves regular hotswap sockets, since they're always in stock and available in cheaper off-brand variants, unlike the Gateron low profile hotswap sockets, which seem to be quite rare. The fact that they also support any regular MX switch is a nice bonus.

So is this board compatible with high profile switches?

Footprint-wise, yes, but currently there's no compatible high-profile top case variant. However, it would be trivial to make one if there was demand for it.

Why no RGB?

The simple backlighting was a lot safer and easier to implement, and I thought it would be good enough. However now that I've experienced its limitations, I'd love to add proper RGB in the future.

Who needs scroll lock?

I really wanted an LED for my custom letter accent input method. I wanted it to be an actual compose LED, which would be supported by QMK, but unfortunately not Windows. So ultimately the third LED ended up being a regular scroll lock. So I use it for my accent input method, and generally like it as a general purpose LED that can be used for custom functionality via AHK scripts.

Documentation

QMK

Kicad

Switch grid reference table:

Grid Size
Switch 1 19.05
Switch 1/4 4.7625
Switch 1/16 1.190625
Switch 1/32 0.5953125
Switch 1/64 0.29765625