Family of modular split keyboards with 38 or 40 keys, LCD display and Cirque/Azoteq trackpad.
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
lcd.mp4
- 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)
Companion app for Raw HID communication.
Please see main config.h
and rules.mk
for comments and available options.
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
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.
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.
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.
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.
Thank you very much for your support!