Convert Figma logo to code with AI

foostan logocrkbd

Corne keyboard, a split keyboard with 3x6 column staggered keys and 3 thumb keys.

5,355
958
5,355
10

Top Related Projects

A Pro Micro alternative for wireless keyboards

1,652

6×4+4keys column-staggered split keyboard.

Open-source keyboard firmware for Atmel AVR and Arm USB families

Quick Overview

The foostan/crkbd repository is a project for the Corne keyboard, a split ergonomic mechanical keyboard. It includes PCB designs, case files, and firmware configurations for building and customizing your own Corne keyboard. The project aims to provide a compact, ergonomic, and customizable keyboard solution for enthusiasts and professionals alike.

Pros

  • Ergonomic design that reduces strain on hands and wrists
  • Highly customizable with various layout options and firmware support
  • Open-source project with active community support
  • Compact and portable split keyboard design

Cons

  • Requires assembly and soldering skills, which may be challenging for beginners
  • Limited number of keys compared to traditional keyboards, requiring adaptation to layers
  • Can be more expensive than off-the-shelf keyboards when factoring in components and build time
  • May have a steep learning curve for users new to split or ortholinear keyboards

Getting Started

To get started with building your own Corne keyboard:

  1. Clone the repository:

    git clone https://github.com/foostan/crkbd.git
    
  2. Review the documentation in the docs folder for build instructions and parts list.

  3. Order PCBs using the provided Gerber files in the corne-classic or corne-cherry folders.

  4. Gather components and follow the assembly guide in the documentation.

  5. Flash the firmware using QMK or ZMK, depending on your controller choice.

  6. Customize your keymap and features as desired using the firmware configuration files.

For detailed instructions and troubleshooting, refer to the project's wiki and community resources.

Competitor Comparisons

A Pro Micro alternative for wireless keyboards

Pros of nrfmicro

  • Wireless capability using nRF52 microcontroller
  • Smaller form factor and lower power consumption
  • Supports Bluetooth connectivity for multiple devices

Cons of nrfmicro

  • More complex setup and configuration process
  • Limited compatibility with some keyboard firmware
  • Potentially higher cost due to specialized components

Code Comparison

nrfmicro:

#define PIN_SERIAL_RX 8
#define PIN_SERIAL_TX 6
#define PIN_SPI_MISO 14
#define PIN_SPI_MOSI 13
#define PIN_SPI_SCK 15

crkbd:

#define MATRIX_ROW_PINS { D4, C6, D7, E6 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3 }
#define DIODE_DIRECTION COL2ROW

The nrfmicro code defines pins for serial and SPI communication, reflecting its wireless capabilities. The crkbd code defines matrix row and column pins for a traditional wired keyboard setup.

nrfmicro focuses on wireless functionality and compact design, making it suitable for portable, low-power applications. crkbd, on the other hand, offers a more straightforward wired setup with broader firmware compatibility. The choice between them depends on specific project requirements, such as wireless functionality, power consumption, and ease of configuration.

1,652

6×4+4keys column-staggered split keyboard.

Pros of Lily58

  • More keys (58 vs 42), offering a layout closer to traditional keyboards
  • Includes number row, reducing the need for layer switching
  • Easier transition for users coming from standard keyboards

Cons of Lily58

  • Larger footprint, less portable than Crkbd
  • Potentially less ergonomic due to increased finger movement
  • More complex assembly process with additional components

Code Comparison

Lily58 (config.h):

#define TAPPING_FORCE_HOLD
#define TAPPING_TERM 100
#define IGNORE_MOD_TAP_INTERRUPT

Crkbd (config.h):

#define TAPPING_FORCE_HOLD
#define TAPPING_TERM 200
#define IGNORE_MOD_TAP_INTERRUPT
#define PERMISSIVE_HOLD

Both projects use similar configuration options, but Crkbd includes an additional PERMISSIVE_HOLD setting and a longer tapping term. This suggests that Crkbd may have a more refined tap-hold behavior, potentially offering a smoother typing experience for advanced users.

The core differences between these projects lie in their physical layouts and design philosophies rather than their firmware configurations. Lily58 aims to provide a more familiar layout for newcomers to split keyboards, while Crkbd focuses on minimalism and portability.

Open-source keyboard firmware for Atmel AVR and Arm USB families

Pros of qmk_firmware

  • Supports a wide range of keyboard layouts and models
  • Extensive documentation and community support
  • Regular updates and active development

Cons of qmk_firmware

  • Steeper learning curve for beginners
  • Requires more setup and configuration

Code Comparison

crkbd (keymap.c):

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  [_QWERTY] = LAYOUT(
    KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,
    KC_LCTL, KC_A,    KC_S,    KC_D,    KC_F,    KC_G
  ),
};

qmk_firmware (keymap.c):

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [0] = LAYOUT(
        KC_ESC,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,
        KC_TAB,  KC_A,    KC_S,    KC_D,    KC_F,    KC_G
    ),
};

The code structure is similar, but qmk_firmware offers more flexibility in defining layers and key functions. crkbd focuses specifically on the Corne keyboard layout, while qmk_firmware provides a framework for various keyboard designs.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Corne keyboard

The Corne keyboard is a split keyboard with 3x6 column staggered keys and 3 thumb keys, based on Helix. Crkbd stands for Corne Keyboard.

v4

Latest versions

  • corne-cherry: for Cherry MX compatible switches

    • v4 Hotswappable (JP/EN)
    • v4 Soldering (will be released)
  • corne-chocolate: for Kailh choc v1 and v2 switches

    • v4 Hotswappable (JP/EN):
    • v4 Soldering (will be released)

Old versions

  • corne-classic: for Cherry MX compatible switches
    • v1 Soldering: (JP/EN)
  • corne-cherry: for Cherry MX compatible switches
  • corne-chocolate: for Kailh choc v1 switches
    • v2 Hotswappable: (JP/EN):
  • corne-light: for easy build with a simple PCB
    • v1 Soldering: (JP/EN):
    • v2 Soldering: (JP/EN):

Images

Cherry

corne-cherry image image

Chocolate

corne-chocolate image image

Drawing

sketche