added hardware

This commit is contained in:
cpu
2025-07-22 01:12:34 +02:00
parent e8ebb23678
commit 980549c36c
6 changed files with 269 additions and 39 deletions

50
arduino/README.md Normal file
View File

@@ -0,0 +1,50 @@
# Nexus Game Controller
A game controller using a Seeed Studio XIAO nRF52840 Sense board that emulates a Bluetooth keyboard.
## Hardware
- [Seeed Studio XIAO nRF52840 Sense](#https://www.seeedstudio.com/Seeed-XIAO-BLE-Sense-nRF52840-p-5253.html)
- 9 [push buttons](https://rpishop.cz/komponenty/6128-pimoroni-cerne-arkadove-tlacitko.html) connected to pins D1-D6 and D8-D10.
## Features
- **Bluetooth LE Keyboard:** Connects to any computer or mobile device as a standard keyboard.
- **Multi-Event Buttons:** Each of the 9 buttons supports three types of interactions:
- Single Click
- Double Click
- Long Press
- **Character Mapping:** Each button event sends a unique character.
- **Serial Debugging:** Outputs button events and Bluetooth connection status to the serial monitor.
## Button Mappings
| Button | Single Click | Double Click | Long Press |
|--------|--------------|--------------|------------|
| D1 | `a` | `b` | `c` |
| D2 | `d` | `e` | `f` |
| D3 | `g` | `h` | `i` |
| D4 | `j` | `k` | `l` |
| D5 | `m` | `n` | `o` |
| D6 | `p` | `q` | `r` |
| D8 | `s` | `t` | `u` |
| D9 | `v` | `w` | `x` |
| D10 | `y` | `z` | `1` |
## How to Use
1. **Setup Arduino IDE:**
- Install the "Seeed nRF52 Boards" package.
- Select "Seeed XIAO BLE Sense - nRF52840" as the board.
- Install the "Adafruit Bluefruit nRF52" library.
2. **Upload:** Compile and upload the [sketch](/arduino/sketch.ino) to your XIAO board.
3. **Connect:** Scan for Bluetooth devices on your computer or mobile device and connect to "Nexus Game Controller".
4. **Play:** Press the buttons to send keystrokes. Open the Serial Monitor at 115200 baud to see debug information.
## 3D Print
![Hexagon](/arduino/Krabicka_hexagon.png)
You can import the [3mf file](/arduino/Krabicka_hexagon.3mf) to your slicer for printing.
## Customize your design
Open the [3D model](/arduino/Krabicka_hexagon.FCStd) in FreeCAD to model your changes.