Skip to the content
PCBKitNew board
2 layers74 × 42 mmTrio, the printed circuit board in 3D

Modular ergonomic keyboard with touchpad and display

Size
74 × 42 mm
Copper layers
2
Thickness
1.6 mm
Parts
28
Nets
50
Pads
169
Tracks, vias
611, 67
Pours
1
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
19 Mar 2024
Updated
27 Apr 2024

Overview

Trio is an open-source printed circuit board by zzeneg, from the zzeneg/trio repository on GitHub, published under the MIT licence. It is a 2-layer board of 74 × 42 mm with 28 parts on 50 nets, routed with 611 tracks and 67 vias.

It is built around the RP2040 and DRV2605LDGS. Its parts include 5 connectors, 2 capacitors, 2 resistors, 1 IC and 1 diode. It belongs with the keyboards and input boards and the RP2040 boards of this library.

Main components

2

README

README.md

trio

Modular unibody keyboard with two VIK modules.

[!CAUTION] This keyboard is designed for minimal vertical spacing (19x16mm). Regular keycaps will not fit, you must print your own - for example my DES MinY.

It's created as a cheap prototype to test VIK abilities and modules - all PCBs are under 100x100mm, one-piece case <0.3kg for cheap JLCPCB shipping.

Build process requires a lot of hand-soldering with 0.5mm pitch, you need good tools and experience to do that.

I do not recommend to build it exactly like that, but to use it as inspiration for your projects. Feel free to use and improve KiCad and Fusion 360 source files.

Features

  • MinY (19x16mm) spacing
  • 36 KS-33 (Gateron Low Profile) keys with hotswap
  • central PCB with two independent VIKs, DRV2605L haptic feedback and rotary encoder
  • periferal PCBs for keys
  • 3D printed case with 1.28" display, Azoteq TPS65 touchpad and 33mm encoder

Photos

Gerber files

Case files

  • v0.1
  • v0.2 - higher version, should work but untested

Firmware

Companion app for Raw HID communication. Use "productId": 2120 for that keyboard.

QMK

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

Vial

Bill of materials

Build notes

  • side PCBs have two keys that have to be broken off and handwired to correct places (diodes stay on the big part)
  • rotary encoder uses GPIO from VIK2, so Azoteq has to be connected to VIK2 port, and display to VIK1. Make sure to bridge solder jumpers on the back.
  • cheap ERM motors may not have enough internal resistance, if you motor does not work, try to add 5-10R resistor to it
  • see photos for FFC connections

Development

For proper KiCad setup install my zzkeeb library

Support

If you like my work and want to support my future designs, please consider sponsorship.

Sponsors

Thank you very much for your support!

Parts

28
QtyValueFootprintReferences
45VJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP1, JP2, JP4, JP5
4MountingHolezzkeeb:Hole_M2H1, H2, H3, H4
21uCapacitor_SMD:C_1206_3216MetricC2, C3
24.7kResistor_SMD:R_1206_3216MetricR1, R2
2Conn_01x12_Socketzzkeeb:Connector_FFC-12pin-0.5mm-horizontalJ4, J5
2Connector_VIK-keyboardzzkeeb:Connector_VIK-horizontal-keyboardVIK_K1, VIK_K2
2Connector_VIK-keyboardzzkeeb:Connector_VIK-vertical-keyboardVIK_K3, VIK_K4
2SolderJumper_3_OpenJumper:SolderJumper-3_P1.3mm_Open_Pad1.0x1.5mmJP6, JP7
1Dzzkeeb:Diode_1N4148-SOD123D1
1DRV2605LDGSPackage_SO:VSSOP-10_3x3mm_P0.5mmU1
1RP2040zzkeeb:MCU_rp2040-heliosJ3
1RotaryEncoder_Switchzzkeeb:RotaryEncoder_EC11RE1
1SW_Pushzzkeeb:Button_SW_SPST_SKQG_WithoutStemRST1
1VCCJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP3
1out+TestPoint:TestPoint_THTPad_D2.0mm_Drill1.0mmJ1
1out-TestPoint:TestPoint_THTPad_D2.0mm_Drill1.0mmJ2

Questions

How big is the Trio PCB?

It measures 74 × 42 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Trio use?

28 parts, built around the RP2040 and DRV2605LDGS. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Trio KiCad files?

From the zzeneg/trio repository on GitHub, at the commit this page was made from: the board is pcb/main.kicad_pcb and its schematic pcb/main.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Trio design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

More from zzeneg/trio

1
  • 2 layers97.7 × 81.2 mmSide, the printed circuit board in 3D

    Side

    zzeneg/trio

    Modular ergonomic keyboard with touchpad and display

    50 parts42MIT

Similar boards

  • 4 layers25 × 50 mmPrint and Place PCB, the printed circuit board in 3D

    Print and Place PCB

    ollyoid/Printegrated-Circuits

    GCode post-processor for integrating PCBs into 3D prints

    49 parts5
  • 2 layers287.8 × 126.7 mmNoName, the printed circuit board in 3D

    NoName

    AlaaSaadAbdo/battoota

    Keyboards

    267 parts188
  • 6 layers50.2 × 77.2 mmMeko, the printed circuit board in 3D

    Meko

    KOEGlike/meko

    A linux music player with ddr3, a 70hz e-paper display and a haptic touchpad

    274 parts90GPL-3.0
  • 2 layers71.1 × 24.1 mmDactyl manuform gimbal, the printed circuit board in 3D

    Dactyl manuform gimbal

    sffubs/dactyl_manuform_gimbal

    Instrutions and designs for building the dactyl-manuform-gimbal keyboard

    20 parts57
  • 4 layers82.8 × 33 mmE ink watch, the printed circuit board in 3D

    E ink watch

    sandgum/Triangulate-ES_01-Watch

    A 5mm thick smartwatch which uses an E-ink display and two OLEDs to display information while consuming very little power

    162 parts22
  • 2 layers55.6 × 71.2 mmBYTE PANELkicad pcb, the printed circuit board in 3D

    BYTE PANELkicad pcb

    oneohm/BYTE

    The BYTE hands free interface

    78 parts11GPL-3.0
  • 4 layers72 × 75 mmNrf52480 Dev board, the printed circuit board in 3D

    Nrf52480 Dev board

    brendena/Nordic_Pebble_Steel

    The goal of this project is to replace the main motherboard in the pebble steel with newer parts. Specifically the cpu will be a Nordic NRF52840.

    75 parts9