summaryrefslogtreecommitdiff
path: root/keyboards/tweetydabird
diff options
context:
space:
mode:
authorJack Sangdahl <jack@pngu.org>2025-08-17 10:50:59 -0600
committerGitHub <noreply@github.com>2025-08-17 17:50:59 +0100
commit7110708d0fdaac1f068b4668fd9816308981a701 (patch)
treebc424c76649798a444e0c5bcdaf6f617341edcd7 /keyboards/tweetydabird
parentb834819a351f402c2f118a9a3474c197c154a7a5 (diff)
Refactor `tweetydabird/lotus58` (#25547)
- Update aliases accordingly - Remove unnecessary elite_c revision; an alternate bootloader or development board can easily be set by a user. The PCB is not dependant on an Elite-C pin compatible microcontroller - Remove unnecessary nanoboot revision; any user going to the trouble of using this bootloader will have no trouble manually setting the size of their bootloader - Move the promicro revision to be the "standard" for this keyboard - Remove unnecessary rp2040_ce revision; the converter feature should be used here instead
Diffstat (limited to 'keyboards/tweetydabird')
-rw-r--r--keyboards/tweetydabird/lotus58/elite_c/keyboard.json34
-rw-r--r--keyboards/tweetydabird/lotus58/keyboard.json (renamed from keyboards/tweetydabird/lotus58/info.json)117
-rw-r--r--keyboards/tweetydabird/lotus58/nanoboot/keyboard.json34
-rw-r--r--keyboards/tweetydabird/lotus58/nanoboot/rules.mk2
-rw-r--r--keyboards/tweetydabird/lotus58/promicro/keyboard.json33
-rw-r--r--keyboards/tweetydabird/lotus58/readme.md13
-rw-r--r--keyboards/tweetydabird/lotus58/rp2040_ce/config.h9
-rw-r--r--keyboards/tweetydabird/lotus58/rp2040_ce/halconf.h21
-rw-r--r--keyboards/tweetydabird/lotus58/rp2040_ce/keyboard.json32
-rw-r--r--keyboards/tweetydabird/lotus58/rp2040_ce/mcuconf.h22
10 files changed, 109 insertions, 208 deletions
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 @@
1{
2 "build": {
3 "lto": true
4 },
5 "development_board": "elite_c",
6 "pin_compatible": "elite_c",
7 "encoder": {
8 "rotary": [
9 {"pin_a": "F5", "pin_b": "F4", "resolution": 2}
10 ]
11 },
12 "matrix_pins": {
13 "cols": ["B1", "B2", "B3", "B6", "F7", "F6"],
14 "rows": ["D4", "C6", "D7", "E6", "B4"]
15 },
16 "split": {
17 "encoder": {
18 "right": {
19 "rotary": [
20 {"pin_a": "F4", "pin_b": "F5", "resolution": 2}
21 ]
22 }
23 },
24 "handedness": {
25 "pin": "B5"
26 },
27 "serial": {
28 "pin": "D2"
29 }
30 },
31 "ws2812": {
32 "pin": "D3"
33 }
34}
diff --git a/keyboards/tweetydabird/lotus58/info.json b/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 @@
3 "keyboard_name": "Lotus 58 Glow", 3 "keyboard_name": "Lotus 58 Glow",
4 "maintainer": "TweetyDaBird", 4 "maintainer": "TweetyDaBird",
5 "bootloader_instructions": "Short marked pads on PCB, or hold top-outer key when plugging in each hand.", 5 "bootloader_instructions": "Short marked pads on PCB, or hold top-outer key when plugging in each hand.",
6 "build": {
7 "lto": true
8 },
9 "development_board": "promicro",
6 "diode_direction": "COL2ROW", 10 "diode_direction": "COL2ROW",
11 "encoder": {
12 "rotary": [
13 {"pin_a": "F5", "pin_b": "F4", "resolution": 2}
14 ]
15 },
7 "features": { 16 "features": {
8 "bootmagic": true, 17 "bootmagic": true,
9 "encoder": true, 18 "encoder": true,
@@ -11,17 +20,94 @@
11 "mousekey": true, 20 "mousekey": true,
12 "nkro": true, 21 "nkro": true,
13 "oled": true, 22 "oled": true,
14 "rgblight": true, 23 "rgb_matrix": true,
15 "tri_layer": true 24 "tri_layer": true
16 }, 25 },
17 "rgblight": { 26 "host": {
18 "default": { 27 "default": {
19 "val": 87 28 "nkro": true
20 }, 29 }
21 "led_count": 70, 30 },
31 "matrix_pins": {
32 "cols": ["B1", "B2", "B3", "B6", "F7", "F6"],
33 "rows": ["D4", "C6", "D7", "E6", "B4"]
34 },
35 "rgb_matrix": {
36 "driver": "ws2812",
37 "layout": [
38 {"matrix": [0, 5], "x": 72, "y": 4, "flags": 4},
39 {"x": 65, "y": 4, "flags": 2},
40 {"matrix": [0, 4], "x": 58, "y": 2, "flags": 4},
41 {"matrix": [0, 3], "x": 43, "y": 0, "flags": 4},
42 {"x": 36, "y": 4, "flags": 2},
43 {"matrix": [0, 2], "x": 29, "y": 2, "flags": 4},
44 {"matrix": [0, 1], "x": 14, "y": 6, "flags": 4},
45 {"x": 7, "y": 4, "flags": 2},
46 {"matrix": [0, 0], "x": 0, "y": 8, "flags": 4},
47 {"matrix": [1, 0], "x": 0, "y": 23, "flags": 4},
48 {"matrix": [1, 1], "x": 14, "y": 21, "flags": 4},
49 {"matrix": [1, 2], "x": 29, "y": 17, "flags": 4},
50 {"matrix": [1, 3], "x": 43, "y": 15, "flags": 4},
51 {"matrix": [1, 4], "x": 58, "y": 17, "flags": 4},
52 {"matrix": [1, 5], "x": 72, "y": 19, "flags": 4},
53 {"matrix": [2, 5], "x": 72, "y": 34, "flags": 4},
54 {"matrix": [2, 4], "x": 58, "y": 32, "flags": 4},
55 {"matrix": [2, 3], "x": 43, "y": 30, "flags": 4},
56 {"matrix": [2, 2], "x": 29, "y": 32, "flags": 4},
57 {"matrix": [2, 1], "x": 14, "y": 36, "flags": 4},
58 {"matrix": [2, 0], "x": 0, "y": 38, "flags": 4},
59 {"matrix": [3, 0], "x": 0, "y": 53, "flags": 4},
60 {"x": 7, "y": 52, "flags": 2},
61 {"matrix": [3, 1], "x": 14, "y": 51, "flags": 4},
62 {"matrix": [3, 2], "x": 29, "y": 47, "flags": 4},
63 {"matrix": [3, 3], "x": 43, "y": 45, "flags": 4},
64 {"matrix": [3, 4], "x": 58, "y": 47, "flags": 4},
65 {"matrix": [3, 5], "x": 72, "y": 49, "flags": 4},
66 {"x": 79, "y": 45, "flags": 2},
67 {"matrix": [4, 5], "x": 87, "y": 41, "flags": 4},
68 {"matrix": [4, 4], "x": 87, "y": 64, "flags": 4},
69 {"matrix": [4, 3], "x": 65, "y": 64, "flags": 4},
70 {"matrix": [4, 2], "x": 51, "y": 62, "flags": 4},
71 {"x": 43, "y": 62, "flags": 2},
72 {"matrix": [4, 1], "x": 36, "y": 62, "flags": 4},
73 {"matrix": [5, 5], "x": 152, "y": 4, "flags": 4},
74 {"x": 159, "y": 4, "flags": 2},
75 {"matrix": [5, 4], "x": 166, "y": 2, "flags": 4},
76 {"matrix": [5, 3], "x": 181, "y": 0, "flags": 4},
77 {"x": 188, "y": 4, "flags": 2},
78 {"matrix": [5, 2], "x": 195, "y": 2, "flags": 4},
79 {"matrix": [5, 1], "x": 210, "y": 6, "flags": 4},
80 {"x": 217, "y": 4, "flags": 2},
81 {"matrix": [5, 0], "x": 224, "y": 8, "flags": 4},
82 {"matrix": [6, 0], "x": 224, "y": 23, "flags": 4},
83 {"matrix": [6, 1], "x": 210, "y": 21, "flags": 4},
84 {"matrix": [6, 2], "x": 195, "y": 17, "flags": 4},
85 {"matrix": [6, 3], "x": 181, "y": 15, "flags": 4},
86 {"matrix": [6, 4], "x": 166, "y": 17, "flags": 4},
87 {"matrix": [6, 5], "x": 152, "y": 19, "flags": 4},
88 {"matrix": [7, 5], "x": 152, "y": 34, "flags": 4},
89 {"matrix": [7, 4], "x": 166, "y": 32, "flags": 4},
90 {"matrix": [7, 3], "x": 181, "y": 30, "flags": 4},
91 {"matrix": [7, 2], "x": 195, "y": 32, "flags": 4},
92 {"matrix": [7, 1], "x": 210, "y": 36, "flags": 4},
93 {"matrix": [7, 0], "x": 224, "y": 38, "flags": 4},
94 {"matrix": [8, 0], "x": 224, "y": 53, "flags": 4},
95 {"x": 217, "y": 52, "flags": 2},
96 {"matrix": [8, 1], "x": 210, "y": 51, "flags": 4},
97 {"matrix": [8, 2], "x": 195, "y": 47, "flags": 4},
98 {"matrix": [8, 3], "x": 181, "y": 45, "flags": 4},
99 {"matrix": [8, 4], "x": 166, "y": 47, "flags": 4},
100 {"matrix": [8, 5], "x": 152, "y": 49, "flags": 4},
101 {"x": 159, "y": 45, "flags": 2},
102 {"matrix": [9, 5], "x": 137, "y": 41, "flags": 4},
103 {"matrix": [9, 4], "x": 137, "y": 64, "flags": 4},
104 {"matrix": [9, 3], "x": 159, "y": 64, "flags": 4},
105 {"matrix": [9, 2], "x": 173, "y": 62, "flags": 4},
106 {"x": 180, "y": 62, "flags": 2},
107 {"matrix": [9, 1], "x": 188, "y": 62, "flags": 4}
108 ],
22 "max_brightness": 175, 109 "max_brightness": 175,
23 "sleep": true, 110 "sleep": true,
24 "split": true,
25 "split_count": [35, 35] 111 "split_count": [35, 35]
26 }, 112 },
27 "split": { 113 "split": {
@@ -29,6 +115,19 @@
29 "matrix": [5, 0] 115 "matrix": [5, 0]
30 }, 116 },
31 "enabled": true, 117 "enabled": true,
118 "encoder": {
119 "right": {
120 "rotary": [
121 {"pin_a": "F4", "pin_b": "F5", "resolution": 2}
122 ]
123 }
124 },
125 "handedness": {
126 "pin": "B5"
127 },
128 "serial": {
129 "pin": "D2"
130 },
32 "transport": { 131 "transport": {
33 "sync": { 132 "sync": {
34 "indicators": true, 133 "indicators": true,
@@ -48,10 +147,8 @@
48 "pid": "0x23B0", 147 "pid": "0x23B0",
49 "vid": "0xFEED" 148 "vid": "0xFEED"
50 }, 149 },
51 "host": { 150 "ws2812": {
52 "default": { 151 "pin": "D3"
53 "nkro": true
54 }
55 }, 152 },
56 "layouts": { 153 "layouts": {
57 "LAYOUT": { 154 "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 @@
1{
2 "build": {
3 "lto": true
4 },
5 "pin_compatible": "promicro",
6 "processor": "atmega32u4",
7 "encoder": {
8 "rotary": [
9 {"pin_a": "F5", "pin_b": "F4", "resolution": 2}
10 ]
11 },
12 "matrix_pins": {
13 "cols": ["B1", "B2", "B3", "B6", "F7", "F6"],
14 "rows": ["D4", "C6", "D7", "E6", "B4"]
15 },
16 "split": {
17 "encoder": {
18 "right": {
19 "rotary": [
20 {"pin_a": "F4", "pin_b": "F5", "resolution": 2}
21 ]
22 }
23 },
24 "handedness": {
25 "pin": "B5"
26 },
27 "serial": {
28 "pin": "D2"
29 }
30 },
31 "ws2812": {
32 "pin": "D3"
33 }
34}
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 @@
1BOOTLOADER = qmk-hid
2BOOTLOADER_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 @@
1{
2 "build": {
3 "lto": true
4 },
5 "development_board": "promicro",
6 "encoder": {
7 "rotary": [
8 {"pin_a": "F5", "pin_b": "F4", "resolution": 2}
9 ]
10 },
11 "matrix_pins": {
12 "cols": ["B1", "B2", "B3", "B6", "F7", "F6"],
13 "rows": ["D4", "C6", "D7", "E6", "B4"]
14 },
15 "split": {
16 "encoder": {
17 "right": {
18 "rotary": [
19 {"pin_a": "F4", "pin_b": "F5", "resolution": 2}
20 ]
21 }
22 },
23 "handedness": {
24 "pin": "B5"
25 },
26 "serial": {
27 "pin": "D2"
28 }
29 },
30 "ws2812": {
31 "pin": "D3"
32 }
33}
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 @@
9* Hardware Availability: [Lectronz Store](https://lectronz.com/stores/tweetys-wild-thinking) 9* Hardware Availability: [Lectronz Store](https://lectronz.com/stores/tweetys-wild-thinking)
10* Hardware Design: [GitHub](https://github.com/TweetyDaBird/Lotus58) 10* Hardware Design: [GitHub](https://github.com/TweetyDaBird/Lotus58)
11 11
12
13#### This keyboard firmware contains three different versions, all for the same PCB/hardware, but depending on your choice of controller/bootloader.
14
15
16* promicro - This uses the default Caterina bootloader.
17* elite_c - This uses the Atmel-DFU bootloader.
18* nanoBoot - A tiny 512 byte bootloader giving far more usable memory for features (can be used on both Elite C and Pro Micro).
19
20
21Make example for this keyboard (after setting up your build environment): 12Make example for this keyboard (after setting up your build environment):
22 13
23 make tweetydabird/lotus58/promicro:default 14 make tweetydabird/lotus58:default
24 15
25Flashing example for this keyboard: 16Flashing example for this keyboard:
26 17
27 make tweetydabird/lotus58/elite_c:default:flash 18 make tweetydabird/lotus58:default:flash
28 19
29See 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). 20See 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).
30 21
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 @@
1// Copyright 2024 Markus Knutsson (@TweetyDaBird)
2// SPDX-License-Identifier: GPL-2.0-or-later
3#pragma once
4
5#define SERIAL_PIO_USE_PIO1 // Force the usage of PIO1 peripheral, by default the Serial implementation uses the PIO0 peripheral
6
7#define I2C_DRIVER I2CD1
8#define I2C1_SDA_PIN GP2
9#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 @@
1/* Copyright 2022 QMK
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#define HAL_USE_I2C TRUE
20
21#include_next <halconf.h>
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 @@
1{
2 "development_board": "promicro_rp2040",
3 "encoder": {
4 "rotary": [
5 {"pin_a": "GP28", "pin_b": "GP29", "resolution": 2}
6 ]
7 },
8 "matrix_pins": {
9 "cols": ["GP22", "GP23", "GP20", "GP21", "GP26", "GP27"],
10 "rows": ["GP4", "GP5", "GP6", "GP7", "GP8"]
11 },
12 "split": {
13 "encoder": {
14 "right": {
15 "rotary": [
16 {"pin_a": "GP29", "pin_b": "GP28", "resolution": 2}
17 ]
18 }
19 },
20 "serial": {
21 "driver": "vendor",
22 "pin": "GP1"
23 },
24 "handedness": {
25 "pin": "GP9"
26 }
27 },
28 "ws2812": {
29 "driver": "vendor",
30 "pin": "GP0"
31 }
32}
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 @@
1/* Copyright 2022 QMK
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#include_next <mcuconf.h>
20
21#undef RP_I2C_USE_I2C1
22#define RP_I2C_USE_I2C1 TRUE