Convert Figma logo to code with AI

kata0510 logoLily58

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

1,652
402
1,652
19

Top Related Projects

5,355

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

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

A split keyboard based on Lily58, Crkbd and Helix keyboards

Quick Overview

Lily58 is an open-source split keyboard project designed for ergonomic typing. It features a 58-key layout with thumb clusters and is compatible with various microcontrollers, including Pro Micro and Elite-C. The repository contains PCB designs, case files, and firmware for building your own Lily58 keyboard.

Pros

  • Ergonomic split design for improved comfort and typing posture
  • Customizable layout and firmware using QMK
  • Open-source design allows for modifications and improvements
  • Supports various switch types and keycap profiles

Cons

  • Requires DIY assembly, which may be challenging for beginners
  • Limited availability of pre-built options compared to mainstream keyboards
  • May have a steeper learning curve for users accustomed to traditional keyboards
  • Potential compatibility issues with some operating systems or software

Getting Started

To build your own Lily58 keyboard:

  1. Clone the repository:

    git clone https://github.com/kata0510/Lily58.git
    
  2. Order PCBs using the provided Gerber files in the PCB folder.

  3. Gather components listed in the Doc folder.

  4. Follow the build guide in the Doc folder for assembly instructions.

  5. Flash the firmware using QMK:

    qmk flash -kb lily58 -km default
    
  6. Customize your layout using the QMK Configurator or by editing the keymap files in the qmk_firmware/keyboards/lily58/keymaps directory.

Competitor Comparisons

5,355

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

Pros of Corne (crkbd)

  • More compact design with 42 keys, ideal for minimalist setups
  • Supports per-key RGB lighting for enhanced customization
  • Offers a unique "chocolate bar" split layout for ergonomic typing

Cons of Corne (crkbd)

  • Fewer keys may require more layers, increasing learning curve
  • Lack of number row can be challenging for some users
  • Smaller size might not be suitable for those with larger hands

Code Comparison

Corne (crkbd) firmware example:

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  [0] = LAYOUT_split_3x6_3(
    KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                      KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC,
    KC_LCTL, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,                      KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,
    KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,                      KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_ESC,
                                        KC_LGUI, KC_LT,   KC_SPC,  KC_ENT,  KC_BSPC, KC_RALT
  )
};

Lily58 firmware example:

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
	[0] = LAYOUT(
		KC_ESC,   KC_1,   KC_2,    KC_3,    KC_4,    KC_5,                     KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC,
		KC_TAB,   KC_Q,   KC_W,    KC_E,    KC_R,    KC_T,                     KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_MINS,
		KC_LCTRL, KC_A,   KC_S,    KC_D,    KC_F,    KC_G,                     KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,
		KC_LSFT,  KC_Z,   KC_X,    KC_C,    KC_V,    KC_B,   KC_LBRC,  KC_RBRC, KC_N,   KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT,
		                  KC_LALT, KC_LGUI, KC_LOWER,KC_SPC, KC_ENT,   KC_SPC,  KC_RAISE,KC_BSPC, KC_RGUI, KC_RALT
	)
};

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

Lily58:

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  [0] = LAYOUT(
    KC_ESC,   KC_1,   KC_2,    KC_3,    KC_4,    KC_5,                     KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC,
    KC_TAB,   KC_Q,   KC_W,    KC_E,    KC_R,    KC_T,                     KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSLS,
    KC_LCTL,  KC_A,   KC_S,    KC_D,    KC_F,    KC_G,                     KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,
    KC_LSFT,  KC_Z,   KC_X,    KC_C,    KC_V,    KC_B,   KC_LBRC,  KC_RBRC,KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT,
                               KC_LALT, KC_LGUI, KC_SPC, KC_ENT,   KC_SPC, KC_BSPC, KC_RGUI, KC_RALT
  )
};

qmk_firmware:

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [0] = LAYOUT_planck_grid(
        KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC,
        KC_ESC,  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,
        KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_ENT,
        KC_LCTL, KC_LALT, KC_LGUI, KC_BSPC, KC_SPC,  KC_SPC,  KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT, KC_RGUI, KC_RALT
    )
};

A split keyboard based on Lily58, Crkbd and Helix keyboards

Pros of Sofle Keyboard

  • Features a more ergonomic design with a slight tenting angle
  • Includes an OLED display for additional functionality
  • Supports rotary encoders for enhanced input options

Cons of Sofle Keyboard

  • Slightly more complex build process due to additional components
  • May require more desk space due to its wider layout
  • Potentially higher cost due to extra features

Code Comparison

Lily58 (config.h):

#define MASTER_LEFT
#define USE_SERIAL_PD2
#define TAPPING_FORCE_HOLD
#define TAPPING_TERM 100

Sofle Keyboard (config.h):

#define USE_SERIAL
#define MASTER_LEFT
#define SPLIT_USB_DETECT
#define TAPPING_TERM 200
#define ENCODER_RESOLUTION 4

Both keyboards use similar configuration options, but Sofle Keyboard includes additional settings for encoders and a longer tapping term. The Lily58 uses a specific serial pin (PD2), while Sofle Keyboard uses a more generic serial configuration.

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

Lily58

Lily58 is 6*4+4keys column-staggered split keyboard. Lily58Lite-Pic

Document Site Here

Type