CMDR Joystick 25

RC Joystick with 2 hall effect gimbals, 2 hat switches and 25 buttons for use both with simulators and ELRS Rx equipped quads.

Layout

USB Joystick Layer 0
--------------------------------------------------------------
| FnL |  B1 |               | B21 |              | B5  | FnR | 
--------------------------------------------------------------
|     |  B2 |  B3 | MoL |            | MoR | B7  | B6  |     |
|                                                            |
|                 | B4  |            | B8  |                 |
|                 | B17 |            | B18 |                 |
|      Z/RZ                                        X/Y       |
|                 | H1U |            | H2U |                 |
|           | H1L | H1B | H1R || H2L | H2B | H2R |           |
|                 | H1D |            | H2D |                 |
--------------------------------------------------------------

USB Joystick Layer 1 (FnL)
--------------------------------------------------------------
| FnL |  B9 |              | B21 |               | B5  | FnR | 
--------------------------------------------------------------
|     | B10 | B11 | MoL |            | MoR | B7  | B6  |     |
|                                                            |
|                 | B12 |            | B8  |                 |
|                 | B19 |            | B18 |                 |
|      Z/RZ                                        X/Y       |
|                 | H3U |            | H2U |                 |
|           | H3L | H3B | H3R || H2L | H2B | H2R |           |
|                 | H3D |            | H2D |                 |
--------------------------------------------------------------

USB Joystick Layer 2 (FnR)
--------------------------------------------------------------
| FnL |  B1 |              | B21 |               | B13 | FnR | 
--------------------------------------------------------------
|     |  B2 |  B3 | MoL |            | MoR | B15 | B14 |     |
|                                                            |
|                 | B4  |            | B16 |                 |
|                 | B17 |            | B20 |                 |
|      Z/RZ                                    X(RX)/Y(RY)   |
|                 | H1U |            | H4U |                 |
|           | H1L | H1B | H1R || H4L | H4B | H4R |           |
|                 | H1D |            | H4D |                 |
--------------------------------------------------------------

USB Joystick Layer 3 (FnL + FnR)
--------------------------------------------------------------
| FnL |  B9 |              | B21 |               | B13 | FnR | 
--------------------------------------------------------------
|     | B10 | B11 | MoL |            | MoR | B15 | B14 |     |
|                                                            |
|                 | B12 |            | B16 |                 |
|                 | B19 |            | B20 |                 |
|      Z/RZ                                    X(RX)/Y(RY)   |
|                 | H3U |            | H4U |                 |
|           | H3L | H3B | H3R || H4L | H4B | H4R |           |
|                 | H3D |            | H4D |                 |
--------------------------------------------------------------

ELRS Layer
--------------------------------------------------------------
| CH7 OFF | CH7 ON |       |  --  |        | CH8 ON | CH8 OFF| 
--------------------------------------------------------------
| | CH9 ON  | CH9 OFF  | CH5 |  | CH10 OFF | CH10 ON | CH12| |
|                                                            |
|               |  CH11 ON  |    |  CH12 ON  |               |
|               |  CH11 OFF  |  |  CH12 OFF  |               |
|  X(CH1)/Y(CH2)                              X(CH3)/Y(CH4)  |
|                 | LTU |            | RTU |                 |
|           | LTL | LTC | LTR || RTL | RTC | RTR |           |
|                 | LTD |            | RTD |                 |
--------------------------------------------------------------

Features

  • Ergonomic design (low profile)
  • Hall effect gimbals
  • Supports both USB HID joystick and ELRS Tx
  • Total 6x axis, 4x hat switches and 25x buttons (using Fn mode) implemented in USB HID mode
  • 12 Channels implemented in ELRS mode (4x axis, 8x buttons)

Hardware

  • 2x FrSky M7 or M10 gimbals

  • 6x Kailh choc low profile switches

  • 6x Cherry MX switches

  • 2x Miniature Toggle Switch (M6 shaft, 7mm wide body)

  • 2x Alpine RKJXM1015004 hat switches

  • 1x Bottom case (3D printed)

  • 1x Top plate (3D printed)

  • 2x Hat swith top (3D printed)

  • 1x PCB

    • pcb_top pcb_bottom
    • Gerber files: zip
    • Schematics: pdf
      • rp2040zero pinout: jpg
      • rp2040zero schematic: pdf
      • eeprom 24C32LV: pdf
      • P-Fet si2372eds: pdf
      • N-Fet 2N7002: pdf
      • Small signal diod 1N4148W: pdf
  • 1x ELRS TX (using a EP1 TCXO Dual receiver reprogrammed as a tramsmitter)

Software Build environment

Rust

  • Cargo (rust embedded)

  • Flashing via Cargo

    • Pressing boot button on teensy
    • Press and hold "top lower right button" when powering the unit
  • CRSF protocol description (for communicating with ELRS TX): Link

  • rp2040 datasheet: pdf

Calibration

  1. Center both gimbals.
  2. Press all righ hand side buttons except hat switch. Status led will start blinking green.
  3. Move both gimbals to all corners.
  4. Press right hat switch to save calibration data to eeprom.

Done!

Description
No description provided
Readme 24 MiB
Languages
Rust 91.8%
Python 7%
Just 1.2%