commit: 50967dbe7e5137f74365b9989e10f03e94d92926
parent 2f27b3dc78ee41f2372477af129aaab934497d2f
Author: ploopyco <54917504+ploopyco@users.noreply.github.com>
Date: Fri, 21 Feb 2025 03:01:29 -0500
Updates to Ploopy Classic, Mouse, and Thumb for RP2040 hardware upgrade (#24880)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Diffstat:
41 files changed, 381 insertions(+), 164 deletions(-)
diff --git a/keyboards/ploopyco/mouse/config.h b/keyboards/ploopyco/mouse/config.h
@@ -18,11 +18,6 @@
#pragma once
-// These pins are not broken out, and cannot be used normally.
-// They are set as output and pulled high, by default
-#define UNUSABLE_PINS \
- { B4, D6, F1, F5, F6, F7 }
-
/* disable action features */
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
@@ -30,13 +25,7 @@
// #define DEBUG_LED_PIN F7
-/* PMW33XX Settings */
-#define PMW33XX_CS_PIN B0
-
#define ENCODER_BUTTON_COL 1
#define ENCODER_BUTTON_ROW 0
/* Custom encoder needs to specify just how many encoders we have */
#define NUM_ENCODERS 1
-
-#define ENCODER_A_PINS { F0 }
-#define ENCODER_B_PINS { F4 }
diff --git a/keyboards/ploopyco/mouse/info.json b/keyboards/ploopyco/mouse/info.json
@@ -0,0 +1,40 @@
+{
+ "keyboard_name": "Mouse",
+ "manufacturer": "Ploopy",
+ "url": "www.ploopy.co",
+ "maintainer": "drashna",
+ "usb": {
+ "vid": "0x5043",
+ "pid": "0x4D6F",
+ "device_version": "0.0.1",
+ "max_power": 100
+ },
+ "bootmagic": {
+ "matrix": [0, 3]
+ },
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": false,
+ "pointing_device": true,
+ "encoder": true
+ },
+ "encoder": {
+ "driver": "custom"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x": 1, "y": 0, "h": 2, "matrix": [0, 6]},
+ {"x": 2, "y": 0, "h": 2, "matrix": [0, 0]},
+ {"x": 3, "y": 0.25, "h": 1.25, "matrix": [0, 1]},
+ {"x": 4, "y": 0, "h": 2, "matrix": [0, 2]},
+ {"x": 5, "y": 0, "h": 2, "matrix": [0, 5]},
+ {"x": 0, "y": 0, "matrix": [0, 3]},
+ {"x": 0, "y": 1, "matrix": [0, 4]},
+ {"x": 3, "y": 1.5, "matrix": [0, 7]}
+ ]
+ }
+ }
+}
diff --git a/keyboards/ploopyco/mouse/keyboard.json b/keyboards/ploopyco/mouse/keyboard.json
@@ -1,59 +0,0 @@
-{
- "keyboard_name": "Mouse",
- "manufacturer": "PloopyCo",
- "url": "www.ploopy.co",
- "maintainer": "drashna",
- "usb": {
- "vid": "0x5043",
- "pid": "0x4D6F",
- "device_version": "0.0.1",
- "max_power": 100
- },
- "features": {
- "bootmagic": true,
- "extrakey": true,
- "mousekey": true,
- "nkro": false,
- "pointing_device": true,
- "encoder": true
- },
- "bootmagic": {
- "matrix": [0, 3]
- },
- "ws2812": {
- "pin": "B5"
- },
- "rgblight": {
- "led_count": 4,
- "max_brightness": 40,
- "animations": {
- "breathing": true,
- "rainbow_mood": true,
- "rainbow_swirl": true
- }
- },
- "processor": "atmega32u4",
- "bootloader": "atmel-dfu",
- "matrix_pins": {
- "direct": [
- ["D4", "D2", "E6", "B6", "D7", "C6", "C7", "B7"]
- ]
- },
- "encoder": {
- "driver": "custom"
- },
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"x": 1, "y": 0, "h": 2, "matrix": [0, 6]},
- {"x": 2, "y": 0, "h": 2, "matrix": [0, 0]},
- {"x": 3, "y": 0.25, "h": 1.25, "matrix": [0, 1]},
- {"x": 4, "y": 0, "h": 2, "matrix": [0, 2]},
- {"x": 5, "y": 0, "h": 2, "matrix": [0, 5]},
- {"x": 0, "y": 0, "matrix": [0, 3]},
- {"x": 0, "y": 1, "matrix": [0, 4]},
- {"x": 3, "y": 1.5, "matrix": [0, 7]}
- ]
- }
- }
-}
diff --git a/keyboards/ploopyco/mouse/post_rules.mk b/keyboards/ploopyco/mouse/post_rules.mk
@@ -0,0 +1 @@
+POINTING_DEVICE_DRIVER = pmw3360
+\ No newline at end of file
diff --git a/keyboards/ploopyco/mouse/readme.md b/keyboards/ploopyco/mouse/readme.md
@@ -6,14 +6,14 @@ It's a DIY, QMK Powered Mouse!!!!
* Keyboard Maintainer: [PloopyCo](https://github.com/ploopyco), [Drashna Jael're](https://github.com/drashna/), [Germ](https://github.com/germ/)
-* Hardware Supported: ATMega32u4 8MHz(3.3v)
+* Hardware Supported: ATMega32u4 8MHz(3.3v), Raspberry RP2040
* Hardware Availability: [Store](https://ploopy.co), [GitHub](https://github.com/ploopyco)
Make example for this keyboard (after setting up your build environment):
make ploopyco/mouse:default:flash
-
-To jump to the bootloader, hold down "Button 4" (the "forward" button on the left side)
+
+To jump to the bootloader, hold down "Button 4" (the "forward" button on the left side)
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/ploopyco/mouse/rev1_002/config.h b/keyboards/ploopyco/mouse/rev1_002/config.h
@@ -0,0 +1,33 @@
+/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
+ * Copyright 2019 Sunjun Kim
+ * Copyright 2020 Ploopy Corporation
+ *
+ * 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
+
+// These pins are not broken out, and cannot be used normally.
+// They are set as output and pulled high, by default
+#define UNUSABLE_PINS \
+ { B4, D6, F1, F5, F6, F7 }
+
+// If board has a debug LED, you can enable it by defining this
+// #define DEBUG_LED_PIN F7
+
+/* PMW33XX Settings */
+#define PMW33XX_CS_PIN B0
+
+#define ENCODER_A_PINS { F0 }
+#define ENCODER_B_PINS { F4 }
diff --git a/keyboards/ploopyco/mouse/rev1_002/keyboard.json b/keyboards/ploopyco/mouse/rev1_002/keyboard.json
@@ -0,0 +1,21 @@
+{
+ "processor": "atmega32u4",
+ "bootloader": "atmel-dfu",
+ "matrix_pins": {
+ "direct": [
+ ["D4", "D2", "E6", "B6", "D7", "C6", "C7", "B7"]
+ ]
+ },
+ "ws2812": {
+ "pin": "B5"
+ },
+ "rgblight": {
+ "led_count": 3,
+ "max_brightness": 40,
+ "animations": {
+ "breathing": true,
+ "rainbow_mood": true,
+ "rainbow_swirl": true
+ }
+ }
+}
diff --git a/keyboards/ploopyco/mouse/rev1_002/readme.md b/keyboards/ploopyco/mouse/rev1_002/readme.md
@@ -0,0 +1,3 @@
+See the [main readme](../readme.md) for more details.
+
+This is for the R1.002 version of the Mouse. It's easily distinguishable from the R1.003+ versions of the Mouse because it has an ATmega32u4 on the board.
diff --git a/keyboards/ploopyco/mouse/rev1_002/rules.mk b/keyboards/ploopyco/mouse/rev1_002/rules.mk
@@ -0,0 +1,2 @@
+# Processor frequency
+F_CPU = 8000000
diff --git a/keyboards/ploopyco/mouse/rev1_003/config.h b/keyboards/ploopyco/mouse/rev1_003/config.h
@@ -0,0 +1,32 @@
+/* Copyright 2024 Colin Lam (Ploopy Corporation)
+ * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
+ * Copyright 2019 Sunjun Kim
+ *
+ * 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 UNUSABLE_PINS \
+ { GP1, GP3, GP4, GP6, GP8, GP10, GP11, GP16, GP18, GP20, GP25, GP27, GP29 }
+
+/* PMW3360 Settings */
+#define PMW33XX_LIFTOFF_DISTANCE 0x00
+#define PMW33XX_CS_PIN GP5
+#define SPI_SCK_PIN GP2
+#define SPI_MISO_PIN GP0
+#define SPI_MOSI_PIN GP7
+
+#define ENCODER_A_PINS { GP26 }
+#define ENCODER_B_PINS { GP28 }
diff --git a/keyboards/ploopyco/mouse/rev1_003/keyboard.json b/keyboards/ploopyco/mouse/rev1_003/keyboard.json
@@ -0,0 +1,25 @@
+{
+ "processor": "RP2040",
+ "bootloader": "rp2040",
+ "usb": {
+ "device_version": "1.0.0"
+ },
+ "diode_direction": "COL2ROW",
+ "matrix_pins": {
+ "direct": [
+ ["GP15", "GP21", "GP23", "GP17", "GP19", "GP22", "GP14", "GP24"]
+ ]
+ },
+ "rgblight": {
+ "led_count": 1,
+ "max_brightness": 40,
+ "animations": {
+ "breathing": true,
+ "rainbow_mood": true,
+ "rainbow_swirl": true
+ }
+ },
+ "ws2812": {
+ "pin": "GP12"
+ }
+}
diff --git a/keyboards/ploopyco/mouse/rev1_003/readme.md b/keyboards/ploopyco/mouse/rev1_003/readme.md
@@ -0,0 +1,3 @@
+See the [main readme](../readme.md) for more details.
+
+This is for the R1.003+ version of the Mouse. It's easily distinguishable from the previous versions of the Mouse because it has an RP2040 on the board.
diff --git a/keyboards/ploopyco/mouse/rules.mk b/keyboards/ploopyco/mouse/rules.mk
@@ -1,4 +0,0 @@
-# Processor frequency
-F_CPU = 8000000
-
-POINTING_DEVICE_DRIVER = pmw3360
diff --git a/keyboards/ploopyco/trackball/config.h b/keyboards/ploopyco/trackball/config.h
@@ -23,20 +23,11 @@
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
+/* PMW3360 settings */
#define ROTATIONAL_TRANSFORM_ANGLE 20
-
-// If board has a debug LED, you can enable it by defining this
-// #define DEBUG_LED_PIN F7
-
-/* PMW33XX Settings */
-#define PMW33XX_CS_PIN B0
#define POINTING_DEVICE_INVERT_Y
-
#define ENCODER_BUTTON_COL 1
#define ENCODER_BUTTON_ROW 0
/* Custom encoder needs to specify just how many encoders we have */
#define NUM_ENCODERS 1
-
-#define ENCODER_A_PINS { F0 }
-#define ENCODER_B_PINS { F4 }
diff --git a/keyboards/ploopyco/trackball/info.json b/keyboards/ploopyco/trackball/info.json
@@ -1,6 +1,6 @@
{
- "keyboard_name": "Trackball",
- "manufacturer": "PloopyCo",
+ "keyboard_name": "Classic Trackball",
+ "manufacturer": "Ploopy",
"url": "www.ploopy.co",
"maintainer": "drashna",
"usb": {
@@ -12,7 +12,6 @@
"bootmagic": {
"matrix": [0, 3]
},
-
"features": {
"bootmagic": true,
"extrakey": true,
diff --git a/keyboards/ploopyco/trackball/post_rules.mk b/keyboards/ploopyco/trackball/post_rules.mk
@@ -0,0 +1 @@
+POINTING_DEVICE_DRIVER = pmw3360
+\ No newline at end of file
diff --git a/keyboards/ploopyco/trackball/readme.md b/keyboards/ploopyco/trackball/readme.md
@@ -1,27 +1,34 @@
-# Ploopyco Trackball
+# Ploopy Classic Trackball
-
+
It's a DIY, QMK Powered Trackball!!!!
-* Keyboard Maintainer: [PloopyCo](https://github.com/ploopyco), [Drashna Jael're](https://github.com/drashna/), [Germ](https://github.com/germ/)
-* Hardware Supported: ATMega32u4 8MHz(3.3v)
+* Keyboard Maintainer: [Ploopy](https://github.com/ploopyco), [Drashna Jael're](https://github.com/drashna/), [Germ](https://github.com/germ/)
+* Hardware Supported: ATMega32u4 8MHz(3.3v), Raspberry RP2040
* Hardware Availability: [Store](https://ploopy.co), [GitHub](https://github.com/ploopyco)
Make example for this keyboard (after setting up your build environment):
- make ploopyco/trackball/rev1:default:flash
+ make ploopyco/trackball/rev1_004:default:flash
make ploopyco/trackball/rev1_005:default:flash
-
-To jump to the bootloader, hold down "Button 4" (immediate right of the trackball)
+ make ploopyco/trackball/rev1_007:default:flash
+
+To jump to the bootloader, hold down "Button 4" (immediate right of the trackball)
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).
## Revisions
-There are two main revisions for the PloopyCo Trackball, everything up to 1.004, and 1.005-1.006.
+There are three main revisions for the Ploopy Classic Trackball:
+
+- Everything up to 1.004 (very rare)
+- Revision 1.005 and 1.006 (commonly sold between 2020 and 2024)
+- Revision 1.007 (first available in 2025)
+
+In the 1.005 revision, button four was changed from pin B5 to B6, and the debug LED pin was changed from F7 to B5.
-In the 1.005 revision, button for was changed from pin B5 to B6, and the debug LED pin was changed from F7 to B5.
+In the 1.007 revision, the board was switched from an ATMega32u4 architecture to the Raspberry RP2040 architecture.
The PCB should indicate which revision this is.
diff --git a/keyboards/ploopyco/trackball/rev1/config.h b/keyboards/ploopyco/trackball/rev1/config.h
@@ -1,27 +0,0 @@
-/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
- * Copyright 2019 Sunjun Kim
- * Copyright 2020 Ploopy Corporation
- *
- * 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
-
-// These pins are not broken out, and cannot be used normally.
-// They are set as output and pulled high, by default
-#define UNUSABLE_PINS \
- { D1, D3, B4, B6, B7, D6, C7, F6, F5, F3, F7 }
-
-// If board has a debug LED, you can enable it by defining this
-#define DEBUG_LED_PIN F7
diff --git a/keyboards/ploopyco/trackball/rev1_004/config.h b/keyboards/ploopyco/trackball/rev1_004/config.h
@@ -0,0 +1,33 @@
+/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
+ * Copyright 2019 Sunjun Kim
+ * Copyright 2020 Ploopy Corporation
+ *
+ * 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
+
+// These pins are not broken out, and cannot be used normally.
+// They are set as output and pulled high, by default
+#define UNUSABLE_PINS \
+ { D1, D3, B4, B6, B7, D6, C7, F6, F5, F3, F7 }
+
+// If board has a debug LED, you can enable it by defining this
+#define DEBUG_LED_PIN F7
+
+/* PMW33XX Settings */
+#define PMW33XX_CS_PIN B0
+
+#define ENCODER_A_PINS { F0 }
+#define ENCODER_B_PINS { F4 }
diff --git a/keyboards/ploopyco/trackball/rev1/keyboard.json b/keyboards/ploopyco/trackball/rev1_004/keyboard.json
diff --git a/keyboards/ploopyco/trackball/rev1/readme.md b/keyboards/ploopyco/trackball/rev1_004/readme.md
diff --git a/keyboards/ploopyco/trackball/rev1_004/rules.mk b/keyboards/ploopyco/trackball/rev1_004/rules.mk
@@ -0,0 +1,2 @@
+# Processor frequency
+F_CPU = 8000000
diff --git a/keyboards/ploopyco/trackball/rev1_005/config.h b/keyboards/ploopyco/trackball/rev1_005/config.h
@@ -22,3 +22,12 @@
// They are set as output and pulled high, by default
#define UNUSABLE_PINS \
{ D1, D3, B4, B7, D6, C7, F6, F5, F3, F7 }
+
+// If board has a debug LED, you can enable it by defining this
+// #define DEBUG_LED_PIN F7
+
+/* PMW33XX Settings */
+#define PMW33XX_CS_PIN B0
+
+#define ENCODER_A_PINS { F0 }
+#define ENCODER_B_PINS { F4 }
diff --git a/keyboards/ploopyco/trackball/rev1_005/readme.md b/keyboards/ploopyco/trackball/rev1_005/readme.md
@@ -1,3 +1,3 @@
-See the [main readme](../readme.md) for more details.
+See the [main readme](../readme.md) for more details.
-This is just the rev 1.005+ trackball
+This is for the R1.005-R1.006 version of the Classic. It's easily distinguishable from the R1.007+ versions of the Classic because it has an ATmega32u4 on the board.
+\ No newline at end of file
diff --git a/keyboards/ploopyco/trackball/rev1_005/rules.mk b/keyboards/ploopyco/trackball/rev1_005/rules.mk
@@ -0,0 +1,2 @@
+# Processor frequency
+F_CPU = 8000000
diff --git a/keyboards/ploopyco/trackball/rev1_007/config.h b/keyboards/ploopyco/trackball/rev1_007/config.h
@@ -0,0 +1,32 @@
+/* Copyright 2024 Colin Lam (Ploopy Corporation)
+ * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
+ * Copyright 2019 Sunjun Kim
+ *
+ * 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 UNUSABLE_PINS \
+ { GP1, GP3, GP4, GP6, GP8, GP10, GP11, GP14, GP16, GP18, GP20, GP22, GP24, GP25, GP27, GP29 }
+
+/* PMW3360 Settings */
+#define PMW33XX_LIFTOFF_DISTANCE 0x00
+#define PMW33XX_CS_PIN GP5
+#define SPI_SCK_PIN GP2
+#define SPI_MISO_PIN GP0
+#define SPI_MOSI_PIN GP7
+
+#define ENCODER_A_PINS { GP26 }
+#define ENCODER_B_PINS { GP28 }
diff --git a/keyboards/ploopyco/trackball/rev1_007/keyboard.json b/keyboards/ploopyco/trackball/rev1_007/keyboard.json
@@ -0,0 +1,25 @@
+{
+ "processor": "RP2040",
+ "bootloader": "rp2040",
+ "usb": {
+ "device_version": "1.0.0"
+ },
+ "diode_direction": "COL2ROW",
+ "matrix_pins": {
+ "direct": [
+ ["GP15", "GP21", "GP23", "GP17", "GP19"]
+ ]
+ },
+ "rgblight": {
+ "led_count": 1,
+ "max_brightness": 40,
+ "animations": {
+ "breathing": true,
+ "rainbow_mood": true,
+ "rainbow_swirl": true
+ }
+ },
+ "ws2812": {
+ "pin": "GP12"
+ }
+}
diff --git a/keyboards/ploopyco/trackball/rev1_007/readme.md b/keyboards/ploopyco/trackball/rev1_007/readme.md
@@ -0,0 +1,3 @@
+See the [main readme](../readme.md) for more details.
+
+This is for the R1.007+ version of the Classic. It's easily distinguishable from the previous versions of the Classic because it has an RP2040 on the board.
diff --git a/keyboards/ploopyco/trackball/rules.mk b/keyboards/ploopyco/trackball/rules.mk
@@ -1,6 +0,0 @@
-# Processor frequency
-F_CPU = 8000000
-
-POINTING_DEVICE_DRIVER = pmw3360
-
-DEFAULT_FOLDER = ploopyco/trackball/rev1_005
diff --git a/keyboards/ploopyco/trackball_thumb/config.h b/keyboards/ploopyco/trackball_thumb/config.h
@@ -29,9 +29,6 @@
// If board has a debug LED, you can enable it by defining this
// #define DEBUG_LED_PIN F7
-/* PMW3360 Settings */
-#define POINTING_DEVICE_CS_PIN B0
-
#define ENCODER_BUTTON_COL 1
#define ENCODER_BUTTON_ROW 0
@@ -41,6 +38,3 @@
#define ENCODER_HIGH_THRES_B 90
/* Custom encoder needs to specify just how many encoders we have */
#define NUM_ENCODERS 1
-
-#define ENCODER_A_PINS { F4 }
-#define ENCODER_B_PINS { F0 }
diff --git a/keyboards/ploopyco/trackball_thumb/info.json b/keyboards/ploopyco/trackball_thumb/info.json
@@ -1,22 +1,22 @@
{
- "keyboard_name": "PloopyCo Thumb Trackball",
+ "keyboard_name": "Thumb Trackball",
+ "manufacturer": "Ploopy",
"url": "www.ploopy.co",
"maintainer": "ploopyco",
- "manufacturer": "Ploopy Corporation",
- "processor": "atmega32u4",
- "bootloader": "atmel-dfu",
"usb": {
"vid": "0x5043",
"pid": "0x5C46",
+ "device_version": "0.0.1",
"max_power": 100
},
+ "bootmagic": {
+ "matrix": [0, 3]
+ },
"features": {
"bootmagic": true,
- "command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
- "nkro": true,
+ "nkro": false,
"pointing_device": true,
"encoder": true
},
diff --git a/keyboards/ploopyco/trackball_thumb/post_rules.mk b/keyboards/ploopyco/trackball_thumb/post_rules.mk
@@ -0,0 +1 @@
+POINTING_DEVICE_DRIVER = pmw3360
+\ No newline at end of file
diff --git a/keyboards/ploopyco/trackball_thumb/readme.md b/keyboards/ploopyco/trackball_thumb/readme.md
@@ -3,13 +3,13 @@
It's a DIY, QMK Powered Trackball...for thumb ballers!
* Keyboard Maintainer: [PloopyCo](https://github.com/ploopyco), [Drashna Jael're](https://github.com/drashna/), [Germ](https://github.com/germ/)
-* Hardware Supported: ATMega32u4 8MHz(3.3v)
+* Hardware Supported: ATMega32u4 8MHz(3.3v), Raspberry RP2040
* Hardware Availability: [Store](https://ploopy.co), [GitHub](https://github.com/ploopyco)
Make example for this keyboard (after setting up your build environment):
make ploopyco/trackball_thumb/rev1_001:default:flash
-
+
To jump to the bootloader, hold down "Button 4" (button closest to the USB port).
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/ploopyco/trackball_thumb/rev1_001/config.h b/keyboards/ploopyco/trackball_thumb/rev1_001/config.h
@@ -22,3 +22,9 @@
// They are set as output and pulled high, by default
#define UNUSABLE_PINS \
{ D1, D3, B4, B7, D6, C7, F6, F5, F3, F7 }
+
+/* PMW33XX Settings */
+#define PMW33XX_CS_PIN B0
+
+#define ENCODER_A_PINS { F0 }
+#define ENCODER_B_PINS { F4 }
diff --git a/keyboards/ploopyco/trackball_thumb/rev1_001/keyboard.json b/keyboards/ploopyco/trackball_thumb/rev1_001/keyboard.json
@@ -1,13 +1,14 @@
{
- "usb": {
- "device_version": "1.0.0"
- },
- "diode_direction": "COL2ROW",
+ "processor": "atmega32u4",
+ "bootloader": "atmel-dfu",
"matrix_pins": {
"direct": [
["D5", "B6", "D4", "D2", "E6", "D7"]
]
},
+ "ws2812": {
+ "pin": "B5"
+ },
"rgblight": {
"led_count": 3,
"max_brightness": 40,
@@ -16,8 +17,5 @@
"rainbow_mood": true,
"rainbow_swirl": true
}
- },
- "ws2812": {
- "pin": "B5"
}
}
diff --git a/keyboards/ploopyco/trackball_thumb/rev1_001/readme.md b/keyboards/ploopyco/trackball_thumb/rev1_001/readme.md
@@ -1,3 +1,3 @@
-This is the R1.001+ version of the Thumb. Future versions may have other features.
+See the [main readme](../readme.md) for more details.
-See the [main readme](../readme.md) for more details.
+This is for the R1.001 version of the Thumb. It's easily distinguishable from the R1.002+ versions of the Thumb because it has an ATmega32u4 on the board.
+\ No newline at end of file
diff --git a/keyboards/ploopyco/trackball_thumb/rev1_001/rules.mk b/keyboards/ploopyco/trackball_thumb/rev1_001/rules.mk
@@ -0,0 +1,2 @@
+# Processor frequency
+F_CPU = 8000000
diff --git a/keyboards/ploopyco/trackball_thumb/rev1_002/config.h b/keyboards/ploopyco/trackball_thumb/rev1_002/config.h
@@ -0,0 +1,32 @@
+/* Copyright 2024 Colin Lam (Ploopy Corporation)
+ * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
+ * Copyright 2019 Sunjun Kim
+ *
+ * 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 UNUSABLE_PINS \
+ { GP1, GP3, GP4, GP6, GP8, GP10, GP11, GP14, GP18, GP20, GP22, GP24, GP25, GP27, GP29 }
+
+/* PMW3360 Settings */
+#define PMW33XX_LIFTOFF_DISTANCE 0x00
+#define PMW33XX_CS_PIN GP5
+#define SPI_SCK_PIN GP2
+#define SPI_MISO_PIN GP0
+#define SPI_MOSI_PIN GP7
+
+#define ENCODER_A_PINS { GP28 }
+#define ENCODER_B_PINS { GP26 }
diff --git a/keyboards/ploopyco/trackball_thumb/rev1_002/keyboard.json b/keyboards/ploopyco/trackball_thumb/rev1_002/keyboard.json
@@ -0,0 +1,25 @@
+{
+ "processor": "RP2040",
+ "bootloader": "rp2040",
+ "usb": {
+ "device_version": "1.0.0"
+ },
+ "diode_direction": "COL2ROW",
+ "matrix_pins": {
+ "direct": [
+ ["GP17", "GP16", "GP15", "GP21", "GP23", "GP19"]
+ ]
+ },
+ "rgblight": {
+ "led_count": 1,
+ "max_brightness": 40,
+ "animations": {
+ "breathing": true,
+ "rainbow_mood": true,
+ "rainbow_swirl": true
+ }
+ },
+ "ws2812": {
+ "pin": "GP12"
+ }
+}
diff --git a/keyboards/ploopyco/trackball_thumb/rev1_002/readme.md b/keyboards/ploopyco/trackball_thumb/rev1_002/readme.md
@@ -0,0 +1,3 @@
+See the [main readme](../readme.md) for more details.
+
+This is for the R1.002+ version of the Thumb. It's easily distinguishable from the previous versions of the Thumb because it has an RP2040 on the board.
diff --git a/keyboards/ploopyco/trackball_thumb/rules.mk b/keyboards/ploopyco/trackball_thumb/rules.mk
@@ -1,6 +0,0 @@
-# Processor frequency
-F_CPU = 8000000
-
-POINTING_DEVICE_DRIVER = pmw3360
-
-DEFAULT_FOLDER = ploopyco/trackball_thumb/rev1_001