summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorploopyco <54917504+ploopyco@users.noreply.github.com>2025-12-08 17:24:42 -0500
committerGitHub <noreply@github.com>2025-12-08 14:24:42 -0800
commit505e5c7033f841e277e227718ed328cf64c8a2fc (patch)
tree187dda8b41808ca7835ae419953140049ba3f2f5
parent107812ceef1c5efaa1d76b8136f119fa3f63f731 (diff)
Add new mouse "Ploopy Nano 2 Trackball" (#25762)
-rw-r--r--keyboards/ploopyco/nano_2/config.h33
-rw-r--r--keyboards/ploopyco/nano_2/info.json27
-rw-r--r--keyboards/ploopyco/nano_2/keymaps/default/keymap.c23
-rw-r--r--keyboards/ploopyco/nano_2/readme.md38
-rw-r--r--keyboards/ploopyco/nano_2/rev2_003/keyboard.json7
-rw-r--r--keyboards/ploopyco/nano_2/rev2_003/readme.md1
-rw-r--r--keyboards/ploopyco/nano_2/rules.mk1
7 files changed, 130 insertions, 0 deletions
diff --git a/keyboards/ploopyco/nano_2/config.h b/keyboards/ploopyco/nano_2/config.h
new file mode 100644
index 0000000000..7d2b96fd8e
--- /dev/null
+++ b/keyboards/ploopyco/nano_2/config.h
@@ -0,0 +1,33 @@
1/* Copyright 2024 Colin Lam (Ploopy Corporation)
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 UNUSABLE_PINS \
20 { GP1, GP3, GP4, GP6, GP8, GP10, GP14, GP16, GP18, GP20, GP22, GP24, GP25, GP26, GP27, GP28, GP29 }
21
22#define MOUSE_EXTENDED_REPORT
23
24#define PLOOPY_DRAGSCROLL_MOMENTARY
25#define PLOOPY_DRAGSCROLL_DIVISOR_H 64.0
26#define PLOOPY_DRAGSCROLL_DIVISOR_V 64.0
27
28#define PAW3222_CS_PIN GP5
29#define PAW3222_MOTION_PIN GP9
30#define PAW3222_SPI_DIVISOR 64
31#define SPI_SCK_PIN GP2
32#define SPI_MISO_PIN GP0
33#define SPI_MOSI_PIN GP7
diff --git a/keyboards/ploopyco/nano_2/info.json b/keyboards/ploopyco/nano_2/info.json
new file mode 100644
index 0000000000..ad69a0c04e
--- /dev/null
+++ b/keyboards/ploopyco/nano_2/info.json
@@ -0,0 +1,27 @@
1{
2 "keyboard_name": "Ploopy Nano 2 Trackball",
3 "manufacturer": "Ploopy Corporation",
4 "url": "www.ploopy.co",
5 "maintainer": "ploopyco",
6 "usb": {
7 "vid": "0x5043",
8 "pid": "0x4CE5",
9 "device_version": "0.0.1",
10 "max_power": 100
11 },
12 "features": {
13 "bootmagic": true,
14 "extrakey": true,
15 "nkro": true,
16 "pointing_device": true
17 },
18 "processor": "RP2040",
19 "bootloader": "rp2040",
20 "layouts": {
21 "LAYOUT": {
22 "layout": [
23 {"x": 0, "y": 0, "matrix": [0, 0]}
24 ]
25 }
26 }
27}
diff --git a/keyboards/ploopyco/nano_2/keymaps/default/keymap.c b/keyboards/ploopyco/nano_2/keymaps/default/keymap.c
new file mode 100644
index 0000000000..9fa7252a66
--- /dev/null
+++ b/keyboards/ploopyco/nano_2/keymaps/default/keymap.c
@@ -0,0 +1,23 @@
1/* Copyright 2021 Colin Lam (Ploopy Corporation)
2 * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
3 * Copyright 2019 Sunjun Kim
4 * Copyright 2019 Hiroyuki Okada
5 *
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19#include QMK_KEYBOARD_H
20
21const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
22 [0] = LAYOUT( DRAG_SCROLL )
23};
diff --git a/keyboards/ploopyco/nano_2/readme.md b/keyboards/ploopyco/nano_2/readme.md
new file mode 100644
index 0000000000..509a62f9fa
--- /dev/null
+++ b/keyboards/ploopyco/nano_2/readme.md
@@ -0,0 +1,38 @@
1# Ploopy Nano 2 Trackball
2
3![Ploopyco Trackball Nano 2](https://cdn.ploopy.co/nano2-media-assets/site-photos/_MG_2495.jpg)
4
5It's a DIY, QMK Powered Trackball...Nano!
6
7* Maintainer: [PloopyCo](https://github.com/ploopyco)
8* Key contributors: [Drashna Jael're](https://github.com/drashna/), [Germ](https://github.com/germ/)
9* Hardware Supported: RP2040
10* Hardware Availability: [Store](https://ploopy.co/nano-2), [GitHub](https://github.com/ploopyco)
11
12Make example for this keyboard (after setting up your build environment):
13
14 make ploopyco/nano_2/rev2_003:default
15
16Flashing example for this keyboard:
17
18 make ploopyco/nano_2/rev2_003:default:flash
19
20# Building Firmware
21
22See 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).
23
24# Triggering the Bootloader
25
26[Do you see those two golden holes in the board](https://ploopy.co/wp-content/uploads/2023/11/boot.jpg)? Those are called **vias**. They act exactly like a switch does. Right now, that switch is OFF. However, if you take a paperclip or a pair of metal tweezers and touch those two vias, the two vias will form an electrical connection. Effectively, that switch turns ON.
27
28Go ahead and connect the two vias, and then (while the vias are connected) plug in the Nano 2 board into your computer.
29
30The computer should recognise that a mass storage device was just plugged in. Once this is done, you should be able to drag and drop files onto the Nano 2 board, as if the board was a USB drive. Feel free to remove the tweezers or paperclip at this point.
31
32If you want to upload a new firmware file (a ".uf2" file, like "nano-2-awesome-version.uf2" or something), just drag it into the folder, and it'll automatically install on the Nano 2 board and restart itself, in normal operating mode. You're done!
33
34**TIP**: If your firmware is in some kind of strange state and uploading new firmware isn't fixing it, try uploading [a flash nuke](https://learn.adafruit.com/getting-started-with-raspberry-pi-pico-circuitpython/circuitpython#flash-resetting-uf2-3083182) to the Nano 2 board before flashing the new firmware. It wipes the memory of the Nano 2 board completely clean, which can help clear a few types of errors.
35
36# Customizing your Ploopy Nano 2
37
38You can find customziation options [here](../readme.md). \ No newline at end of file
diff --git a/keyboards/ploopyco/nano_2/rev2_003/keyboard.json b/keyboards/ploopyco/nano_2/rev2_003/keyboard.json
new file mode 100644
index 0000000000..767a6ba154
--- /dev/null
+++ b/keyboards/ploopyco/nano_2/rev2_003/keyboard.json
@@ -0,0 +1,7 @@
1{
2 "matrix_pins": {
3 "direct": [
4 ["GP17"]
5 ]
6 }
7}
diff --git a/keyboards/ploopyco/nano_2/rev2_003/readme.md b/keyboards/ploopyco/nano_2/rev2_003/readme.md
new file mode 100644
index 0000000000..052a17f396
--- /dev/null
+++ b/keyboards/ploopyco/nano_2/rev2_003/readme.md
@@ -0,0 +1 @@
See the main readme for more details. This is just here for when future revisions of the board are released.
diff --git a/keyboards/ploopyco/nano_2/rules.mk b/keyboards/ploopyco/nano_2/rules.mk
new file mode 100644
index 0000000000..e468209eba
--- /dev/null
+++ b/keyboards/ploopyco/nano_2/rules.mk
@@ -0,0 +1 @@
POINTING_DEVICE_DRIVER = paw3222