diff --git a/keyboards/b_sides/rev41lp/config.h b/keyboards/b_sides/rev41lp/config.h
new file mode 100644
index 0000000000..899fa9a6bf
--- /dev/null
+++ b/keyboards/b_sides/rev41lp/config.h
@@ -0,0 +1,45 @@
+/*
+Copyright 2021 @cyril279
+
+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
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID       0xFEED
+#define PRODUCT_ID      0x5F10
+#define DEVICE_VER      0x0001
+#define MANUFACTURER    cyril279
+#define PRODUCT         rev41lp
+
+/* key matrix size */
+#define MATRIX_ROWS 7
+#define MATRIX_COLS 6
+
+#define MATRIX_ROW_PINS { F4, B2, F5, B3, F6, B1, F7 }
+#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 }
+#define UNUSED_PINS
+
+#define DIODE_DIRECTION COL2ROW
+
+#define BACKLIGHT_PIN B6
+#define BACKLIGHT_ON_STATE 1
+#define BACKLIGHT_LEVELS 7
+#define BACKLIGHT_LIMIT_VAL 150
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
diff --git a/keyboards/b_sides/rev41lp/info.json b/keyboards/b_sides/rev41lp/info.json
new file mode 100644
index 0000000000..ba287efff9
--- /dev/null
+++ b/keyboards/b_sides/rev41lp/info.json
@@ -0,0 +1,58 @@
+{
+    "keyboard_name": "rev41lp",
+    "url": "https://github.com/cyril279/keyboards/tree/main/revlp/41_1350",
+    "maintainer": "cyril279",
+    "layouts": {
+        "LAYOUT_rev41lp": {
+            "layout": [
+                {"label":"K00", "x":0, "y":0.54},
+                {"label":"K01", "x":1, "y":0.36},
+                {"label":"K02", "x":2, "y":0.18},
+                {"label":"K03", "x":3, "y":0},
+                {"label":"K04", "x":4, "y":0.18},
+                {"label":"K05", "x":5, "y":0.36},
+
+                {"label":"K10", "x":7, "y":0.36},
+                {"label":"K11", "x":8, "y":0.18},
+                {"label":"K12", "x":9, "y":0},
+                {"label":"K13", "x":10, "y":0.18},
+                {"label":"K14", "x":11, "y":0.36},
+                {"label":"K15", "x":12, "y":0.54},
+
+                {"label":"K20", "x":0, "y":1.54},
+                {"label":"K21", "x":1, "y":1.36},
+                {"label":"K22", "x":2, "y":1.18},
+                {"label":"K23", "x":3, "y":1},
+                {"label":"K24", "x":4, "y":1.18},
+                {"label":"K25", "x":5, "y":1.36},
+
+                {"label":"K30", "x":7, "y":1.36},
+                {"label":"K31", "x":8, "y":1.18},
+                {"label":"K32", "x":9, "y":1},
+                {"label":"K33", "x":10, "y":1.18},
+                {"label":"K34", "x":11, "y":1.36},
+                {"label":"K35", "x":12, "y":1.54},
+
+                {"label":"K40", "x":0, "y":2.54},
+                {"label":"K41", "x":1, "y":2.36},
+                {"label":"K42", "x":2, "y":2.18},
+                {"label":"K43", "x":3, "y":2},
+                {"label":"K44", "x":4, "y":2.18},
+                {"label":"K45", "x":5, "y":2.36},
+
+                {"label":"K50", "x":7, "y":2.36},
+                {"label":"K51", "x":8, "y":2.18},
+                {"label":"K52", "x":9, "y":2},
+                {"label":"K53", "x":10, "y":2.18},
+                {"label":"K54", "x":11, "y":2.36},
+                {"label":"K55", "x":12, "y":2.54},
+
+                {"label":"K60", "x":2.875, "y":3.54, "w":1.25},
+                {"label":"K61", "x":4.125, "y":3.54, "w":1.25},
+                {"label":"K62", "x":5.375, "y":3.54, "w":2.25},
+                {"label":"K63", "x":7.625, "y":3.54, "w":1.25},
+                {"label":"K64", "x":8.875, "y":3.54, "w":1.25}
+            ]
+        }
+    }
+}
diff --git a/keyboards/b_sides/rev41lp/keymaps/cyril/config.h b/keyboards/b_sides/rev41lp/keymaps/cyril/config.h
new file mode 100644
index 0000000000..4677c5f1d4
--- /dev/null
+++ b/keyboards/b_sides/rev41lp/keymaps/cyril/config.h
@@ -0,0 +1,21 @@
+/*
+Copyright 2021 @cyril279
+
+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
+
+#define TAPPING_TERM 150
+#define TAPPING_TERM_PER_KEY
+#define IGNORE_MOD_TAP_INTERRUPT
diff --git a/keyboards/b_sides/rev41lp/keymaps/cyril/keymap.c b/keyboards/b_sides/rev41lp/keymaps/cyril/keymap.c
new file mode 100644
index 0000000000..6db1e47a2f
--- /dev/null
+++ b/keyboards/b_sides/rev41lp/keymaps/cyril/keymap.c
@@ -0,0 +1,105 @@
+/*
+Copyright 2021 @cyril279
+
+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
+
+enum layer_names {
+    _BASE,
+    _LOWER,
+    _RAISE,
+    _ADJUST,
+    _NAVIG,
+    _FUNCTION
+};
+
+#define LOWER  MO(_LOWER)
+#define RAISE  MO(_RAISE)
+#define ADJUST MO(_ADJUST)
+#define SPC_NAV LT(_NAVIG,KC_SPC)
+#define FUNCT  MO(_FUNCTION)
+#define NAVIG  MO(_NAVIG)
+
+#define LGUI_A LGUI_T(KC_A)
+#define LALT_S LALT_T(KC_S)
+#define LSFT_D LSFT_T(KC_D)
+#define LCTL_F LCTL_T(KC_F)
+#define RCTL_J RCTL_T(KC_J)
+#define RSFT_K RSFT_T(KC_K)
+#define RALT_L LALT_T(KC_L)
+#define RGUI_SCLN RGUI_T(KC_SCLN)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+  [_BASE] = LAYOUT_rev41lp(
+    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,  LALT_S,  LSFT_D,  LCTL_F,    KC_G,             KC_H,  RCTL_J,  RSFT_K,  RALT_L, KC_SCLN, KC_QUOT,
+    KC_LCTL,    KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,             KC_N,    KC_M, KC_COMM,  KC_DOT, KC_SLSH,  KC_ENT,
+                                        KC_LGUI,   LOWER, SPC_NAV,   RAISE,   FUNCT
+  ),
+
+  [_LOWER] = LAYOUT_rev41lp(
+    KC_GRV,  KC_EXLM,   KC_AT, KC_HASH,  KC_DLR, KC_PERC,          KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN,  KC_DEL,
+    _______, _______, _______, _______, _______, _______,          KC_TILD, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
+    _______, _______, KC_LGUI, KC_LALT, KC_CAPS, _______,          KC_PSCR, _______, _______, _______, _______, _______,
+                                        _______, _______, _______, _______, _______
+  ),
+
+  [_RAISE] = LAYOUT_rev41lp(
+    KC_TILD,    KC_1,    KC_2,    KC_3,    KC_4,    KC_5,          KC_6,       KC_7,    KC_8,    KC_9,    KC_0, KC_BSPC,
+    _______, _______, _______, _______, _______, _______,          KC_GRV,  KC_MINS,  KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
+    _______, _______, KC_LGUI, KC_LALT, KC_CAPS, _______,          KC_PSCR, _______, _______, _______, _______, _______,
+                                        _______, _______, _______, _______, _______
+  ),
+
+  [_NAVIG] = LAYOUT_rev41lp(
+    KC_DEL,    KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,          KC_NO,     KC_NO,   KC_NO,   KC_NO,   KC_NO,  KC_DEL,
+    _______, _______, _______, _______, _______, _______,          _______, KC_LEFT, KC_DOWN,   KC_UP, KC_RGHT,   KC_NO,
+    _______, _______, KC_LGUI, KC_LALT, KC_CAPS, _______,          _______, KC_HOME, KC_PGDN, KC_PGUP,  KC_END, _______,
+                                        _______, _______, _______, _______, _______
+  ),
+
+  [_FUNCTION] = LAYOUT_rev41lp(
+    KC_DEL,    KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,            KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,  KC_DEL,
+    _______, _______, _______, _______, _______, _______,            KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,
+    _______, _______, KC_LGUI, KC_LALT, KC_CAPS, _______,            KC_F7,   KC_F8,   KC_F9,  KC_F10,  KC_F11,  KC_F12,
+                                        _______, _______, _______, _______, _______
+  ),
+
+    [_ADJUST] = LAYOUT_rev41lp(
+    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,  BL_DEC, BL_TOGG,          BL_BRTG,  BL_INC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,          XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,            RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+                                        _______, _______, _______, _______, _______
+  )
+};
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+    return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
+}
+
+uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
+    switch (keycode) {
+        case LGUI_A:
+        case RGUI_SCLN:
+        case LALT_S:
+        case RALT_L:
+        case LCTL_F:
+        case RCTL_J:
+        case SPC_NAV:
+            return 225;
+        default:
+            return TAPPING_TERM;
+    }
+}
diff --git a/keyboards/b_sides/rev41lp/keymaps/default/keymap.c b/keyboards/b_sides/rev41lp/keymaps/default/keymap.c
new file mode 100644
index 0000000000..b80f4de480
--- /dev/null
+++ b/keyboards/b_sides/rev41lp/keymaps/default/keymap.c
@@ -0,0 +1,48 @@
+/*
+Copyright 2021 @cyril279
+
+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_rev41lp(
+    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,  RSFT_T(KC_ENT),
+                                            KC_LALT,   MO(1),    KC_SPC,   MO(2),    KC_LGUI
+  ),
+
+  [1] = LAYOUT_rev41lp(
+    _______,  KC_EXLM,  KC_AT,    KC_HASH,  KC_DLR,    KC_PERC,            KC_CIRC,  KC_AMPR,  KC_ASTR,  KC_LPRN,  KC_RPRN,  KC_DEL,
+    _______,  KC_UNDS,  KC_PLUS,  KC_LCBR,  KC_RCBR,   KC_PIPE,            KC_LEFT,  KC_DOWN,  KC_UP,    KC_RGHT,  KC_GRV,   KC_TILD,
+    _______,  KC_ESC,   KC_LGUI,  KC_LALT,  KC_CAPS,   KC_DQUO,            KC_HOME,  KC_END,   KC_PGUP,  KC_PGDN,  KC_PSCR,  RSFT_T(KC_SPC),
+                                            _______,   _______,  KC_ENT,   MO(3),  _______
+  ),
+
+  [2] = LAYOUT_rev41lp(
+    _______,  KC_1,     KC_2,     KC_3,     KC_4,      KC_5,               KC_6,     KC_7,     KC_8,     KC_9,     KC_0,     KC_DEL,
+    _______,  KC_MINS,  KC_EQL,   KC_LBRC,  KC_RBRC,   KC_BSLS,            KC_F1,    KC_F2,    KC_F3,    KC_F4,    KC_F5,    KC_F6,
+    _______,  KC_ESC,   KC_RGUI,  KC_RALT,  KC_CAPS,   KC_QUOT,            KC_F7,    KC_F8,    KC_F9,    KC_F10,   KC_F11,   KC_F12,
+                                            _______,   MO(3),  KC_BSPC,  _______,  _______
+  ),
+
+  [3] = LAYOUT_rev41lp(
+    XXXXXXX,   XXXXXXX, XXXXXXX,  XXXXXXX,   BL_DEC,   BL_TOGG,            BL_BRTG,   BL_INC,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,
+    XXXXXXX,   XXXXXXX, XXXXXXX,  XXXXXXX,  XXXXXXX,   XXXXXXX,            XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,
+    XXXXXXX,   XXXXXXX, XXXXXXX,  XXXXXXX,  XXXXXXX,   XXXXXXX,            RESET,    XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,
+                                               _______, _______, _______,  _______,  _______
+  )
+};
+
diff --git a/keyboards/b_sides/rev41lp/keymaps/namnlos/config.h b/keyboards/b_sides/rev41lp/keymaps/namnlos/config.h
new file mode 100644
index 0000000000..69d44bdd03
--- /dev/null
+++ b/keyboards/b_sides/rev41lp/keymaps/namnlos/config.h
@@ -0,0 +1,43 @@
+/* Copyright 2022 Jan Lindblom (@janlindblom)
+ *
+ * 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
+
+#undef BACKLIGHT_LEVELS
+#define BACKLIGHT_LEVELS 11
+#undef BACKLIGHT_LIMIT_VAL
+#define BACKLIGHT_LIMIT_VAL 255
+#define BACKLIGHT_DEFAULT_LEVEL 3
+
+#define COMBO_COUNT 3
+#define IGNORE_MOD_TAP_INTERRUPT
+
+#define UNICODE_SELECTED_MODES UC_WINC, UC_WIN, UC_MAC, UC_LNX
+
+#define TAPPING_FORCE_HOLD
+#define TAPPING_TERM 200
+#define TAPPING_TERM_PER_KEY
+
+#define LAYER_STATE_8BIT
+#define NO_ACTION_MACRO
+#define NO_ACTION_FUNCTION
+#define NO_ACTION_ONESHOT
+
+/* Bootmagic Lite key configuration */
+#define BOOTMAGIC_LITE_ROW 0
+#define BOOTMAGIC_LITE_COLUMN 0
+
+/* key combination for command */
+#define IS_COMMAND() (get_mods() == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || get_mods() == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)))
diff --git a/keyboards/b_sides/rev41lp/keymaps/namnlos/keymap.c b/keyboards/b_sides/rev41lp/keymaps/namnlos/keymap.c
new file mode 100644
index 0000000000..408c911250
--- /dev/null
+++ b/keyboards/b_sides/rev41lp/keymaps/namnlos/keymap.c
@@ -0,0 +1,176 @@
+/* Copyright 2022 Jan Lindblom (@janlindblom)
+ *
+ * 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
+#include "keymap_swedish.h"
+#include "sendstring_swedish.h"
+
+enum layer_names {
+    _BASE,
+    _LOWER,
+    _RAISE,
+    _ADJUST
+};
+
+enum custom_keycodes {
+    SK_NOT_EQL = SAFE_RANGE,
+    SK_LEQ,
+    SK_GEQ,
+};
+
+// Custom send_string keys
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+    switch (keycode) {
+        case SK_NOT_EQL:
+            if (record->event.pressed) {
+                SEND_STRING("!=");
+            }
+            break;
+        case SK_LEQ:
+            if (record->event.pressed) {
+                SEND_STRING("<=");
+            }
+            break;
+        case SK_GEQ:
+            if (record->event.pressed) {
+                SEND_STRING(">=");
+            }
+            break;
+    }
+    return true;
+}
+
+// Combos, if enabled
+#ifdef COMBO_ENABLE
+enum combo_events {
+    ZC_COPY,
+    XV_PASTE,
+    ZX_CUT,
+};
+
+const uint16_t PROGMEM copy_combo[]  = {KC_Z, KC_C, COMBO_END};
+const uint16_t PROGMEM paste_combo[] = {KC_X, KC_V, COMBO_END};
+const uint16_t PROGMEM cut_combo[]   = {KC_Z, KC_X, COMBO_END};
+
+combo_t key_combos[COMBO_COUNT] = {
+    [ZC_COPY]  = COMBO_ACTION(copy_combo),
+    [XV_PASTE] = COMBO_ACTION(paste_combo),
+    [ZX_CUT]   = COMBO_ACTION(cut_combo),
+};
+
+void process_combo_event(uint16_t combo_index, bool pressed) {
+    switch (combo_index) {
+        case ZC_COPY:
+            if (pressed) {
+                tap_code16(LCTL(KC_C));
+            }
+            break;
+        case XV_PASTE:
+            if (pressed) {
+                tap_code16(LCTL(KC_V));
+            }
+            break;
+        case ZX_CUT:
+            if (pressed) {
+                tap_code16(LCTL(KC_X));
+            }
+            break;
+    }
+}
+#endif
+
+// Tap Dance definitions
+#ifdef TAP_DANCE_ENABLE
+enum dances {
+    TD_SHFT_CAPS,
+    TD_DOT_COL,
+    TD_COM_SCL,
+    TD_DASH_USCR,
+};
+
+qk_tap_dance_action_t tap_dance_actions[] = {
+    // Tap once for Shift, twice for Caps Lock
+    [TD_SHFT_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS),
+    [TD_COM_SCL]   = ACTION_TAP_DANCE_DOUBLE(KC_COMM, SE_SCLN),
+    [TD_DOT_COL]   = ACTION_TAP_DANCE_DOUBLE(KC_DOT, SE_COLN),
+    [TD_DASH_USCR] = ACTION_TAP_DANCE_DOUBLE(SE_MINS, S(SE_MINS)),
+};
+#    define CK_LSFT TD(TD_SHFT_CAPS)
+#    define CK_COMM TD(TD_COM_SCL)
+#    define CK_DOT TD(TD_DOT_COL)
+#    define CK_DASH TD(TD_DASH_USCR)
+#else
+#    define CK_LSFT KC_LSFT
+#    define CK_COMM KC_COMM
+#    define CK_DOT KC_DOT
+#    define CK_DASH SE_MINS
+#endif
+
+// Some defines for the keys below
+#define CK_ESC LT(_RAISE, KC_ESC)
+#define CK_BSPC LCTL_T(KC_BSPC)
+#define CK_DEL LALT_T(KC_DEL)
+#define CK_ENT1 LT(_LOWER, KC_ENT)
+#define CK_ENT2 LT(_RAISE, KC_ENT)
+#define CK_TAB RALT_T(KC_TAB)
+#define CK_ADIA RCTL_T(SE_ADIA)
+#define CK_QUOT RSFT_T(SE_QUOT)
+#define CK_SPC RSFT_T(KC_SPC)
+
+// Alt + [-] => – (en-dash)
+const key_override_t mins_ndash_override = ko_make_basic(MOD_MASK_ALT, SE_MINS, UC(0x2013));
+ // Shift + Alt + [-] => — (em-dash)
+const key_override_t mins_mdash_override = ko_make_basic(MOD_MASK_SA, SE_MINS, UC(0x2014));
+
+const key_override_t **key_overrides = (const key_override_t *[]){
+    &mins_ndash_override,
+    &mins_mdash_override,
+    NULL
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+  [_BASE] = LAYOUT_rev41lp(
+    CK_ESC,   KC_Q,     KC_W,     KC_E,     KC_R,      KC_T,               KC_Y,     KC_U,     KC_I,     KC_O,     KC_P,  SE_ARNG,
+    CK_BSPC,  KC_A,     KC_S,     KC_D,     KC_F,      KC_G,               KC_H,     KC_J,     KC_K,     KC_L,  SE_ODIA,  CK_ADIA,
+    CK_LSFT,  KC_Z,     KC_X,     KC_C,     KC_V,      KC_B,               KC_N,     KC_M,  SE_COMM,   SE_DOT,  SE_MINS,  CK_QUOT,
+                                          CK_DEL,   CK_ENT1,  KC_SPC,   CK_ENT2,   CK_TAB
+  ),
+
+  [_LOWER] = LAYOUT_rev41lp(
+ SK_NOT_EQL,  SE_EXLM,    SE_AT,  SE_HASH,   SE_DLR,   SE_PERC,            SE_CIRC,  SE_AMPR,  SE_ASTR,  SE_LPRN,  SE_RPRN,  SE_DIAE,
+     SK_LEQ,  SE_UNDS,  SE_PLUS,  SE_LCBR,  SE_RCBR,   SE_PIPE,            KC_LEFT,  KC_DOWN,    KC_UP,  KC_RGHT,   SE_GRV,  SE_TILD,
+     SK_GEQ,   KC_ESC,  KC_LGUI,  KC_LALT,  KC_CAPS,   SE_DQUO,            KC_HOME,   KC_END,  KC_PGUP,  KC_PGDN,  KC_PSCR,   CK_SPC,
+                                            _______,   _______,  KC_ENT,   _______,  _______
+  ),
+
+  [_RAISE] = LAYOUT_rev41lp(
+    _______,     SE_1,     SE_2,     SE_3,     SE_4,      SE_5,               SE_6,   SE_7,   SE_8,    SE_9,    SE_0,  SE_GRV,
+    _______,  SE_MINS,   SE_EQL,  SE_LBRC,  SE_RBRC,   SE_BSLS,              KC_F1,  KC_F2,  KC_F3,   KC_F4,   KC_F5,   KC_F6,
+    _______,   KC_ESC,  KC_RGUI,  KC_RALT,  KC_CAPS,   SE_ACUT,              KC_F7,  KC_F8,  KC_F9,  KC_F10,  KC_F11,  KC_F12,
+                                            SE_LABK,   SE_RABK,  KC_BSPC,  _______,  _______
+  ),
+
+  [_ADJUST] = LAYOUT_rev41lp(
+    XXXXXXX,   XXXXXXX, XXXXXXX,   BL_OFF,   BL_DEC,   BL_TOGG,            BL_BRTG,   BL_INC,    BL_ON,  XXXXXXX,  XXXXXXX,  XXXXXXX,
+    XXXXXXX,   XXXXXXX, XXXXXXX,  XXXXXXX,  XXXXXXX,   BL_STEP,            XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,
+    XXXXXXX,   UC_M_WC, UC_M_MA,  UC_M_LN,  XXXXXXX,   XXXXXXX,            RESET,    XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,
+                                               _______, _______, _______,  _______,  _______
+  )
+};
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+    return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
+}
diff --git a/keyboards/b_sides/rev41lp/keymaps/namnlos/readme.md b/keyboards/b_sides/rev41lp/keymaps/namnlos/readme.md
new file mode 100644
index 0000000000..cc307b3a97
--- /dev/null
+++ b/keyboards/b_sides/rev41lp/keymaps/namnlos/readme.md
@@ -0,0 +1,3 @@
+# Namnlos custom keymap for Rev41lp
+
+This is a nordic keymap for the Rev41lp by [cyril](https://github.com/cyril279), it's based on the default keymap but has customisations for nordic languages.
diff --git a/keyboards/b_sides/rev41lp/keymaps/namnlos/rules.mk b/keyboards/b_sides/rev41lp/keymaps/namnlos/rules.mk
new file mode 100644
index 0000000000..59c3380a3b
--- /dev/null
+++ b/keyboards/b_sides/rev41lp/keymaps/namnlos/rules.mk
@@ -0,0 +1,7 @@
+SLEEP_LED_ENABLE = yes
+NKRO_ENABLE = yes
+UNICODE_ENABLE = yes
+TAP_DANCE_ENABLE = yes
+KEY_OVERRIDE_ENABLE = yes
+DEBOUNCE_TYPE = sym_defer_pk
+LTO_ENABLE = yes
diff --git a/keyboards/b_sides/rev41lp/readme.md b/keyboards/b_sides/rev41lp/readme.md
new file mode 100644
index 0000000000..1a72bbf785
--- /dev/null
+++ b/keyboards/b_sides/rev41lp/readme.md
@@ -0,0 +1,15 @@
+# The rev41lp keyboard
+
+![The rev41lp keyboard by cyril279](https://imgur.com/nZNHSaWh.jpg)
+
+Inspired by the REVIUNG series by Gtips, the rev41lp is 41-key column staggered keyboard designed for use with low-profile Kailh Choc (pg1350) switches.
+
+* Keyboard Maintainer: [cyril279](https://github.com/cyril279)
+* Hardware Supported: The REVlp PCBs, Pro Micro supported, bluetooth controller friendly.
+* Hardware Availability: [PCB Data](https://github.com/cyril279/keyboards/tree/main/revlp)
+
+Make example for this keyboard (after setting up your build environment):
+
+    make b_sides/rev41lp:default
+
+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/b_sides/rev41lp/rev41lp.c b/keyboards/b_sides/rev41lp/rev41lp.c
new file mode 100644
index 0000000000..d9ab1ed21e
--- /dev/null
+++ b/keyboards/b_sides/rev41lp/rev41lp.c
@@ -0,0 +1,17 @@
+/*
+Copyright 2021 @cyril279
+
+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 "rev41lp.h"
diff --git a/keyboards/b_sides/rev41lp/rev41lp.h b/keyboards/b_sides/rev41lp/rev41lp.h
new file mode 100644
index 0000000000..47afd295a0
--- /dev/null
+++ b/keyboards/b_sides/rev41lp/rev41lp.h
@@ -0,0 +1,35 @@
+/*
+Copyright 2021 @cyril279
+
+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
+
+#include "quantum.h"
+
+#define LAYOUT_rev41lp( \
+    K00, K01, K02, K03, K04, K05,      K10, K11, K12, K13, K14, K15, \
+    K20, K21, K22, K23, K24, K25,      K30, K31, K32, K33, K34, K35, \
+    K40, K41, K42, K43, K44, K45,      K50, K51, K52, K53, K54, K55, \
+                        K60, K61, K62, K63, K64 \
+) \
+{ \
+    { K00, K01, K02, K03, K04, K05 }, \
+    { K10, K11, K12, K13, K14, K15 }, \
+    { K20, K21, K22, K23, K24, K25 }, \
+    { K30, K31, K32, K33, K34, K35 }, \
+    { K40, K41, K42, K43, K44, K45 }, \
+    { K50, K51, K52, K53, K54, K55 }, \
+    { K60, K61, K62, K63, K64, KC_NO } \
+}
diff --git a/keyboards/b_sides/rev41lp/rules.mk b/keyboards/b_sides/rev41lp/rules.mk
new file mode 100644
index 0000000000..27d9decbbf
--- /dev/null
+++ b/keyboards/b_sides/rev41lp/rules.mk
@@ -0,0 +1,18 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = caterina
+
+# Build Options
+#   change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = no        # Mouse keys
+EXTRAKEY_ENABLE = yes       # Audio control and System control
+CONSOLE_ENABLE = yes        # Console for debug
+COMMAND_ENABLE = yes        # Commands for debug and configuration
+NKRO_ENABLE = no            # Enable N-Key Rollover
+BACKLIGHT_ENABLE = yes      # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
+AUDIO_ENABLE = no           # Audio output