diff --git a/data/mappings/keyboard_aliases.hjson b/data/mappings/keyboard_aliases.hjson
index cd5ce6e9ab..3978235e20 100644
--- a/data/mappings/keyboard_aliases.hjson
+++ b/data/mappings/keyboard_aliases.hjson
@@ -2265,8 +2265,17 @@
"trnthsn/s6xty5neor2": {
"target": "trnthsn/s6xty5neor2/stm32f103"
},
- "tweetydabird/lotus58": {
- "target": "tweetydabird/lotus58/promicro"
+ "tweetydabird/lotus58/elite_c": {
+ "target": "tweetydabird/lotus58"
+ },
+ "tweetydabird/lotus58/nanoboot": {
+ "target": "tweetydabird/lotus58"
+ },
+ "tweetydabird/lotus58/promicro": {
+ "target": "tweetydabird/lotus58"
+ },
+ "tweetydabird/lotus58/rp2040_ce": {
+ "target": "tweetydabird/lotus58"
},
"unison": {
"target": "unison/v04"
diff --git a/keyboards/tweetydabird/lotus58/elite_c/keyboard.json b/keyboards/tweetydabird/lotus58/elite_c/keyboard.json
deleted file mode 100644
index 2a4c4a21bc..0000000000
--- a/keyboards/tweetydabird/lotus58/elite_c/keyboard.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "build": {
- "lto": true
- },
- "development_board": "elite_c",
- "pin_compatible": "elite_c",
- "encoder": {
- "rotary": [
- {"pin_a": "F5", "pin_b": "F4", "resolution": 2}
- ]
- },
- "matrix_pins": {
- "cols": ["B1", "B2", "B3", "B6", "F7", "F6"],
- "rows": ["D4", "C6", "D7", "E6", "B4"]
- },
- "split": {
- "encoder": {
- "right": {
- "rotary": [
- {"pin_a": "F4", "pin_b": "F5", "resolution": 2}
- ]
- }
- },
- "handedness": {
- "pin": "B5"
- },
- "serial": {
- "pin": "D2"
- }
- },
- "ws2812": {
- "pin": "D3"
- }
-}
diff --git a/keyboards/tweetydabird/lotus58/info.json b/keyboards/tweetydabird/lotus58/keyboard.json
similarity index 53%
rename from keyboards/tweetydabird/lotus58/info.json
rename to keyboards/tweetydabird/lotus58/keyboard.json
index 3c47e3fdc2..a74506ab29 100644
--- a/keyboards/tweetydabird/lotus58/info.json
+++ b/keyboards/tweetydabird/lotus58/keyboard.json
@@ -3,7 +3,16 @@
"keyboard_name": "Lotus 58 Glow",
"maintainer": "TweetyDaBird",
"bootloader_instructions": "Short marked pads on PCB, or hold top-outer key when plugging in each hand.",
+ "build": {
+ "lto": true
+ },
+ "development_board": "promicro",
"diode_direction": "COL2ROW",
+ "encoder": {
+ "rotary": [
+ {"pin_a": "F5", "pin_b": "F4", "resolution": 2}
+ ]
+ },
"features": {
"bootmagic": true,
"encoder": true,
@@ -11,17 +20,94 @@
"mousekey": true,
"nkro": true,
"oled": true,
- "rgblight": true,
+ "rgb_matrix": true,
"tri_layer": true
},
- "rgblight": {
+ "host": {
"default": {
- "val": 87
- },
- "led_count": 70,
+ "nkro": true
+ }
+ },
+ "matrix_pins": {
+ "cols": ["B1", "B2", "B3", "B6", "F7", "F6"],
+ "rows": ["D4", "C6", "D7", "E6", "B4"]
+ },
+ "rgb_matrix": {
+ "driver": "ws2812",
+ "layout": [
+ {"matrix": [0, 5], "x": 72, "y": 4, "flags": 4},
+ {"x": 65, "y": 4, "flags": 2},
+ {"matrix": [0, 4], "x": 58, "y": 2, "flags": 4},
+ {"matrix": [0, 3], "x": 43, "y": 0, "flags": 4},
+ {"x": 36, "y": 4, "flags": 2},
+ {"matrix": [0, 2], "x": 29, "y": 2, "flags": 4},
+ {"matrix": [0, 1], "x": 14, "y": 6, "flags": 4},
+ {"x": 7, "y": 4, "flags": 2},
+ {"matrix": [0, 0], "x": 0, "y": 8, "flags": 4},
+ {"matrix": [1, 0], "x": 0, "y": 23, "flags": 4},
+ {"matrix": [1, 1], "x": 14, "y": 21, "flags": 4},
+ {"matrix": [1, 2], "x": 29, "y": 17, "flags": 4},
+ {"matrix": [1, 3], "x": 43, "y": 15, "flags": 4},
+ {"matrix": [1, 4], "x": 58, "y": 17, "flags": 4},
+ {"matrix": [1, 5], "x": 72, "y": 19, "flags": 4},
+ {"matrix": [2, 5], "x": 72, "y": 34, "flags": 4},
+ {"matrix": [2, 4], "x": 58, "y": 32, "flags": 4},
+ {"matrix": [2, 3], "x": 43, "y": 30, "flags": 4},
+ {"matrix": [2, 2], "x": 29, "y": 32, "flags": 4},
+ {"matrix": [2, 1], "x": 14, "y": 36, "flags": 4},
+ {"matrix": [2, 0], "x": 0, "y": 38, "flags": 4},
+ {"matrix": [3, 0], "x": 0, "y": 53, "flags": 4},
+ {"x": 7, "y": 52, "flags": 2},
+ {"matrix": [3, 1], "x": 14, "y": 51, "flags": 4},
+ {"matrix": [3, 2], "x": 29, "y": 47, "flags": 4},
+ {"matrix": [3, 3], "x": 43, "y": 45, "flags": 4},
+ {"matrix": [3, 4], "x": 58, "y": 47, "flags": 4},
+ {"matrix": [3, 5], "x": 72, "y": 49, "flags": 4},
+ {"x": 79, "y": 45, "flags": 2},
+ {"matrix": [4, 5], "x": 87, "y": 41, "flags": 4},
+ {"matrix": [4, 4], "x": 87, "y": 64, "flags": 4},
+ {"matrix": [4, 3], "x": 65, "y": 64, "flags": 4},
+ {"matrix": [4, 2], "x": 51, "y": 62, "flags": 4},
+ {"x": 43, "y": 62, "flags": 2},
+ {"matrix": [4, 1], "x": 36, "y": 62, "flags": 4},
+ {"matrix": [5, 5], "x": 152, "y": 4, "flags": 4},
+ {"x": 159, "y": 4, "flags": 2},
+ {"matrix": [5, 4], "x": 166, "y": 2, "flags": 4},
+ {"matrix": [5, 3], "x": 181, "y": 0, "flags": 4},
+ {"x": 188, "y": 4, "flags": 2},
+ {"matrix": [5, 2], "x": 195, "y": 2, "flags": 4},
+ {"matrix": [5, 1], "x": 210, "y": 6, "flags": 4},
+ {"x": 217, "y": 4, "flags": 2},
+ {"matrix": [5, 0], "x": 224, "y": 8, "flags": 4},
+ {"matrix": [6, 0], "x": 224, "y": 23, "flags": 4},
+ {"matrix": [6, 1], "x": 210, "y": 21, "flags": 4},
+ {"matrix": [6, 2], "x": 195, "y": 17, "flags": 4},
+ {"matrix": [6, 3], "x": 181, "y": 15, "flags": 4},
+ {"matrix": [6, 4], "x": 166, "y": 17, "flags": 4},
+ {"matrix": [6, 5], "x": 152, "y": 19, "flags": 4},
+ {"matrix": [7, 5], "x": 152, "y": 34, "flags": 4},
+ {"matrix": [7, 4], "x": 166, "y": 32, "flags": 4},
+ {"matrix": [7, 3], "x": 181, "y": 30, "flags": 4},
+ {"matrix": [7, 2], "x": 195, "y": 32, "flags": 4},
+ {"matrix": [7, 1], "x": 210, "y": 36, "flags": 4},
+ {"matrix": [7, 0], "x": 224, "y": 38, "flags": 4},
+ {"matrix": [8, 0], "x": 224, "y": 53, "flags": 4},
+ {"x": 217, "y": 52, "flags": 2},
+ {"matrix": [8, 1], "x": 210, "y": 51, "flags": 4},
+ {"matrix": [8, 2], "x": 195, "y": 47, "flags": 4},
+ {"matrix": [8, 3], "x": 181, "y": 45, "flags": 4},
+ {"matrix": [8, 4], "x": 166, "y": 47, "flags": 4},
+ {"matrix": [8, 5], "x": 152, "y": 49, "flags": 4},
+ {"x": 159, "y": 45, "flags": 2},
+ {"matrix": [9, 5], "x": 137, "y": 41, "flags": 4},
+ {"matrix": [9, 4], "x": 137, "y": 64, "flags": 4},
+ {"matrix": [9, 3], "x": 159, "y": 64, "flags": 4},
+ {"matrix": [9, 2], "x": 173, "y": 62, "flags": 4},
+ {"x": 180, "y": 62, "flags": 2},
+ {"matrix": [9, 1], "x": 188, "y": 62, "flags": 4}
+ ],
"max_brightness": 175,
"sleep": true,
- "split": true,
"split_count": [35, 35]
},
"split": {
@@ -29,6 +115,19 @@
"matrix": [5, 0]
},
"enabled": true,
+ "encoder": {
+ "right": {
+ "rotary": [
+ {"pin_a": "F4", "pin_b": "F5", "resolution": 2}
+ ]
+ }
+ },
+ "handedness": {
+ "pin": "B5"
+ },
+ "serial": {
+ "pin": "D2"
+ },
"transport": {
"sync": {
"indicators": true,
@@ -48,10 +147,8 @@
"pid": "0x23B0",
"vid": "0xFEED"
},
- "host": {
- "default": {
- "nkro": true
- }
+ "ws2812": {
+ "pin": "D3"
},
"layouts": {
"LAYOUT": {
diff --git a/keyboards/tweetydabird/lotus58/nanoboot/keyboard.json b/keyboards/tweetydabird/lotus58/nanoboot/keyboard.json
deleted file mode 100644
index 85f37a265c..0000000000
--- a/keyboards/tweetydabird/lotus58/nanoboot/keyboard.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "build": {
- "lto": true
- },
- "pin_compatible": "promicro",
- "processor": "atmega32u4",
- "encoder": {
- "rotary": [
- {"pin_a": "F5", "pin_b": "F4", "resolution": 2}
- ]
- },
- "matrix_pins": {
- "cols": ["B1", "B2", "B3", "B6", "F7", "F6"],
- "rows": ["D4", "C6", "D7", "E6", "B4"]
- },
- "split": {
- "encoder": {
- "right": {
- "rotary": [
- {"pin_a": "F4", "pin_b": "F5", "resolution": 2}
- ]
- }
- },
- "handedness": {
- "pin": "B5"
- },
- "serial": {
- "pin": "D2"
- }
- },
- "ws2812": {
- "pin": "D3"
- }
-}
diff --git a/keyboards/tweetydabird/lotus58/nanoboot/rules.mk b/keyboards/tweetydabird/lotus58/nanoboot/rules.mk
deleted file mode 100644
index 1d937578bd..0000000000
--- a/keyboards/tweetydabird/lotus58/nanoboot/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-BOOTLOADER = qmk-hid
-BOOTLOADER_SIZE = 512
diff --git a/keyboards/tweetydabird/lotus58/promicro/keyboard.json b/keyboards/tweetydabird/lotus58/promicro/keyboard.json
deleted file mode 100644
index 83532c8ee2..0000000000
--- a/keyboards/tweetydabird/lotus58/promicro/keyboard.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "build": {
- "lto": true
- },
- "development_board": "promicro",
- "encoder": {
- "rotary": [
- {"pin_a": "F5", "pin_b": "F4", "resolution": 2}
- ]
- },
- "matrix_pins": {
- "cols": ["B1", "B2", "B3", "B6", "F7", "F6"],
- "rows": ["D4", "C6", "D7", "E6", "B4"]
- },
- "split": {
- "encoder": {
- "right": {
- "rotary": [
- {"pin_a": "F4", "pin_b": "F5", "resolution": 2}
- ]
- }
- },
- "handedness": {
- "pin": "B5"
- },
- "serial": {
- "pin": "D2"
- }
- },
- "ws2812": {
- "pin": "D3"
- }
-}
diff --git a/keyboards/tweetydabird/lotus58/readme.md b/keyboards/tweetydabird/lotus58/readme.md
index 57a89a9b03..637706f2ab 100644
--- a/keyboards/tweetydabird/lotus58/readme.md
+++ b/keyboards/tweetydabird/lotus58/readme.md
@@ -9,22 +9,13 @@
* Hardware Availability: [Lectronz Store](https://lectronz.com/stores/tweetys-wild-thinking)
* Hardware Design: [GitHub](https://github.com/TweetyDaBird/Lotus58)
-
-#### This keyboard firmware contains three different versions, all for the same PCB/hardware, but depending on your choice of controller/bootloader.
-
-
-* promicro - This uses the default Caterina bootloader.
-* elite_c - This uses the Atmel-DFU bootloader.
-* nanoBoot - A tiny 512 byte bootloader giving far more usable memory for features (can be used on both Elite C and Pro Micro).
-
-
Make example for this keyboard (after setting up your build environment):
- make tweetydabird/lotus58/promicro:default
+ make tweetydabird/lotus58:default
Flashing example for this keyboard:
- make tweetydabird/lotus58/elite_c:default:flash
+ make tweetydabird/lotus58: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/tweetydabird/lotus58/rp2040_ce/config.h b/keyboards/tweetydabird/lotus58/rp2040_ce/config.h
deleted file mode 100644
index e4a23b7d7f..0000000000
--- a/keyboards/tweetydabird/lotus58/rp2040_ce/config.h
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright 2024 Markus Knutsson (@TweetyDaBird)
-// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
-
-#define SERIAL_PIO_USE_PIO1 // Force the usage of PIO1 peripheral, by default the Serial implementation uses the PIO0 peripheral
-
-#define I2C_DRIVER I2CD1
-#define I2C1_SDA_PIN GP2
-#define I2C1_SCL_PIN GP3
diff --git a/keyboards/tweetydabird/lotus58/rp2040_ce/halconf.h b/keyboards/tweetydabird/lotus58/rp2040_ce/halconf.h
deleted file mode 100644
index 2e098f5113..0000000000
--- a/keyboards/tweetydabird/lotus58/rp2040_ce/halconf.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Copyright 2022 QMK
- *
- * 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 .
- */
-
-#pragma once
-
-#define HAL_USE_I2C TRUE
-
-#include_next
diff --git a/keyboards/tweetydabird/lotus58/rp2040_ce/keyboard.json b/keyboards/tweetydabird/lotus58/rp2040_ce/keyboard.json
deleted file mode 100644
index 07fb343974..0000000000
--- a/keyboards/tweetydabird/lotus58/rp2040_ce/keyboard.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
- "development_board": "promicro_rp2040",
- "encoder": {
- "rotary": [
- {"pin_a": "GP28", "pin_b": "GP29", "resolution": 2}
- ]
- },
- "matrix_pins": {
- "cols": ["GP22", "GP23", "GP20", "GP21", "GP26", "GP27"],
- "rows": ["GP4", "GP5", "GP6", "GP7", "GP8"]
- },
- "split": {
- "encoder": {
- "right": {
- "rotary": [
- {"pin_a": "GP29", "pin_b": "GP28", "resolution": 2}
- ]
- }
- },
- "serial": {
- "driver": "vendor",
- "pin": "GP1"
- },
- "handedness": {
- "pin": "GP9"
- }
- },
- "ws2812": {
- "driver": "vendor",
- "pin": "GP0"
- }
-}
diff --git a/keyboards/tweetydabird/lotus58/rp2040_ce/mcuconf.h b/keyboards/tweetydabird/lotus58/rp2040_ce/mcuconf.h
deleted file mode 100644
index 2ae39bf675..0000000000
--- a/keyboards/tweetydabird/lotus58/rp2040_ce/mcuconf.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2022 QMK
- *
- * 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 .
- */
-
-#pragma once
-
-#include_next
-
-#undef RP_I2C_USE_I2C1
-#define RP_I2C_USE_I2C1 TRUE