Skip to content
/ stront Public

Split keyboards with 38 or 40 keys, LCD display and Cirque trackpad

License

Notifications You must be signed in to change notification settings

zzeneg/stront

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

88 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

stront

Family of modular split keyboards with 38 or 40 keys, LCD display and Cirque/Azoteq trackpad.

Features

All versions:

  • Hotswap sockets
  • LCD display (1.69" 240x280 by default)
  • Cirque or Azoteq (with VIK adapter) trackpad
  • roller/rotary encoders
  • 3D printed cases
  • exposed SPI/I2C contacts, so any other device can be used instead, it's just a matter of changing the case
MX-40 MX-38 Choc
Number of keys 40 38 38
Supported switches MX/KS[1] MX/KS[1] Choc v1
Interconnect USB-C USB-C/TRRS USB-C/TRRS
Interconnect USB-C USB-C/TRRS USB-C/TRRS
VIK support ✔️ ✔️
Module system ✔️ ✔️
Splay ✔️

[1]: KS-33/KS-27 - Gateron Low Profile switches, not compatible with MX footprint and require special hotswap sockets

Photos

MX-40 and MX-38 versions

MX-38 versions (MX and KS-33 switches)

Choc version

Display with PC companion app

lcd.mp4

Available modules - MX38/MX40 versions only ⚠️

  • LCD displays
    • ST7789 1.69" 240x280
    • ST7789 2" 240x320
    • GC9A01 round 1.28" 240x240
  • Touchpads
    • Cirque 40mm flat
    • Cirque 40mm curved
    • Azoteq TPS43
    • Azoteq TPS65 (technically supported but I think it's too big)

Firmware

Companion app for Raw HID communication.

QMK

Please see main config.h and rules.mk for comments and available options.

Vial

Compiled versions

Each firmware name has two modules, first is on the left side, second on the right, e.g. if your keyboard has Azoteq on the left and round display on the right - choose azoteq-round

  • keymaps:
    • default - sample keymap with home row mods. Not recommended for longer use - create your own.
    • hid - default keymap with HID support. Requires companion application.
    • zzeneg - my highly customized layout.
  • hardware versions:
    • -rect- - rectangular display (ST7789 240x280)
    • -round- - round display (GC9A01 240x240)
    • -flat- - flat 40mm Cirque
    • -curved- - curved 40mm Cirque
    • -azoteq- - Azoteq TPS43

Warning

For 38keys version with VIK display adapter - redefine LCD pins in config.h as in 40keys version

Build Guide

MX38/MX40 versions

Choc version

VIK - MX38/MX40 versions only ⚠️

Note

VIK is a standard for a data interface between printed circuit boards. It is intended to provide modularity between a mechanical keyboard PCB and additional features.

VIK repository

Certification card

Category Classification Response
FPC connector Required ✔️
Breakout pins Recommended ✔️
Supplies: SPI Strongly recommended ✔️ [1]
Supplies: I2C Strongly recommended ✔️ [1]
I2C on main PCB Discouraged No
I2C pull ups Informative Optional[2]
Supplies: RGB Strongly recommended ✔️
Supplies: Extra GPIO 1 Required Digital
Supplies: Extra GPIO 2 Required Digital

[1]: I2C and SPI use same pins, so you can use only one or the other, not both. Selection is configured in firmware.

[2]: PCB has pads designed for 1206/3216 SMD resistors, you can solder them manually if needed.

image

VIK usage

Built-in display and trackpad use the same interface, so any additional VIK module will have to replace one of them (it's possible to combine other I2C modules with Azoteq). Depending on the size it can integrated into the cover or a standalone case.

All possible connectors support VIK - FPC horizontal on the back, FPC vertical on the front and the breakout pins.

Support

If you like my work and want to support my future designs, please consider sponsorship, ordering from PCBWay using my shared projects - Choc or MX38, or using referral link for signing up.

Sponsors

Thank you very much for your support!

About

Split keyboards with 38 or 40 keys, LCD display and Cirque trackpad

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published