From b8bbd0cb9a6f5ded5c1ec31bf0249ed843d200e8 Mon Sep 17 00:00:00 2001
From: Uy Bui <uybv.cntt@gmail.com>
Date: Wed, 8 Jun 2022 01:28:13 +0700
Subject: [PATCH] [Keyboard] Add Stello65 keyboard (#17168)

* [Keyboard] add Stello65 keyboard

* Apply suggestions from code review

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Apply suggestions from code review

Co-authored-by: Ryan <fauxpark@gmail.com>

* [Keyboard] update config pinout for stello65_sl_rev1

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
---
 .../stelo65.c => stello65/beta/beta.c}        |   2 +-
 .../stelo65.h => stello65/beta/beta.h}        |   0
 .../{wekey/stelo65 => stello65/beta}/config.h |   4 +-
 .../beta}/encoder_actions.c                   |   0
 .../beta}/encoder_actions.h                   |   0
 .../stelo65 => stello65/beta}/info.json       |   2 +-
 .../beta}/keymaps/default/keymap.c            |   0
 .../stello65/beta/keymaps/default/readme.md   |   1 +
 .../beta}/keymaps/via/keymap.c                |   0
 .../beta}/keymaps/via/rules.mk                |   0
 .../stelo65 => stello65/beta}/readme.md       |  10 +-
 .../{wekey/stelo65 => stello65/beta}/rules.mk |   0
 keyboards/stello65/hs_rev1/config.h           | 129 ++++++++++++++++++
 keyboards/stello65/hs_rev1/hs_rev1.c          |   4 +
 keyboards/stello65/hs_rev1/hs_rev1.h          |  35 +++++
 keyboards/stello65/hs_rev1/info.json          |  10 ++
 .../stello65/hs_rev1/keymaps/default/keymap.c |  21 +++
 .../hs_rev1/keymaps/default/readme.md         |   1 +
 .../stello65/hs_rev1/keymaps/via/keymap.c     |  35 +++++
 .../stello65/hs_rev1/keymaps/via/rules.mk     |   2 +
 keyboards/stello65/hs_rev1/readme.md          |  27 ++++
 keyboards/stello65/hs_rev1/rules.mk           |  18 +++
 keyboards/stello65/sl_rev1/config.h           | 129 ++++++++++++++++++
 keyboards/stello65/sl_rev1/info.json          |  10 ++
 .../stello65/sl_rev1/keymaps/default/keymap.c |  21 +++
 .../sl_rev1/keymaps/default/readme.md         |   1 +
 .../stello65/sl_rev1/keymaps/via/keymap.c     |  35 +++++
 .../stello65/sl_rev1/keymaps/via/rules.mk     |   2 +
 keyboards/stello65/sl_rev1/readme.md          |  27 ++++
 keyboards/stello65/sl_rev1/rules.mk           |  18 +++
 keyboards/stello65/sl_rev1/sl_rev1.c          |   4 +
 keyboards/stello65/sl_rev1/sl_rev1.h          |  35 +++++
 .../wekey/stelo65/keymaps/default/readme.md   |   1 -
 33 files changed, 574 insertions(+), 10 deletions(-)
 rename keyboards/{wekey/stelo65/stelo65.c => stello65/beta/beta.c} (94%)
 rename keyboards/{wekey/stelo65/stelo65.h => stello65/beta/beta.h} (100%)
 rename keyboards/{wekey/stelo65 => stello65/beta}/config.h (98%)
 rename keyboards/{wekey/stelo65 => stello65/beta}/encoder_actions.c (100%)
 rename keyboards/{wekey/stelo65 => stello65/beta}/encoder_actions.h (100%)
 rename keyboards/{wekey/stelo65 => stello65/beta}/info.json (98%)
 rename keyboards/{wekey/stelo65 => stello65/beta}/keymaps/default/keymap.c (100%)
 create mode 100644 keyboards/stello65/beta/keymaps/default/readme.md
 rename keyboards/{wekey/stelo65 => stello65/beta}/keymaps/via/keymap.c (100%)
 rename keyboards/{wekey/stelo65 => stello65/beta}/keymaps/via/rules.mk (100%)
 rename keyboards/{wekey/stelo65 => stello65/beta}/readme.md (83%)
 rename keyboards/{wekey/stelo65 => stello65/beta}/rules.mk (100%)
 create mode 100644 keyboards/stello65/hs_rev1/config.h
 create mode 100644 keyboards/stello65/hs_rev1/hs_rev1.c
 create mode 100644 keyboards/stello65/hs_rev1/hs_rev1.h
 create mode 100644 keyboards/stello65/hs_rev1/info.json
 create mode 100644 keyboards/stello65/hs_rev1/keymaps/default/keymap.c
 create mode 100644 keyboards/stello65/hs_rev1/keymaps/default/readme.md
 create mode 100644 keyboards/stello65/hs_rev1/keymaps/via/keymap.c
 create mode 100644 keyboards/stello65/hs_rev1/keymaps/via/rules.mk
 create mode 100644 keyboards/stello65/hs_rev1/readme.md
 create mode 100644 keyboards/stello65/hs_rev1/rules.mk
 create mode 100644 keyboards/stello65/sl_rev1/config.h
 create mode 100644 keyboards/stello65/sl_rev1/info.json
 create mode 100644 keyboards/stello65/sl_rev1/keymaps/default/keymap.c
 create mode 100644 keyboards/stello65/sl_rev1/keymaps/default/readme.md
 create mode 100644 keyboards/stello65/sl_rev1/keymaps/via/keymap.c
 create mode 100644 keyboards/stello65/sl_rev1/keymaps/via/rules.mk
 create mode 100644 keyboards/stello65/sl_rev1/readme.md
 create mode 100644 keyboards/stello65/sl_rev1/rules.mk
 create mode 100644 keyboards/stello65/sl_rev1/sl_rev1.c
 create mode 100644 keyboards/stello65/sl_rev1/sl_rev1.h
 delete mode 100644 keyboards/wekey/stelo65/keymaps/default/readme.md

diff --git a/keyboards/wekey/stelo65/stelo65.c b/keyboards/stello65/beta/beta.c
similarity index 94%
rename from keyboards/wekey/stelo65/stelo65.c
rename to keyboards/stello65/beta/beta.c
index 922f399a6d..c5921d3aac 100644
--- a/keyboards/wekey/stelo65/stelo65.c
+++ b/keyboards/stello65/beta/beta.c
@@ -1,7 +1,7 @@
 // Copyright 2021 @wekey (@@wekey)
 // SPDX-License-Identifier: GPL-2.0-or-later
 
-#include "stelo65.h"
+#include "beta.h"
 #include "encoder_actions.h"
 
 void matrix_scan_kb(void) {
diff --git a/keyboards/wekey/stelo65/stelo65.h b/keyboards/stello65/beta/beta.h
similarity index 100%
rename from keyboards/wekey/stelo65/stelo65.h
rename to keyboards/stello65/beta/beta.h
diff --git a/keyboards/wekey/stelo65/config.h b/keyboards/stello65/beta/config.h
similarity index 98%
rename from keyboards/wekey/stelo65/config.h
rename to keyboards/stello65/beta/config.h
index 6bcd065ac4..5316f351d7 100644
--- a/keyboards/wekey/stelo65/config.h
+++ b/keyboards/stello65/beta/config.h
@@ -10,7 +10,7 @@
 #define PRODUCT_ID   0x0003
 #define DEVICE_VER   0x0001
 #define MANUFACTURER @wekey
-#define PRODUCT      Stelo65
+#define PRODUCT      Stello65
 
 /* key matrix size */
 #define MATRIX_ROWS 10
@@ -35,7 +35,7 @@
 
 #ifdef ENCODER_ENABLE
 #define ENCODERS_PAD_A { D3 }
-#define ENCODERS_PAD_B { D2 } 
+#define ENCODERS_PAD_B { D2 }
 #define ENCODER_RESOLUTION 2
 
 #define ENCODERS 1
diff --git a/keyboards/wekey/stelo65/encoder_actions.c b/keyboards/stello65/beta/encoder_actions.c
similarity index 100%
rename from keyboards/wekey/stelo65/encoder_actions.c
rename to keyboards/stello65/beta/encoder_actions.c
diff --git a/keyboards/wekey/stelo65/encoder_actions.h b/keyboards/stello65/beta/encoder_actions.h
similarity index 100%
rename from keyboards/wekey/stelo65/encoder_actions.h
rename to keyboards/stello65/beta/encoder_actions.h
diff --git a/keyboards/wekey/stelo65/info.json b/keyboards/stello65/beta/info.json
similarity index 98%
rename from keyboards/wekey/stelo65/info.json
rename to keyboards/stello65/beta/info.json
index dbaa157b5b..7f2e785858 100644
--- a/keyboards/wekey/stelo65/info.json
+++ b/keyboards/stello65/beta/info.json
@@ -1,5 +1,5 @@
 {
-    "keyboard_name": "Stelo65",
+    "keyboard_name": "Stello65",
     "url": "",
     "maintainer": "@wekey",
     "layouts": {
diff --git a/keyboards/wekey/stelo65/keymaps/default/keymap.c b/keyboards/stello65/beta/keymaps/default/keymap.c
similarity index 100%
rename from keyboards/wekey/stelo65/keymaps/default/keymap.c
rename to keyboards/stello65/beta/keymaps/default/keymap.c
diff --git a/keyboards/stello65/beta/keymaps/default/readme.md b/keyboards/stello65/beta/keymaps/default/readme.md
new file mode 100644
index 0000000000..6eb1659ce7
--- /dev/null
+++ b/keyboards/stello65/beta/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for stello65
diff --git a/keyboards/wekey/stelo65/keymaps/via/keymap.c b/keyboards/stello65/beta/keymaps/via/keymap.c
similarity index 100%
rename from keyboards/wekey/stelo65/keymaps/via/keymap.c
rename to keyboards/stello65/beta/keymaps/via/keymap.c
diff --git a/keyboards/wekey/stelo65/keymaps/via/rules.mk b/keyboards/stello65/beta/keymaps/via/rules.mk
similarity index 100%
rename from keyboards/wekey/stelo65/keymaps/via/rules.mk
rename to keyboards/stello65/beta/keymaps/via/rules.mk
diff --git a/keyboards/wekey/stelo65/readme.md b/keyboards/stello65/beta/readme.md
similarity index 83%
rename from keyboards/wekey/stelo65/readme.md
rename to keyboards/stello65/beta/readme.md
index 0a9d106664..cb2f156ec2 100644
--- a/keyboards/wekey/stelo65/readme.md
+++ b/keyboards/stello65/beta/readme.md
@@ -1,20 +1,20 @@
-# stelo65
+# stello65
 
-![stelo65](https://i.imgur.com/dvzVYH1h.png)
+![stello65](https://i.imgur.com/dvzVYH1h.png)
 
 65% keyboard with encoder.
 
 * Keyboard Maintainer: [@wekey](https://github.com/wekey-dev)
-* Hardware Supported: Stelo65 case, ATMEGA32U4
+* Hardware Supported: Stello65 case, ATMEGA32U4
 * Hardware Availability: Group buy
 
 Make example for this keyboard (after setting up your build environment):
 
-    make stelo65:default
+    make stello65/beta:default
 
 Flashing example for this keyboard:
 
-    make stelo65:default:flash
+    make stello65/beta:default:flash
 
 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).
 
diff --git a/keyboards/wekey/stelo65/rules.mk b/keyboards/stello65/beta/rules.mk
similarity index 100%
rename from keyboards/wekey/stelo65/rules.mk
rename to keyboards/stello65/beta/rules.mk
diff --git a/keyboards/stello65/hs_rev1/config.h b/keyboards/stello65/hs_rev1/config.h
new file mode 100644
index 0000000000..45b0c5ffb3
--- /dev/null
+++ b/keyboards/stello65/hs_rev1/config.h
@@ -0,0 +1,129 @@
+// Copyright 2022 @wekey (@wekey)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID    0x5559
+#define PRODUCT_ID   0x0004
+#define DEVICE_VER   0x0001
+#define MANUFACTURER @wekey
+#define PRODUCT      Stello65
+
+/* key matrix size */
+#define MATRIX_ROWS 10
+#define MATRIX_COLS 8
+
+/*
+ * Keyboard Matrix Assignments
+ *
+ * Change this to how you wired your keyboard
+ * COLS: AVR pins used for columns, left to right
+ * ROWS: AVR pins used for rows, top to bottom
+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
+ *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
+ *
+ */
+#define MATRIX_ROW_PINS { F1, F0, D1, D2, B6, C6, C7, F7, F6, F5 }
+#define MATRIX_COL_PINS { E6, B5, B4, D7, D6, D4, D5, D3 }
+#define UNUSED_PINS
+
+/* COL2ROW, ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/*
+ * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
+ */
+// #define SOFT_SERIAL_PIN D0  // or D1, D2, D3, E6
+
+//#define LED_NUM_LOCK_PIN B0
+//#define LED_CAPS_LOCK_PIN B1
+//#define LED_SCROLL_LOCK_PIN B2
+//#define LED_COMPOSE_PIN B3
+//#define LED_KANA_PIN B4
+
+//#define BACKLIGHT_PIN B7
+//#define BACKLIGHT_LEVELS 3
+//#define BACKLIGHT_BREATHING
+
+#define RGB_DI_PIN D0
+#ifdef RGB_DI_PIN
+#    define RGBLED_NUM 4
+//#    define RGBLIGHT_HUE_STEP 8
+//#    define RGBLIGHT_SAT_STEP 8
+//#    define RGBLIGHT_VAL_STEP 8
+//#    define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
+//#    define RGBLIGHT_SLEEP  /* If defined, the RGB lighting will be switched off when the host goes to sleep */
+/*== all animations enable ==*/
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+/*== customize breathing effect ==*/
+/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
+//#    define RGBLIGHT_BREATHE_TABLE_SIZE 256      // 256(default) or 128 or 64
+/*==== use exp() and sin() ====*/
+//#    define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85  // 1 to 2.7
+//#    define RGBLIGHT_EFFECT_BREATHE_MAX    255   // 0 to 255
+#endif
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+/* define if matrix has ghost (lacks anti-ghosting diodes) */
+//#define MATRIX_HAS_GHOST
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
+ * This is useful for the Windows task manager shortcut (ctrl+shift+esc).
+ */
+//#define GRAVE_ESC_CTRL_OVERRIDE
+
+/*
+ * Force NKRO
+ *
+ * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
+ * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
+ * makefile for this to work.)
+ *
+ * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
+ * until the next keyboard reset.
+ *
+ * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
+ * fully operational during normal computer usage.
+ *
+ * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
+ * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
+ * bootmagic, NKRO mode will always be enabled until it is toggled again during a
+ * power-up.
+ *
+ */
+//#define FORCE_NKRO
+
+/*
+ * Feature disable options
+ *  These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
diff --git a/keyboards/stello65/hs_rev1/hs_rev1.c b/keyboards/stello65/hs_rev1/hs_rev1.c
new file mode 100644
index 0000000000..527613abb0
--- /dev/null
+++ b/keyboards/stello65/hs_rev1/hs_rev1.c
@@ -0,0 +1,4 @@
+// Copyright 2022 @wekey (@wekey)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "hs_rev1.h"
diff --git a/keyboards/stello65/hs_rev1/hs_rev1.h b/keyboards/stello65/hs_rev1/hs_rev1.h
new file mode 100644
index 0000000000..25f1b269cf
--- /dev/null
+++ b/keyboards/stello65/hs_rev1/hs_rev1.h
@@ -0,0 +1,35 @@
+// Copyright 2022 @wekey (@wekey)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "quantum.h"
+
+#define K__ KC_NO
+
+/* This is a shortcut to help you visually see your layout.
+ *
+ * The first section contains all of the arguments representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+#define LAYOUT( \
+    K00, K10, K01, K11, K02, K12, K03, K13, K04, K14, K05, K15, K06, K16,       \
+    K20, K30, K21, K31, K22, K32, K23, K33, K24, K34, K25, K35, K26, K36, K27,  \
+    K40, K50, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55,      K56, K47,  \
+    K60, K70, K61, K71, K62, K72, K63, K73, K64, K74, K65, K75,      K76, K67,  \
+    K80, K90, K81, K91,                               K85, K95, K86, K96, K87   \
+) { \
+    { K00, K01, K02, K03, K04, K05, K06, K__ }, \
+    { K10, K11, K12, K13, K14, K15, K16, K__ }, \
+    { K20, K21, K22, K23, K24, K25, K26, K27 }, \
+    { K30, K31, K32, K33, K34, K35, K36, K__ }, \
+    { K40, K41, K42, K43, K44, K45, K__, K47 }, \
+    { K50, K51, K52, K53, K54, K55, K56, K__ }, \
+    { K60, K61, K62, K63, K64, K65, K__, K67 }, \
+    { K70, K71, K72, K73, K74, K75, K76, K__ }, \
+    { K80, K81, K__, K__, K__, K85, K86, K87 }, \
+    { K90, K91, K__, K__, K__, K95, K96, K__ }  \
+}
diff --git a/keyboards/stello65/hs_rev1/info.json b/keyboards/stello65/hs_rev1/info.json
new file mode 100644
index 0000000000..a743abc34d
--- /dev/null
+++ b/keyboards/stello65/hs_rev1/info.json
@@ -0,0 +1,10 @@
+{
+    "keyboard_name": "Stello65",
+    "url": "",
+    "maintainer": "@wekey",
+    "layouts": {
+        "LAYOUT": {
+            "layout": [{"label":"0,0", "x":0, "y":0}, {"label":"1,0", "x":1, "y":0}, {"label":"0,1", "x":2, "y":0}, {"label":"1,1", "x":3, "y":0}, {"label":"0,2", "x":4, "y":0}, {"label":"1,2", "x":5, "y":0}, {"label":"0,3", "x":6, "y":0}, {"label":"1,3", "x":7, "y":0}, {"label":"0,4", "x":8, "y":0}, {"label":"1,4", "x":9, "y":0}, {"label":"0,5", "x":10, "y":0}, {"label":"1,5", "x":11, "y":0}, {"label":"0,6", "x":12, "y":0}, {"label":"1,6", "x":13, "y":0, "w":2}, {"label":"2,0", "x":0, "y":1, "w":1.5}, {"label":"3,0", "x":1.5, "y":1}, {"label":"2,1", "x":2.5, "y":1}, {"label":"3,1", "x":3.5, "y":1}, {"label":"2,2", "x":4.5, "y":1}, {"label":"3,2", "x":5.5, "y":1}, {"label":"2,3", "x":6.5, "y":1}, {"label":"3,3", "x":7.5, "y":1}, {"label":"2,4", "x":8.5, "y":1}, {"label":"3,4", "x":9.5, "y":1}, {"label":"2,5", "x":10.5, "y":1}, {"label":"3,5", "x":11.5, "y":1}, {"label":"2,6", "x":12.5, "y":1}, {"label":"3,6", "x":13.5, "y":1, "w":1.5}, {"label":"2,7", "x":15, "y":1}, {"label":"4,0", "x":0, "y":2, "w":1.75}, {"label":"4,1", "x":1.75, "y":2}, {"label":"5,0", "x":2.75, "y":2}, {"label":"5,1", "x":3.75, "y":2}, {"label":"4,2", "x":4.75, "y":2}, {"label":"5,2", "x":5.75, "y":2}, {"label":"4,3", "x":6.75, "y":2}, {"label":"5,3", "x":7.75, "y":2}, {"label":"4,4", "x":8.75, "y":2}, {"label":"5,4", "x":9.75, "y":2}, {"label":"4,5", "x":10.75, "y":2}, {"label":"5,5", "x":11.75, "y":2}, {"label":"5,6", "x":12.75, "y":2, "w":2.25}, {"label":"4,7", "x":15, "y":2}, {"label":"6,0", "x":0, "y":3, "w":2.25}, {"label":"6,1", "x":2.25, "y":3}, {"label":"7,0", "x":3.25, "y":3}, {"label":"7,1", "x":4.25, "y":3}, {"label":"6,2", "x":5.25, "y":3}, {"label":"7,2", "x":6.25, "y":3}, {"label":"6,3", "x":7.25, "y":3}, {"label":"7,3", "x":8.25, "y":3}, {"label":"6,4", "x":9.25, "y":3}, {"label":"7,4", "x":10.25, "y":3}, {"label":"6,5", "x":11.25, "y":3}, {"label":"7,5", "x":12.25, "y":3}, {"label":"7,6", "x":13.25, "y":3, "w":1.75}, {"label":"6,7", "x":15, "y":3}, {"label":"8,0", "x":0, "y":4, "w":1.25}, {"label":"9,0", "x":1.25, "y":4, "w":1.25}, {"label":"8,1", "x":2.5, "y":4, "w":1.25}, {"label":"9,1", "x":3.75, "y":4, "w":6.25}, {"label":"8,5", "x":10, "y":4, "w":1.25}, {"label":"9,5", "x":11.25, "y":4, "w":1.25}, {"label":"8,6", "x":13, "y":4}, {"label":"9,6", "x":14, "y":4}, {"label":"8,7", "x":15, "y":4}]
+        }
+    }
+}
diff --git a/keyboards/stello65/hs_rev1/keymaps/default/keymap.c b/keyboards/stello65/hs_rev1/keymaps/default/keymap.c
new file mode 100644
index 0000000000..4388c1d9bc
--- /dev/null
+++ b/keyboards/stello65/hs_rev1/keymaps/default/keymap.c
@@ -0,0 +1,21 @@
+// Copyright 2022 @wekey (@wekey)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#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_MINS, KC_EQL,  KC_BSLS,
+        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_BSPC, KC_PGUP,
+        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_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_END,
+        KC_LCTL, KC_LGUI, KC_LALT,                KC_SPC,                          KC_RALT, MO(1),            KC_LEFT, KC_DOWN, KC_RGHT
+    ),
+    [1] = LAYOUT(
+        KC_TRNS, 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_TRNS,
+        RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, RESET,   KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS,                   KC_TRNS,                            KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS
+    ),
+};
diff --git a/keyboards/stello65/hs_rev1/keymaps/default/readme.md b/keyboards/stello65/hs_rev1/keymaps/default/readme.md
new file mode 100644
index 0000000000..84d98e93dc
--- /dev/null
+++ b/keyboards/stello65/hs_rev1/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for Stello65
diff --git a/keyboards/stello65/hs_rev1/keymaps/via/keymap.c b/keyboards/stello65/hs_rev1/keymaps/via/keymap.c
new file mode 100644
index 0000000000..66282a632e
--- /dev/null
+++ b/keyboards/stello65/hs_rev1/keymaps/via/keymap.c
@@ -0,0 +1,35 @@
+// Copyright 2022 @wekey (@wekey)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#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_MINS, KC_EQL,  KC_BSLS,
+        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_BSPC, KC_PGUP,
+        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_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_END,
+        KC_LCTL, KC_LGUI, KC_LALT,                KC_SPC,                          KC_RALT, MO(1),            KC_LEFT, KC_DOWN, KC_RGHT
+    ),
+    [1] = LAYOUT(
+        KC_TRNS, 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_TRNS,
+        RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, RESET,   KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS,                   KC_TRNS,                            KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS
+    ),
+    [2] = 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS,                   KC_TRNS,                            KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS
+    ),
+    [3] = 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS,                   KC_TRNS,                            KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS
+    ),
+};
diff --git a/keyboards/stello65/hs_rev1/keymaps/via/rules.mk b/keyboards/stello65/hs_rev1/keymaps/via/rules.mk
new file mode 100644
index 0000000000..16d33cd89f
--- /dev/null
+++ b/keyboards/stello65/hs_rev1/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+
diff --git a/keyboards/stello65/hs_rev1/readme.md b/keyboards/stello65/hs_rev1/readme.md
new file mode 100644
index 0000000000..75f83b052c
--- /dev/null
+++ b/keyboards/stello65/hs_rev1/readme.md
@@ -0,0 +1,27 @@
+# Stello65
+
+![Stello65](https://i.imgur.com/dvzVYH1h.png)
+
+Stello keyboard
+
+* Keyboard Maintainer: [@wekey](https://github.com/wekey-dev)
+* Hardware Supported: Stello65 case, ATMEGA32U4
+* Hardware Availability: Group buy
+
+Make example for this keyboard (after setting up your build environment):
+
+    make stello65/hs_rev1:default
+
+Flashing example for this keyboard:
+
+    make stello65/hs_rev1:default:flash
+
+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).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `RESET` if it is available
diff --git a/keyboards/stello65/hs_rev1/rules.mk b/keyboards/stello65/hs_rev1/rules.mk
new file mode 100644
index 0000000000..85eec9079f
--- /dev/null
+++ b/keyboards/stello65/hs_rev1/rules.mk
@@ -0,0 +1,18 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+#   change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes       # Mouse keys
+EXTRAKEY_ENABLE = yes       # Audio control and System control
+CONSOLE_ENABLE = no         # Console for debug
+COMMAND_ENABLE = no         # Commands for debug and configuration
+NKRO_ENABLE = yes           # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
+AUDIO_ENABLE = no           # Audio output
diff --git a/keyboards/stello65/sl_rev1/config.h b/keyboards/stello65/sl_rev1/config.h
new file mode 100644
index 0000000000..bbf7c0a80f
--- /dev/null
+++ b/keyboards/stello65/sl_rev1/config.h
@@ -0,0 +1,129 @@
+// Copyright 2022 @wekey (@wekey)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID    0x5559
+#define PRODUCT_ID   0x0005
+#define DEVICE_VER   0x0001
+#define MANUFACTURER @wekey
+#define PRODUCT      Stello65
+
+/* key matrix size */
+#define MATRIX_ROWS 10
+#define MATRIX_COLS 8
+
+/*
+ * Keyboard Matrix Assignments
+ *
+ * Change this to how you wired your keyboard
+ * COLS: AVR pins used for columns, left to right
+ * ROWS: AVR pins used for rows, top to bottom
+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
+ *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
+ *
+ */
+#define MATRIX_ROW_PINS { F0, E6, D0, D1, C6, F7, F6, F5, F4, F1 }
+#define MATRIX_COL_PINS { C7, B4, D7, D6, D4, D5, D3, D2 }
+#define UNUSED_PINS
+
+/* COL2ROW, ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/*
+ * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
+ */
+// #define SOFT_SERIAL_PIN D0  // or D1, D2, D3, E6
+
+//#define LED_NUM_LOCK_PIN B0
+//#define LED_CAPS_LOCK_PIN B1
+//#define LED_SCROLL_LOCK_PIN B2
+//#define LED_COMPOSE_PIN B3
+//#define LED_KANA_PIN B4
+
+//#define BACKLIGHT_PIN B7
+//#define BACKLIGHT_LEVELS 3
+//#define BACKLIGHT_BREATHING
+
+#define RGB_DI_PIN B7
+#ifdef RGB_DI_PIN
+#    define RGBLED_NUM 4
+//#    define RGBLIGHT_HUE_STEP 8
+//#    define RGBLIGHT_SAT_STEP 8
+//#    define RGBLIGHT_VAL_STEP 8
+//#    define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
+//#    define RGBLIGHT_SLEEP  /* If defined, the RGB lighting will be switched off when the host goes to sleep */
+/*== all animations enable ==*/
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+/*== customize breathing effect ==*/
+/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
+//#    define RGBLIGHT_BREATHE_TABLE_SIZE 256      // 256(default) or 128 or 64
+/*==== use exp() and sin() ====*/
+//#    define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85  // 1 to 2.7
+//#    define RGBLIGHT_EFFECT_BREATHE_MAX    255   // 0 to 255
+#endif
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+/* define if matrix has ghost (lacks anti-ghosting diodes) */
+//#define MATRIX_HAS_GHOST
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
+ * This is useful for the Windows task manager shortcut (ctrl+shift+esc).
+ */
+//#define GRAVE_ESC_CTRL_OVERRIDE
+
+/*
+ * Force NKRO
+ *
+ * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
+ * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
+ * makefile for this to work.)
+ *
+ * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
+ * until the next keyboard reset.
+ *
+ * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
+ * fully operational during normal computer usage.
+ *
+ * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
+ * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
+ * bootmagic, NKRO mode will always be enabled until it is toggled again during a
+ * power-up.
+ *
+ */
+//#define FORCE_NKRO
+
+/*
+ * Feature disable options
+ *  These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
diff --git a/keyboards/stello65/sl_rev1/info.json b/keyboards/stello65/sl_rev1/info.json
new file mode 100644
index 0000000000..1a1f044b3b
--- /dev/null
+++ b/keyboards/stello65/sl_rev1/info.json
@@ -0,0 +1,10 @@
+{
+    "keyboard_name": "Stello65",
+    "url": "",
+    "maintainer": "@wekey",
+    "layouts": {
+        "LAYOUT": {
+            "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
+        }
+    }
+}
diff --git a/keyboards/stello65/sl_rev1/keymaps/default/keymap.c b/keyboards/stello65/sl_rev1/keymaps/default/keymap.c
new file mode 100644
index 0000000000..c54b390d1b
--- /dev/null
+++ b/keyboards/stello65/sl_rev1/keymaps/default/keymap.c
@@ -0,0 +1,21 @@
+// Copyright 2022 @wekey (@wekey)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#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_MINS, KC_EQL,  KC_BSLS, 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_BSPC, KC_PGUP,
+        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_ENT,  KC_PGDN,
+        KC_LSFT, 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_END,
+        KC_LCTL, KC_LGUI, KC_LALT,                KC_SPC,                          KC_RALT, MO(1),            KC_LEFT, KC_DOWN, KC_RGHT
+    ),
+    [1] = LAYOUT(
+        KC_TRNS, 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_TRNS, KC_TRNS,
+        RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, RESET,   KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS,                   KC_TRNS,                            KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS
+    ),
+};
diff --git a/keyboards/stello65/sl_rev1/keymaps/default/readme.md b/keyboards/stello65/sl_rev1/keymaps/default/readme.md
new file mode 100644
index 0000000000..84d98e93dc
--- /dev/null
+++ b/keyboards/stello65/sl_rev1/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for Stello65
diff --git a/keyboards/stello65/sl_rev1/keymaps/via/keymap.c b/keyboards/stello65/sl_rev1/keymaps/via/keymap.c
new file mode 100644
index 0000000000..9313e43a46
--- /dev/null
+++ b/keyboards/stello65/sl_rev1/keymaps/via/keymap.c
@@ -0,0 +1,35 @@
+// Copyright 2022 @wekey (@wekey)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#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_MINS, KC_EQL,  KC_BSLS, 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_BSPC, KC_PGUP,
+        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_ENT,  KC_PGDN,
+        KC_LSFT, 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_END,
+        KC_LCTL, KC_LGUI, KC_LALT,                KC_SPC,                          KC_RALT, MO(1),            KC_LEFT, KC_DOWN, KC_RGHT
+    ),
+    [1] = LAYOUT(
+        KC_TRNS, 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_TRNS, KC_TRNS,
+        RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, RESET,   KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS,                   KC_TRNS,                            KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS
+    ),
+    [2] = 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS,                   KC_TRNS,                            KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS
+    ),
+    [3] = 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS,                   KC_TRNS,                            KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS
+    ),
+};
diff --git a/keyboards/stello65/sl_rev1/keymaps/via/rules.mk b/keyboards/stello65/sl_rev1/keymaps/via/rules.mk
new file mode 100644
index 0000000000..16d33cd89f
--- /dev/null
+++ b/keyboards/stello65/sl_rev1/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+
diff --git a/keyboards/stello65/sl_rev1/readme.md b/keyboards/stello65/sl_rev1/readme.md
new file mode 100644
index 0000000000..027ab25a3a
--- /dev/null
+++ b/keyboards/stello65/sl_rev1/readme.md
@@ -0,0 +1,27 @@
+# Stello65
+
+![Stello65](https://i.imgur.com/dvzVYH1h.png)
+
+Stello keyboard
+
+* Keyboard Maintainer: [@wekey](https://github.com/wekey-dev)
+* Hardware Supported: Stello65 case, ATMEGA32U4
+* Hardware Availability: Group buy
+
+Make example for this keyboard (after setting up your build environment):
+
+    make stello65/sl_rev1:default
+
+Flashing example for this keyboard:
+
+    make stello65/sl_rev1:default:flash
+
+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).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `RESET` if it is available
diff --git a/keyboards/stello65/sl_rev1/rules.mk b/keyboards/stello65/sl_rev1/rules.mk
new file mode 100644
index 0000000000..85eec9079f
--- /dev/null
+++ b/keyboards/stello65/sl_rev1/rules.mk
@@ -0,0 +1,18 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+#   change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes       # Mouse keys
+EXTRAKEY_ENABLE = yes       # Audio control and System control
+CONSOLE_ENABLE = no         # Console for debug
+COMMAND_ENABLE = no         # Commands for debug and configuration
+NKRO_ENABLE = yes           # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
+AUDIO_ENABLE = no           # Audio output
diff --git a/keyboards/stello65/sl_rev1/sl_rev1.c b/keyboards/stello65/sl_rev1/sl_rev1.c
new file mode 100644
index 0000000000..502c376948
--- /dev/null
+++ b/keyboards/stello65/sl_rev1/sl_rev1.c
@@ -0,0 +1,4 @@
+// Copyright 2022 @wekey (@wekey)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "sl_rev1.h"
diff --git a/keyboards/stello65/sl_rev1/sl_rev1.h b/keyboards/stello65/sl_rev1/sl_rev1.h
new file mode 100644
index 0000000000..1a8c2cff83
--- /dev/null
+++ b/keyboards/stello65/sl_rev1/sl_rev1.h
@@ -0,0 +1,35 @@
+// Copyright 2022 @wekey (@wekey)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "quantum.h"
+
+#define K__ KC_NO
+
+/* This is a shortcut to help you visually see your layout.
+ *
+ * The first section contains all of the arguments representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+#define LAYOUT( \
+    K00, K10, K01, K11, K02, K12, K03, K13, K04, K14, K05, K15, K06, K16, K07,       \
+    K20, K30, K21, K31, K22, K32, K23, K33, K24, K34, K25, K35, K26, K36,      K37,  \
+    K40, K50, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55,      K56,      K57,  \
+    K60, K70, K61, K71, K62, K72, K63, K73, K64, K74, K65, K75, K66, K76,      K77,  \
+    K80, K90, K81,                K83,           K94,      K95, K86, K96,      K97   \
+) { \
+    { K00, K01, K02, K03, K04, K05, K06, K07 }, \
+    { K10, K11, K12, K13, K14, K15, K16, K__ }, \
+    { K20, K21, K22, K23, K24, K25, K26, K__ }, \
+    { K30, K31, K32, K33, K34, K35, K36, K37 }, \
+    { K40, K41, K42, K43, K44, K45, K__, K__ }, \
+    { K50, K51, K52, K53, K54, K55, K56, K57 }, \
+    { K60, K61, K62, K63, K64, K65, K66, K__ }, \
+    { K70, K71, K72, K73, K74, K75, K76, K77 }, \
+    { K80, K81, K__, K83, K__, K__, K86, K__ }, \
+    { K90, K__, K__, K__, K94, K95, K96, K97 }  \
+}
diff --git a/keyboards/wekey/stelo65/keymaps/default/readme.md b/keyboards/wekey/stelo65/keymaps/default/readme.md
deleted file mode 100644
index 566d02c976..0000000000
--- a/keyboards/wekey/stelo65/keymaps/default/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The default keymap for stelo65