115 lines
5.6 KiB
Markdown
115 lines
5.6 KiB
Markdown
# CMDR Joystick 25
|
|
|
|
USB Joystick with 2 hall effect gimbals, 2 hat switches and 27 buttons for use computer simulators.
|
|
|
|
## Layout
|
|
|
|
```cpp
|
|
HW Button index map:
|
|
---------------------------------------------------------------
|
|
| 0 L| 1 U| 25 U | | 2 | | 26 U | 4 U| 3 L|
|
|
---------------------------------------------------------------
|
|
| | 5 | 6 | 7 | | 12 | 11 | 10 | |
|
|
| |
|
|
| | 8 | | 13 | |
|
|
| | 9 | | 14 | |
|
|
| X1/Y1 X2/Y2 |
|
|
| | 16 | | 21 | |
|
|
| | 19 | 15 | 17 | | 24 | 20 | 22 | |
|
|
| | 18 | | 23 | |
|
|
---------------------------------------------------------------
|
|
|
|
USB HID joystick map :
|
|
---------------------------------------------------------------
|
|
| Fn L| B2 U| B26 U| | B3 | | B28 U| B5 U| B4 L|
|
|
---------------------------------------------------------------
|
|
| | TH | B6 | B8 | | B13 | B12 | B11 | |
|
|
| |
|
|
| | B9 | | B14 | |
|
|
| | B10 | | B15 | |
|
|
| X1/Y1 X2/Y2 |
|
|
| | H1U | | H2U | |
|
|
| | H1L | B18 | H1R | | H2L | B19 | H2R | |
|
|
| | H1D | | H2D | |
|
|
---------------------------------------------------------------
|
|
|
|
USB HID joystick map (Fn):
|
|
---------------------------------------------------------------
|
|
| Fn L| B21 U| B27 U| | B3 | | B28 U| B5 U| B22 L|
|
|
---------------------------------------------------------------
|
|
| | TH | B7 | B8 | | B13 | B24 | B23 | |
|
|
| |
|
|
| | B29 | | B31 | |
|
|
| | B30 | | B32 | |
|
|
| X1/Y1 X2/Y2 |
|
|
| | H3U | | H4U | |
|
|
| | H3L | B20 | H3R | | H4L | B25 | H4R | |
|
|
| | H3D | | H4D | |
|
|
---------------------------------------------------------------
|
|
|
|
Config Layer (holding CONFIG button)
|
|
---------------------------------------------------------------
|
|
|BOOT L| CAL U| | CONFIG | | - | - |
|
|
---------------------------------------------------------------
|
|
| | - | - | - | | - | - | - | |
|
|
| |
|
|
| | - | | - | |
|
|
| | - | | - | |
|
|
| -/- -/- |
|
|
| | - | | - | |
|
|
| | - | - | - | | - | - | - | |
|
|
| | - | | - | |
|
|
---------------------------------------------------------------
|
|
|
|
```
|
|
|
|
## Features
|
|
|
|
- Ergonomic design (low profile)
|
|
- Hall effect gimbals
|
|
- Supports both USB HID joystick and ELRS Tx
|
|
- Total 6x axis, 4x hat switches and 32x buttons (using Fn mode) implemented in USB HID mode
|
|
|
|
## Hardware
|
|
|
|
- 2x FrSky M7 or M10 gimbals [M7 datasheet](https://www.frsky-rc.com/product/m7/)
|
|
- 6x Kailh choc low profile switches [Brown](http://www.kailh.com/en/Products/Ks/CS/)
|
|
- 8x Cherry MX switches [Brown](https://www.cherrymx.de/en/cherry-mx/mx-original/mx-brown.html)
|
|
- 2x Miniature Toggle Switch (M6 shaft, 7-8mm wide body. Ex Apem 5636) [Apem 5000 series](https://www.farnell.com/datasheets/2626614.pdf?_ga=2.22934718.461231604.1570510103-1672862477.1542183430)
|
|
- 2x Alpine RKJXM1015004 hat switches [pdf](https://www.mouser.se/datasheet/2/15/RKJXM-1662398.pdf)
|
|
- 1x Bottom case (3D printed)
|
|
- 1x Top plate (3D printed)
|
|
- 2x Hat swith top (3D printed) [stl](/mCAD/Hat_Castle_Short_scale_99_99_130.stl)
|
|
- 1x Custom PCB (CMDR Joystick 25 rev A)
|
|
|
|
- 
|
|
- 
|
|
- Gerber files: [zip](/eCAD/cmdr-joystick/cmdr-joystick_rev_a_gerber.zip)
|
|
- Schematics: [pdf](/eCAD/cmdr-joystick/cmdr-joystick_rev_a_schematics.pdf)
|
|
- rp2040zero pinout: [jpg](https://www.waveshare.com/w/upload/2/2b/RP2040-Zero-details-7.jpg)
|
|
- rp2040zero schematic: [pdf](https://www.waveshare.com/w/upload/4/4c/RP2040_Zero.pdf)
|
|
- eeprom 24C32LV: [pdf](https://www.mouser.se/datasheet/2/308/1/NV24C32LV_D-2319484.pdf)
|
|
- P-Fet si2372eds: [pdf](https://www.vishay.com/docs/63924/si2371eds.pdf)
|
|
- N-Fet 2N7002: [pdf](https://www.mouser.se/datasheet/2/408/T2N7002AK_datasheet_en_20150401-1916411.pdf)
|
|
- Small signal diod 1N4148W: [pdf](https://www.diodes.com/assets/Datasheets/BAV16W_1N4148W.pdf)
|
|
|
|
## Software Build environment
|
|
|
|
##### Rust
|
|
|
|
- Cargo (rust embedded)
|
|
- Flashing via Cargo
|
|
- Press and hold boot button on rp2040zero board while perform a reset
|
|
- Press and hold CONF and press BOOT button.
|
|
|
|
## References
|
|
|
|
- rp2040 datasheet: [pdf](https://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf)
|
|
|
|
## Calibration
|
|
|
|
1. Center both gimbals.
|
|
2. Press and hold CONF button and press CAL botton. Status led will start blinking green.
|
|
3. Move both gimbals to all corners.
|
|
4. Press right hat switch to save calibration data to eeprom.
|