Skip to the content
2 layers278.7 × 107.5 mmGecko choc, the printed circuit board in 3D

Gecko split keyboard

Size
278.7 × 107.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
194
Nets
160
Pads
1,052
Tracks, vias
3,425, 654
Pours
696
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
16 Aug 2024
Updated
24 Nov 2024

Overview

Gecko choc is an open-source printed circuit board by DaneEvans, from the DaneEvans/Gecko-keyboard repository on GitHub, published under the CC-BY-4.0 licence. It is a 2-layer board of 278.7 × 107.5 mm with 194 parts on 160 nets, routed with 3,425 tracks and 654 vias.

It is built around the RP2040, W25Q128JVSIQ and TS-1088R-02026, with the 1N4148WT, NCP1117LPST33T3G-MS and RB521S30T1G-DW among its other parts. Its parts include 48 diodes, 44 switches, 32 capacitors, 18 resistors and 8 connectors. It belongs with the keyboards and input boards and the RP2040 boards of this library.

Main components

8

README

README.md

Gecko keyboard

Somewhere between the corne, and the sofle.

Adding several small thumbwheels, as full size encoders are too big.

The Gecko uses CRKBD as a base, Add a few extra keys to the bottom row, useful for mute / sleep etc, and find space one or more small wheel encoder.

Parts required

PCBAs

  • These can be ordered through pcbway?

Based on the options available / cost, I went with back side only (only the USB is on the front), and missed both the Kailh Hotswap sockets, and the LEDs.

Parts list

Boards

  • PCBA's, pair (see above)
  • top plate, pair, 1.2mm
  • Bottom plate, pair (or alternate case)

PCBA

  • 2x USB Sockets (TYPE-C-31-M-13C)
  • 2x audio sockets (PJ-398A-5A_PJ-399B-6A)
  • 4x Scroll wheel encoders (EC05E) (optional)
  • 46x LEDs (SK6812MINI-E) (optional)
  • 2x OLED displays (optional)

Tools

  • Soldering iron, fine tip, solder etc.
  • Screwdriver for the bolts

Assembly

  • M2 standoffs (min 8mm? ) x 10?
  • M2 flat ended bolts, max length standoff height/2 x10
  • 3 wire cable assembly(3.5mm male - 3.5mm male)

Keys

  • 46 x Kailh hotswap sockets ()
  • 46 x Choc V1 switches (any variety you like)
  • 46 x Choc V1 keycaps (all singles is fine, or 2 x 1.5U)

Assembly instructions

Electrics

  • Find parts
  • Assemble PCBA's
    • Bottom side
      • install USB-C ports
      • install TRS connectors
      • install hotswap switch plates
      • install Mini-E LED's (optional)
    • Top side
      • install encoders
      • install OLED display

Mechanics

  • Take a top plate and attatch M2 standoffs to it's bottom surface. (I use loctite)
  • place the corner switches into the top plate
  • add the PCB (care of the pins)
  • Add the rest of the switches
  • If you plan to use the tenting kit, add standoffs to the bottom of the bottom plate in the additional holes.
  • place the bottom plate on the assembly, and tighten the bolts.

Programming

Now test that everything is working

  • Recognisable on USB.
  • All key presses etc.
  • encoders
  • LED's
  • OLEDs,

Get the QMK firmware from (here) this is the keymap () follow programming directions (here)

Once you know

Known Issues:

  • The encoder cutouts for the horizontal wheels aren't big enough - if you want to use them, you will need to modify the top plate.

  • Always unplug the USB before the 3.5mm connector - the 3.5mm has the potential to short out the board, and fry the mcu.

Troubleshooting

Odds are, any issues will be in the parts you soldered.

If you can't communicate with an MCU to program it, it's likely the USB-C

If the two halves won't communicate, it's the TRS connectors or cable.

The LED's are often very fiddly, and I won't offer any guidance on them, they do not effect the usage of the keyboard, and are a tedious job to get working.

Programming

Flashing

Flashing is simple drag and drop. The tagged release that I currrently use is here On Windows

  • Plug the keyboard half in.
  • Reset if needed (hardware button, or a key combination)
  • It should initialise as a RPi storage device
  • Drag the firmware file to it (*.uf2)
  • The window will close and the keyboard will reboot with the new firmware.

Configuring Firmware

The firmware uses QMK, My fork is located here Use the keyboard/gecko branch, or a tagged release to base changes on.

To build on Windows

Use QMK WSL

  • get the git repo https://github.com/DaneEvans/qmk_firmware
  • use the keyboards/gecko branch.
  • qmk build -kb gecko -km devdev
  • Navigate to the /Linux/QMK/home/qmk/qmk_firmware directory (Where QMK WSL resides)
  • Copy the keyboard_xxx.uf2 file to the keyboard halves.

Parts

194
QtyValueFootprintReferences
46YS-SK6812MINI-Ekbd:YS-SK6812MINI-ELED1, LED2, LED10, LED11, LED12, LED13, LED14, LED15, LED16, LED17, LED18, LED19, LED20, LED21, LED22, LED23 +30
44SW_Pushkbd:keyswitch_choc12_hotswap_1uSW2, SW3, SW10, SW11, SW12, SW13, SW14, SW15, SW16, SW17, SW18, SW19, SW20, SW21, SW22, SW23 +28
18100nCapacitor_SMD:C_0402_1005MetricC3, C4, C7, C9, C10, C12, C13, C14, C15, rC3, rC4, rC10, rC12, rC13, rC14, rC15 +2
8Breakaway Tabskbd:Breakaway_TabsBT1, BT2, BT3, BT4, rBT1, rBT2, rBT3, rBT4
8EC05Ekbd:rotary_encoder_EC05ERE1-2, RE1-3, RE2-2, RE2-3, rRE1-2, rRE1-3, rRE2-2, rRE2-3
61uCapacitor_SMD:C_0402_1005MetricC5, C8, C16, rC5, rC8, rC16
410uCapacitor_SMD:C_0402_1005MetricC6, C11, rC6, rC11
41kResistor_SMD:R_0402_1005MetricR3, R6, rR3, rR6
427Resistor_SMD:R_0402_1005MetricR4, R5, rR4, rR5
427pCapacitor_SMD:C_0402_1005MetricC1, C2, rC1, rC2
45.1kResistor_SMD:R_0402_1005MetricR1, R2, rR1, rR2
4EC05E_vertkbd:rotary_encoder_EC05E_VertRE1, RE2, rRE1, rRE2
4LOGOkbd:gecko-copper_No_mask_smallG***, G***, G***, G***
4TS-1088R-02026kbd:TS-1088R-02026rSMDSW1, rSMDSW2, SMDSW1, SMDSW2
210KResistor_SMD:R_0402_1005MetricR9, rR9
210kResistor_SMD:R_0402_1005MetricR7, rR7
212MHz 18pFCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmrY1, Y1
21N4148WTDiode_SMD:D_SOD-523D1, rD1
25.6kResistor_SMD:R_0402_1005MetricR8, rR8
2Conn_01x03Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ4, rJ4
2Conn_01x04kbd:OLEDJ3, rJ3
2NCP1117LPST33T3GPackage_TO_SOT_SMD:SOT-223-3_TabPin2rU2, U2
2RB521S30T1GDiode_SMD:D_SOD-523rZD1, ZD1
2RP2040Package_DFN_QFN:QFN-56-1EP_7x7mm_P0.4mm_EP3.2x3.2mmrU1, U1
2SW_Pushkbd:keyswitch_choc12_hotswap_1.5urSW1, SW1
2SolderJumper_2_OpenJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP2, JP3
2TPD4E05U06DQARPackage_SON:USON-10_2.5x1.0mm_P0.5mmrU3, U3
2TRSkbd:PJ-398A-5A_PJ-399B-6AJ2, rJ2
2TYPE-C-31-M-13Ckbd:TYPE-C-31-M-13CJ1, rJ1
2W25Q128JVSIQPackage_SO:SOIC-8_5.23x5.23mm_P1.27mmrU4, U4

More from DaneEvans/Gecko-keyboard

1
  • 2 layers551.5 × 107.5 mmCorne chocolate, the printed circuit board in 3D

    Corne chocolate

    DaneEvans/Gecko-keyboard

    Gecko split keyboard

    190 parts2CC-BY-4.0

Similar boards

  • 2 layers277.2 × 107.5 mmCorne chocolate, the printed circuit board in 3D

    Corne chocolate

    JackUlbrichBaker/Split_keyboard

    A modified corne keyboard project

    180 parts
  • 2 layers277.2 × 107.5 mmCorne chocolate, the printed circuit board in 3D

    Corne chocolate

    yangxing844/keyboard

    this stores some of my files for keyboards building

    178 parts1
  • 4 layers277.2 × 107.5 mmKatia, the printed circuit board in 3D

    Katia

    ikajdan/katia

    A split keyboard with 6 by 3 column staggered keys and 3 thumb keys, based on the Crkbrd design

    230 parts33CERN-OHL-P-2.0
  • 2 layers149 × 224 mmGDEK, the printed circuit board in 3D

    GDEK

    GilDev/GDEK

    Low-profile, compact, beginner-friendly, assembly-friendly 4×6 with 5-keys thumb cluster ergonomic keyboard with universal keyswitch support, per-key RGB LED, encoder and RP2040 controller. Phew, that’s a lot!

    324 parts3CERN-OHL-S-2.0
  • 4 layers213.7 × 140.6 mmMSCKee, the printed circuit board in 3D

    MSCKee

    Creative-Difficulty/mSCKee

    Split Keyboard for Hack Club Outpost with dual light sensors, per-key addressable backlighting, integrated RP2040 MCU

    205 parts1
  • 2 layers60 × 42 mmMacroPad TestBoard, the printed circuit board in 3D

    MacroPad TestBoard

    RyzenGatto/Ai-HDL-MacroPad

    Application Specific Keyboard for the PRISM Lab at the University of Arizona

    33 partsGPL-3.0

Questions

How big is the Gecko choc PCB?

It measures 278.7 × 107.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Gecko choc use?

194 parts, built around the RP2040, W25Q128JVSIQ, TS-1088R-02026 and 1N4148WT. 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 Gecko choc KiCad files?

From the DaneEvans/Gecko-keyboard repository on GitHub, at the commit this page was made from: the board is pcbs/Gecko_choc/Gecko_choc.kicad_pcb and its schematic pcbs/Gecko_choc/Gecko_choc.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Gecko choc design in my own project?

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