~ruther/qmk_firmware

dd4f4f8597532e2a5893bfd3f7f7adcc422fd956 — owlab2 1 year, 10 months ago 6d9eab8
[Keyboard] Add Jelly Evolv (#21407)

Co-authored-by: jack <0x6a73@protonmail.com>
A keyboards/owlab/jelly_evolv/config.h => keyboards/owlab/jelly_evolv/config.h +23 -0
@@ 0,0 1,23 @@
/* 
 * Copyright 2023 owlab
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#pragma once

/* RGB Strip*/
#    define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL + 5
#    define RGBLIGHT_EFFECT_BREATHE_CENTER 1.0
#    define RGBLIGHT_EFFECT_BREATHE_MAX    100
\ No newline at end of file

A keyboards/owlab/jelly_evolv/hotswap/625u/info.json => keyboards/owlab/jelly_evolv/hotswap/625u/info.json +93 -0
@@ 0,0 1,93 @@
{
    "keyboard_name": "Jelly Evolv Hotswap_6.25U",
    "usb": {
        "pid": "0x3655",
        "device_version": "0.0.1"
    },
    "layouts": {
        "LAYOUT": {
            "layout": [
                {"matrix": [0, 0], "x":0, "y":0},
                {"matrix": [0, 1], "x":1.5, "y":0},
                {"matrix": [0, 2], "x":2.5, "y":0},
                {"matrix": [0, 3], "x":3.5, "y":0},
                {"matrix": [0, 4], "x":4.5, "y":0},
                {"matrix": [0, 5], "x":6, "y":0},
                {"matrix": [0, 6], "x":7, "y":0},
                {"matrix": [0, 7], "x":8, "y":0},
                {"matrix": [0, 8], "x":9, "y":0},
                {"matrix": [0, 9], "x":10.5, "y":0},
                {"matrix": [0, 10], "x":11.5, "y":0},
                {"matrix": [0, 11], "x":12.5, "y":0},
                {"matrix": [0, 12], "x":13.5, "y":0},
                {"matrix": [0, 14], "x":15, "y":0},
                {"matrix": [1, 0], "x":0, "y":1.5},
                {"matrix": [1, 1], "x":1, "y":1.5},
                {"matrix": [1, 2], "x":2, "y":1.5},
                {"matrix": [1, 3], "x":3, "y":1.5},
                {"matrix": [1, 4], "x":4, "y":1.5},
                {"matrix": [1, 5], "x":5, "y":1.5},
                {"matrix": [1, 6], "x":6, "y":1.5},
                {"matrix": [1, 7], "x":7, "y":1.5},
                {"matrix": [1, 8], "x":8, "y":1.5},
                {"matrix": [1, 9], "x":9, "y":1.5},
                {"matrix": [1, 10], "x":10, "y":1.5},
                {"matrix": [1, 11], "x":11, "y":1.5},
                {"matrix": [1, 12], "x":12, "y":1.5},
                {"matrix": [1, 13], "x":13, "y":1.5, "w":2},
                {"matrix": [1, 14], "x":15, "y":1.5},
                {"matrix": [2, 0], "x":0, "y":2.5, "w":1.5},
                {"matrix": [2, 1], "x":1.5, "y":2.5},
                {"matrix": [2, 2], "x":2.5, "y":2.5},
                {"matrix": [2, 3], "x":3.5, "y":2.5},
                {"matrix": [2, 4], "x":4.5, "y":2.5},
                {"matrix": [2, 5], "x":5.5, "y":2.5},
                {"matrix": [2, 6], "x":6.5, "y":2.5},
                {"matrix": [2, 7], "x":7.5, "y":2.5},
                {"matrix": [2, 8], "x":8.5, "y":2.5},
                {"matrix": [2, 9], "x":9.5, "y":2.5},
                {"matrix": [2, 10], "x":10.5, "y":2.5},
                {"matrix": [2, 11], "x":11.5, "y":2.5},
                {"matrix": [2, 12], "x":12.5, "y":2.5},
                {"matrix": [2, 13], "x":13.5, "y":2.5, "w":1.5},
                {"matrix": [2, 14], "x":15, "y":2.5},
                {"matrix": [3, 0], "x":0, "y":3.5, "w":1.75},
                {"matrix": [3, 1], "x":1.75, "y":3.5},
                {"matrix": [3, 2], "x":2.75, "y":3.5},
                {"matrix": [3, 3], "x":3.75, "y":3.5},
                {"matrix": [3, 4], "x":4.75, "y":3.5},
                {"matrix": [3, 5], "x":5.75, "y":3.5},
                {"matrix": [3, 6], "x":6.75, "y":3.5},
                {"matrix": [3, 7], "x":7.75, "y":3.5},
                {"matrix": [3, 8], "x":8.75, "y":3.5},
                {"matrix": [3, 9], "x":9.75, "y":3.5},
                {"matrix": [3, 10], "x":10.75, "y":3.5},
                {"matrix": [3, 11], "x":11.75, "y":3.5},
                {"matrix": [3, 13], "x":12.75, "y":3.5, "w":2.25},
                {"matrix": [3, 14], "x":15, "y":3.5},
                {"matrix": [4, 0], "x":0, "y":4.5, "w":2.25},
                {"matrix": [4, 1], "x":2.25, "y":4.5},
                {"matrix": [4, 2], "x":3.25, "y":4.5},
                {"matrix": [4, 3], "x":4.25, "y":4.5},
                {"matrix": [4, 4], "x":5.25, "y":4.5},
                {"matrix": [4, 5], "x":6.25, "y":4.5},
                {"matrix": [4, 6], "x":7.25, "y":4.5},
                {"matrix": [4, 7], "x":8.25, "y":4.5},
                {"matrix": [4, 8], "x":9.25, "y":4.5},
                {"matrix": [4, 9], "x":10.25, "y":4.5},
                {"matrix": [4, 10], "x":11.25, "y":4.5},
                {"matrix": [4, 11], "x":12.25, "y":4.5, "w":1.75},
                {"matrix": [4, 13], "x":14, "y":4.5},
                {"matrix": [5, 0], "x":0, "y":5.5, "w":1.25},
                {"matrix": [5, 1], "x":1.25, "y":5.5, "w":1.25},
                {"matrix": [5, 2], "x":2.5, "y":5.5, "w":1.25},
                {"matrix": [5, 5], "x":3.75, "y":5.5, "w":6.25},
                {"matrix": [5, 9], "x":10, "y":5.5, "w":1.25},
                {"matrix": [5, 10], "x":11.25, "y":5.5, "w":1.25},
                {"matrix": [5, 12], "x":13, "y":5.5},
                {"matrix": [5, 13], "x":14, "y":5.5},
                {"matrix": [5, 14], "x":15, "y":5.5}
            ]
        }
    }
}
\ No newline at end of file

A keyboards/owlab/jelly_evolv/hotswap/625u/keymaps/default/keymap.c => keyboards/owlab/jelly_evolv/hotswap/625u/keymaps/default/keymap.c +37 -0
@@ 0,0 1,37 @@
/* 
 * Copyright 2023 owlab
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
	[0] = LAYOUT(
		KC_ESC,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,            KC_PSCR, 
		KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSPC,  KC_DEL,
		KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS,  KC_PGUP,
		KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,          KC_ENT,   KC_PGDN,
		KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT,          KC_UP,
		KC_LCTL, KC_LGUI, KC_LALT,                   KC_SPC,                             KC_RALT, MO(1),            KC_LEFT, KC_DOWN, KC_RGHT
	),
	[1] = LAYOUT(
		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS,
		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
		KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, 
		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, 
		KC_TRNS, KC_TRNS, KC_TRNS,                   KC_TRNS,                            KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS
	)
};
\ No newline at end of file

A keyboards/owlab/jelly_evolv/hotswap/625u/keymaps/via/keymap.c => keyboards/owlab/jelly_evolv/hotswap/625u/keymaps/via/keymap.c +37 -0
@@ 0,0 1,37 @@
/* 
 * Copyright 2023 owlab
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
	[0] = LAYOUT(
		KC_ESC,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,            KC_PSCR, 
		KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSPC,  KC_DEL,
		KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS,  KC_PGUP,
		KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,          KC_ENT,   KC_PGDN,
		KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT,          KC_UP,
		KC_LCTL, KC_LGUI, KC_LALT,                   KC_SPC,                             KC_RALT, MO(1),            KC_LEFT, KC_DOWN, KC_RGHT
	),
	[1] = LAYOUT(
		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS,
		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
		KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, 
		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, 
		KC_TRNS, KC_TRNS, KC_TRNS,                   KC_TRNS,                            KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS
	)
};
\ No newline at end of file

A keyboards/owlab/jelly_evolv/hotswap/625u/keymaps/via/rules.mk => keyboards/owlab/jelly_evolv/hotswap/625u/keymaps/via/rules.mk +2 -0
@@ 0,0 1,2 @@
VIA_ENABLE = yes
LTO_ENABLE = yes
\ No newline at end of file

A keyboards/owlab/jelly_evolv/hotswap/625u/readme.md => keyboards/owlab/jelly_evolv/hotswap/625u/readme.md +21 -0
@@ 0,0 1,21 @@
# Jelly Evolv - Hotswap 6.25U PCB

![jelly evolv](https://i.imgur.com/vkHux8Fh.jpg)

A 75% made by Owlab.

* Keyboard Maintainer: [owlab](https://github.com/lizhenmingdirk)
* Hardware Supported: Jelly Evolv Hotswap 6.25U PCB
* Hardware Availability: Ended groupbuy: https://www.zfrontier.com/app/flow/W58MLYOGdVVQ

Make example for this keyboard (after setting up your build environment):

    make owlab/jelly_evolv/hotswap/625u:default

Flashing example for this keyboard:

    make owlab/jelly_evolv/hotswap/625u:default:flash

**Bootloader:** Press the button B of the PCB while plugging in the board.

See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
\ No newline at end of file

A keyboards/owlab/jelly_evolv/hotswap/625u/rules.mk => keyboards/owlab/jelly_evolv/hotswap/625u/rules.mk +5 -0
@@ 0,0 1,5 @@
MCU_LDSCRIPT = STM32F103x8_0x08006000_bootloader
DFU_ARGS = -d 1688:2220 -a 0 -s 0x08006000 
DFU_SUFFIX_ARGS = -v 1688 -p 2220
BOOTLOADER_TYPE = stm32duino
OPT_DEFS += -DBOOTLOADER_STM32DUINO
\ No newline at end of file

A keyboards/owlab/jelly_evolv/hotswap/7u/info.json => keyboards/owlab/jelly_evolv/hotswap/7u/info.json +92 -0
@@ 0,0 1,92 @@
{
    "keyboard_name": "Jelly Evolv Hotswap_7U",
    "usb": {
        "pid": "0x3755",
        "device_version": "0.0.1"
    },
    "layouts": {
        "LAYOUT": {
            "layout": [
                {"matrix": [0, 0], "x":0, "y":0},
                {"matrix": [0, 1], "x":1.5, "y":0},
                {"matrix": [0, 2], "x":2.5, "y":0},
                {"matrix": [0, 3], "x":3.5, "y":0},
                {"matrix": [0, 4], "x":4.5, "y":0},
                {"matrix": [0, 5], "x":6, "y":0},
                {"matrix": [0, 6], "x":7, "y":0},
                {"matrix": [0, 7], "x":8, "y":0},
                {"matrix": [0, 8], "x":9, "y":0},
                {"matrix": [0, 9], "x":10.5, "y":0},
                {"matrix": [0, 10], "x":11.5, "y":0},
                {"matrix": [0, 11], "x":12.5, "y":0},
                {"matrix": [0, 12], "x":13.5, "y":0},
                {"matrix": [0, 14], "x":15, "y":0},
                {"matrix": [1, 0], "x":0, "y":1.5},
                {"matrix": [1, 1], "x":1, "y":1.5},
                {"matrix": [1, 2], "x":2, "y":1.5},
                {"matrix": [1, 3], "x":3, "y":1.5},
                {"matrix": [1, 4], "x":4, "y":1.5},
                {"matrix": [1, 5], "x":5, "y":1.5},
                {"matrix": [1, 6], "x":6, "y":1.5},
                {"matrix": [1, 7], "x":7, "y":1.5},
                {"matrix": [1, 8], "x":8, "y":1.5},
                {"matrix": [1, 9], "x":9, "y":1.5},
                {"matrix": [1, 10], "x":10, "y":1.5},
                {"matrix": [1, 11], "x":11, "y":1.5},
                {"matrix": [1, 12], "x":12, "y":1.5},
                {"matrix": [1, 13], "x":13, "y":1.5, "w":2},
                {"matrix": [1, 14], "x":15, "y":1.5},
                {"matrix": [2, 0], "x":0, "y":2.5, "w":1.5},
                {"matrix": [2, 1], "x":1.5, "y":2.5},
                {"matrix": [2, 2], "x":2.5, "y":2.5},
                {"matrix": [2, 3], "x":3.5, "y":2.5},
                {"matrix": [2, 4], "x":4.5, "y":2.5},
                {"matrix": [2, 5], "x":5.5, "y":2.5},
                {"matrix": [2, 6], "x":6.5, "y":2.5},
                {"matrix": [2, 7], "x":7.5, "y":2.5},
                {"matrix": [2, 8], "x":8.5, "y":2.5},
                {"matrix": [2, 9], "x":9.5, "y":2.5},
                {"matrix": [2, 10], "x":10.5, "y":2.5},
                {"matrix": [2, 11], "x":11.5, "y":2.5},
                {"matrix": [2, 12], "x":12.5, "y":2.5},
                {"matrix": [2, 13], "x":13.5, "y":2.5, "w":1.5},
                {"matrix": [2, 14], "x":15, "y":2.5},
                {"matrix": [3, 0], "x":0, "y":3.5, "w":1.75},
                {"matrix": [3, 1], "x":1.75, "y":3.5},
                {"matrix": [3, 2], "x":2.75, "y":3.5},
                {"matrix": [3, 3], "x":3.75, "y":3.5},
                {"matrix": [3, 4], "x":4.75, "y":3.5},
                {"matrix": [3, 5], "x":5.75, "y":3.5},
                {"matrix": [3, 6], "x":6.75, "y":3.5},
                {"matrix": [3, 7], "x":7.75, "y":3.5},
                {"matrix": [3, 8], "x":8.75, "y":3.5},
                {"matrix": [3, 9], "x":9.75, "y":3.5},
                {"matrix": [3, 10], "x":10.75, "y":3.5},
                {"matrix": [3, 11], "x":11.75, "y":3.5},
                {"matrix": [3, 13], "x":12.75, "y":3.5, "w":2.25},
                {"matrix": [3, 14], "x":15, "y":3.5},
                {"matrix": [4, 0], "x":0, "y":4.5, "w":2.25},
                {"matrix": [4, 1], "x":2.25, "y":4.5},
                {"matrix": [4, 2], "x":3.25, "y":4.5},
                {"matrix": [4, 3], "x":4.25, "y":4.5},
                {"matrix": [4, 4], "x":5.25, "y":4.5},
                {"matrix": [4, 5], "x":6.25, "y":4.5},
                {"matrix": [4, 6], "x":7.25, "y":4.5},
                {"matrix": [4, 7], "x":8.25, "y":4.5},
                {"matrix": [4, 8], "x":9.25, "y":4.5},
                {"matrix": [4, 9], "x":10.25, "y":4.5},
                {"matrix": [4, 10], "x":11.25, "y":4.5},
                {"matrix": [4, 11], "x":12.25, "y":4.5, "w":1.75},
                {"matrix": [4, 13], "x":14, "y":4.5},
                {"matrix": [5, 0], "x":0, "y":5.5, "w":1.5},
                {"matrix": [5, 1], "x":1.5, "y":5.5, "w":1.5},
                {"matrix": [5, 2], "x":3.5, "y":5.5},
                {"matrix": [5, 5], "x":4.5, "y":5.5, "w":7},
                {"matrix": [5, 10], "x":11.5, "y":5.5},
                {"matrix": [5, 12], "x":13, "y":5.5},
                {"matrix": [5, 13], "x":14, "y":5.5},
                {"matrix": [5, 14], "x":15, "y":5.5}
            ]
        }
    }
}
\ No newline at end of file

A keyboards/owlab/jelly_evolv/hotswap/7u/keymaps/default/keymap.c => keyboards/owlab/jelly_evolv/hotswap/7u/keymaps/default/keymap.c +37 -0
@@ 0,0 1,37 @@
/* 
 * Copyright 2023 owlab
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
	[0] = LAYOUT(
		KC_ESC,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,            KC_PSCR, 
		KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSPC,  KC_DEL,
		KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS,  KC_PGUP,
		KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,          KC_ENT,   KC_PGDN,
		KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT,          KC_UP,
		KC_LCTL, KC_LGUI, KC_LALT,                   KC_SPC,                                      MO(1),            KC_LEFT, KC_DOWN, KC_RGHT
	),
	[1] = LAYOUT(
		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS,
		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
		KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, 
		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, 
		KC_TRNS, KC_TRNS, KC_TRNS,                   KC_TRNS,                                     KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS
	)
};
\ No newline at end of file

A keyboards/owlab/jelly_evolv/hotswap/7u/keymaps/via/keymap.c => keyboards/owlab/jelly_evolv/hotswap/7u/keymaps/via/keymap.c +37 -0
@@ 0,0 1,37 @@
/* 
 * Copyright 2023 owlab
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
	[0] = LAYOUT(
		KC_ESC,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,            KC_PSCR, 
		KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSPC,  KC_DEL,
		KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS,  KC_PGUP,
		KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,          KC_ENT,   KC_PGDN,
		KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT,          KC_UP,
		KC_LCTL, KC_LGUI, KC_LALT,                   KC_SPC,                                      MO(1),            KC_LEFT, KC_DOWN, KC_RGHT
	),
	[1] = LAYOUT(
		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS,
		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
		KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, 
		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, 
		KC_TRNS, KC_TRNS, KC_TRNS,                   KC_TRNS,                                     KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS
	)
};
\ No newline at end of file

A keyboards/owlab/jelly_evolv/hotswap/7u/keymaps/via/rules.mk => keyboards/owlab/jelly_evolv/hotswap/7u/keymaps/via/rules.mk +2 -0
@@ 0,0 1,2 @@
VIA_ENABLE = yes
LTO_ENABLE = yes
\ No newline at end of file

A keyboards/owlab/jelly_evolv/hotswap/7u/readme.md => keyboards/owlab/jelly_evolv/hotswap/7u/readme.md +21 -0
@@ 0,0 1,21 @@
# Jelly Evolv - Hotswap 7U PCB

![jelly evolv](https://i.imgur.com/yZ89zVkh.jpg)

A 75% made by Owlab.

* Keyboard Maintainer: [owlab](https://github.com/lizhenmingdirk)
* Hardware Supported: Jelly Evolv Hotswap 7U PCB
* Hardware Availability: Ended groupbuy: https://www.zfrontier.com/app/flow/W58MLYOGdVVQ

Make example for this keyboard (after setting up your build environment):

    make owlab/jelly_evolv/hotswap/7u:default

Flashing example for this keyboard:

    make owlab/jelly_evolv/hotswap/7u:default:flash

**Bootloader:** Press the button B of the PCB while plugging in the board.

See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
\ No newline at end of file

A keyboards/owlab/jelly_evolv/hotswap/7u/rules.mk => keyboards/owlab/jelly_evolv/hotswap/7u/rules.mk +5 -0
@@ 0,0 1,5 @@
MCU_LDSCRIPT = STM32F103x8_0x08006000_bootloader
DFU_ARGS = -d 1688:2220 -a 0 -s 0x08006000 
DFU_SUFFIX_ARGS = -v 1688 -p 2220
BOOTLOADER_TYPE = stm32duino
OPT_DEFS += -DBOOTLOADER_STM32DUINO
\ No newline at end of file

A keyboards/owlab/jelly_evolv/info.json => keyboards/owlab/jelly_evolv/info.json +44 -0
@@ 0,0 1,44 @@
{
    "manufacturer": "OwLab",
    "url": "",
    "maintainer": "Owlab",
    "usb": {
        "vid": "0x4F53"
    },
    "matrix_pins": {
        "cols": ["A7", "B0", "B1", "B2", "B10", "B11", "B12", "B13", "B14", "B15", "A8", "A9", "A10", "A15", "B4"],
        "rows": ["A1", "A2", "A3", "A5", "A4", "A6"]
    },
    "diode_direction": "COL2ROW",
    "ws2812": {
        "pin": "B3"
    },
    "indicators": {
        "caps_lock": "A0",
        "on_state": 0
    },
    "features": {
        "bootmagic": true,
        "extrakey": true,
        "mousekey": true,
        "nkro": true,
        "rgblight": true
    },
    "processor": "STM32F103",
    "board": "STM32_F103_STM32DUINO",
    "rgblight": {
        "animations": {
            "breathing": true,
            "christmas": true,
            "knight": true,
            "rainbow_mood": true,
            "rainbow_swirl": true,
            "snake": true,
            "static_gradient": true
        },
        "brightness_steps": 10,
        "led_count": 123,
        "max_brightness": 100,
        "saturation_steps": 8
    }
}
\ No newline at end of file

A keyboards/owlab/jelly_evolv/ld/STM32F103x8_0x08006000_bootloader.ld => keyboards/owlab/jelly_evolv/ld/STM32F103x8_0x08006000_bootloader.ld +89 -0
@@ 0,0 1,89 @@
/*
    ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
*/

/*
 * STM32F103x8 memory setup for use with the STM32Duino bootloader.
 */
f103_flash_size = 128k;

MEMORY
{
    /*Here we give 22K flash to bootloader*/
    /*0x08005800 : the application bin start address*/
    flash0  : org = 0x08006000, len = f103_flash_size - 0x6000
    flash1  : org = 0x00000000, len = 0
    flash2  : org = 0x00000000, len = 0
    flash3  : org = 0x00000000, len = 0
    flash4  : org = 0x00000000, len = 0
    flash5  : org = 0x00000000, len = 0
    flash6  : org = 0x00000000, len = 0
    flash7  : org = 0x00000000, len = 0
    ram0    : org = 0x20000000, len = 20k
    ram1    : org = 0x00000000, len = 0
    ram2    : org = 0x00000000, len = 0
    ram3    : org = 0x00000000, len = 0
    ram4    : org = 0x00000000, len = 0
    ram5    : org = 0x00000000, len = 0
    ram6    : org = 0x00000000, len = 0
    ram7    : org = 0x00000000, len = 0
}

/* For each data/text section two region are defined, a virtual region
   and a load region (_LMA suffix).*/

/* Flash region to be used for exception vectors.*/
REGION_ALIAS("VECTORS_FLASH", flash0);
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);

/* Flash region to be used for constructors and destructors.*/
REGION_ALIAS("XTORS_FLASH", flash0);
REGION_ALIAS("XTORS_FLASH_LMA", flash0);

/* Flash region to be used for code text.*/
REGION_ALIAS("TEXT_FLASH", flash0);
REGION_ALIAS("TEXT_FLASH_LMA", flash0);

/* Flash region to be used for read only data.*/
REGION_ALIAS("RODATA_FLASH", flash0);
REGION_ALIAS("RODATA_FLASH_LMA", flash0);

/* Flash region to be used for various.*/
REGION_ALIAS("VARIOUS_FLASH", flash0);
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);

/* Flash region to be used for RAM(n) initialization data.*/
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);

/* RAM region to be used for Main stack. This stack accommodates the processing
   of all exceptions and interrupts.*/
REGION_ALIAS("MAIN_STACK_RAM", ram0);

/* RAM region to be used for the process stack. This is the stack used by
   the main() function.*/
REGION_ALIAS("PROCESS_STACK_RAM", ram0);

/* RAM region to be used for data segment.*/
REGION_ALIAS("DATA_RAM", ram0);
REGION_ALIAS("DATA_RAM_LMA", flash0);

/* RAM region to be used for BSS segment.*/
REGION_ALIAS("BSS_RAM", ram0);

/* RAM region to be used for the default heap.*/
REGION_ALIAS("HEAP_RAM", ram0);

/* Generic rules inclusion.*/
INCLUDE rules.ld
\ No newline at end of file

A keyboards/owlab/jelly_evolv/solder/info.json => keyboards/owlab/jelly_evolv/solder/info.json +95 -0
@@ 0,0 1,95 @@
{
    "keyboard_name": "Jelly Evolv Solder",
    "usb": {
        "pid": "0x4A56",
        "device_version": "0.0.1"
    },
    "layouts": {
        "LAYOUT": {
            "layout": [
                {"matrix": [0, 0], "x":0, "y":0},
                {"matrix": [0, 1], "x":1.5, "y":0},
                {"matrix": [0, 2], "x":2.5, "y":0},
                {"matrix": [0, 3], "x":3.5, "y":0},
                {"matrix": [0, 4], "x":4.5, "y":0},
                {"matrix": [0, 5], "x":6, "y":0},
                {"matrix": [0, 6], "x":7, "y":0},
                {"matrix": [0, 7], "x":8, "y":0},
                {"matrix": [0, 8], "x":9, "y":0},
                {"matrix": [0, 9], "x":10.5, "y":0},
                {"matrix": [0, 10], "x":11.5, "y":0},
                {"matrix": [0, 11], "x":12.5, "y":0},
                {"matrix": [0, 12], "x":13.5, "y":0},
                {"matrix": [0, 14], "x":15, "y":0},
                {"matrix": [1, 0], "x":0, "y":1.5},
                {"matrix": [1, 1], "x":1, "y":1.5},
                {"matrix": [1, 2], "x":2, "y":1.5},
                {"matrix": [1, 3], "x":3, "y":1.5},
                {"matrix": [1, 4], "x":4, "y":1.5},
                {"matrix": [1, 5], "x":5, "y":1.5},
                {"matrix": [1, 6], "x":6, "y":1.5},
                {"matrix": [1, 7], "x":7, "y":1.5},
                {"matrix": [1, 8], "x":8, "y":1.5},
                {"matrix": [1, 9], "x":9, "y":1.5},
                {"matrix": [1, 10], "x":10, "y":1.5},
                {"matrix": [1, 11], "x":11, "y":1.5},
                {"matrix": [1, 12], "x":12, "y":1.5},
                {"matrix": [2, 13], "x":13, "y":1.5},
                {"matrix": [1, 13], "x":14, "y":1.5},
                {"matrix": [1, 14], "x":15, "y":1.5},
                {"matrix": [2, 0], "x":0, "y":2.5, "w":1.5},
                {"matrix": [2, 1], "x":1.5, "y":2.5},
                {"matrix": [2, 2], "x":2.5, "y":2.5},
                {"matrix": [2, 3], "x":3.5, "y":2.5},
                {"matrix": [2, 4], "x":4.5, "y":2.5},
                {"matrix": [2, 5], "x":5.5, "y":2.5},
                {"matrix": [2, 6], "x":6.5, "y":2.5},
                {"matrix": [2, 7], "x":7.5, "y":2.5},
                {"matrix": [2, 8], "x":8.5, "y":2.5},
                {"matrix": [2, 9], "x":9.5, "y":2.5},
                {"matrix": [2, 10], "x":10.5, "y":2.5},
                {"matrix": [2, 11], "x":11.5, "y":2.5},
                {"matrix": [2, 12], "x":12.5, "y":2.5},
                {"matrix": [3, 12], "x":13.5, "y":2.5, "w":1.5},
                {"matrix": [2, 14], "x":15, "y":2.5},
                {"matrix": [3, 0], "x":0, "y":3.5, "w":1.75},
                {"matrix": [3, 1], "x":1.75, "y":3.5},
                {"matrix": [3, 2], "x":2.75, "y":3.5},
                {"matrix": [3, 3], "x":3.75, "y":3.5},
                {"matrix": [3, 4], "x":4.75, "y":3.5},
                {"matrix": [3, 5], "x":5.75, "y":3.5},
                {"matrix": [3, 6], "x":6.75, "y":3.5},
                {"matrix": [3, 7], "x":7.75, "y":3.5},
                {"matrix": [3, 8], "x":8.75, "y":3.5},
                {"matrix": [3, 9], "x":9.75, "y":3.5},
                {"matrix": [3, 10], "x":10.75, "y":3.5},
                {"matrix": [3, 11], "x":11.75, "y":3.5},
                {"matrix": [3, 13], "x":12.75, "y":3.5, "w":2.25},
                {"matrix": [3, 14], "x":15, "y":3.5},
                {"matrix": [4, 0], "x":0, "y":4.5, "w":1.25},
                {"matrix": [5, 3], "x":1.25, "y":4.5},
                {"matrix": [4, 1], "x":2.25, "y":4.5},
                {"matrix": [4, 2], "x":3.25, "y":4.5},
                {"matrix": [4, 3], "x":4.25, "y":4.5},
                {"matrix": [4, 4], "x":5.25, "y":4.5},
                {"matrix": [4, 5], "x":6.25, "y":4.5},
                {"matrix": [4, 6], "x":7.25, "y":4.5},
                {"matrix": [4, 7], "x":8.25, "y":4.5},
                {"matrix": [4, 8], "x":9.25, "y":4.5},
                {"matrix": [4, 9], "x":10.25, "y":4.5},
                {"matrix": [4, 10], "x":11.25, "y":4.5},
                {"matrix": [4, 11], "x":12.25, "y":4.5, "w":1.75},
                {"matrix": [4, 13], "x":14, "y":4.5},
                {"matrix": [5, 0], "x":0, "y":5.5, "w":1.25},
                {"matrix": [5, 1], "x":1.25, "y":5.5, "w":1.25},
                {"matrix": [5, 2], "x":2.5, "y":5.5, "w":1.25},
                {"matrix": [5, 5], "x":3.75, "y":5.5, "w":6.25},
                {"matrix": [5, 9], "x":10, "y":5.5, "w":1.25},
                {"matrix": [5, 10], "x":11.25, "y":5.5, "w":1.25},
                {"matrix": [5, 12], "x":13, "y":5.5},
                {"matrix": [5, 13], "x":14, "y":5.5},
                {"matrix": [5, 14], "x":15, "y":5.5}
            ]
        }
    }
}

A keyboards/owlab/jelly_evolv/solder/keymaps/default/keymap.c => keyboards/owlab/jelly_evolv/solder/keymaps/default/keymap.c +37 -0
@@ 0,0 1,37 @@
/* 
 * Copyright 2023 owlab
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
	[0] = LAYOUT(
		KC_ESC,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_PSCR,
		KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSLS, KC_BSPC, KC_DEL,
		KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
		KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,          KC_ENT,  KC_PGDN,
		KC_LSFT, KC_NUBS, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, KC_UP,
		KC_LCTL, KC_LGUI, KC_LALT,                   KC_SPC,                             KC_RALT, MO(1),            KC_LEFT, KC_DOWN, KC_RGHT
	),
	[1] = LAYOUT(
		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
		KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, 
		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
		KC_TRNS, KC_TRNS, KC_TRNS,                   KC_TRNS,                            KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS
	)
};
\ No newline at end of file

A keyboards/owlab/jelly_evolv/solder/keymaps/via/keymap.c => keyboards/owlab/jelly_evolv/solder/keymaps/via/keymap.c +37 -0
@@ 0,0 1,37 @@
/* 
 * Copyright 2023 owlab
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
	[0] = LAYOUT(
		KC_ESC,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_PSCR,
		KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSLS, KC_BSPC, KC_DEL,
		KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
		KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,          KC_ENT,  KC_PGDN,
		KC_LSFT, KC_NUBS, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, KC_UP,
		KC_LCTL, KC_LGUI, KC_LALT,                   KC_SPC,                             KC_RALT, MO(1),            KC_LEFT, KC_DOWN, KC_RGHT
	),
	[1] = LAYOUT(
		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
		KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, 
		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
		KC_TRNS, KC_TRNS, KC_TRNS,                   KC_TRNS,                            KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS
	)
};
\ No newline at end of file

A keyboards/owlab/jelly_evolv/solder/keymaps/via/rules.mk => keyboards/owlab/jelly_evolv/solder/keymaps/via/rules.mk +2 -0
@@ 0,0 1,2 @@
VIA_ENABLE = yes
LTO_ENABLE = yes
\ No newline at end of file

A keyboards/owlab/jelly_evolv/solder/readme.md => keyboards/owlab/jelly_evolv/solder/readme.md +21 -0
@@ 0,0 1,21 @@
# Jelly Evolv - soldered PCB

![jelly evolv](https://i.imgur.com/Kk49RUVh.jpg)

A 75% made by Owlab.

* Keyboard Maintainer: [owlab](https://github.com/lizhenmingdirk)
* Hardware Supported: Jelly Evolv solder PCB
* Hardware Availability: Ended groupbuy: https://www.zfrontier.com/app/flow/W58MLYOGdVVQ

Make example for this keyboard (after setting up your build environment):

    make owlab/jelly_evolv/solder:default

Flashing example for this keyboard:

    make owlab/jelly_evolv/solder:default:flash

**Bootloader:** Press the button B of the PCB while plugging in the board.

See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
\ No newline at end of file

A keyboards/owlab/jelly_evolv/solder/rules.mk => keyboards/owlab/jelly_evolv/solder/rules.mk +5 -0
@@ 0,0 1,5 @@
MCU_LDSCRIPT = STM32F103x8_0x08006000_bootloader
DFU_ARGS = -d 1688:2220 -a 0 -s 0x08006000 
DFU_SUFFIX_ARGS = -v 1688 -p 2220
BOOTLOADER_TYPE = stm32duino
OPT_DEFS += -DBOOTLOADER_STM32DUINO
\ No newline at end of file

Do not follow this link