melaphor / trackzeron

Custom Firmware for Teensy-based Azeron Classic Keypad + Trackball

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Update 2024 March 23: Archiving this repo

I was very passionate about this project when I started it in 2020, but I am no longer working on it.

Both Azeron and QMK have made leaps and bounds in the past few years, so this incarnation of the project is behind the times.

I think it's well past time for me to officially pass the torch to chrisistansell. He's adapted it for the Cyborg and adjusted the holder for a 34mm trackball, which is way more common and easily accessible than the 52mm* I used.

*Note (because it's been asked often): I used 52mm because I wanted a very large trackball and was only considering my personal use when I started the project.

TRACKzeron: Adding trackball functionality to the Azeron Keypad

This repository contains source code and prebuilt firmware files for a modified Azeron keypad.

Only for Classic and Compact models with TEENSY++ 2.0 mainboards

This does not work with the Cyborg/Cyborg compact models. It is for Azeron classic devices that use the Teensy++ 2.0 (green) mainboard. The Teensy++ 2.0 was discontinued in 2021, and Azeron started producing models with their proprietary ARM/STM32-based (black) mainboard in late-2022. I will not be adding support for the Azeron proprietary mainboards and there is no ETA on a mod for Cyborg models with Teensy mainboards. Check out chrisistansell's fork for Teensy-based Cyborg support.

Notes

  • This mod has no official Azeron support.
  • I had to compile custom firmware to make the trackball work, so this modded keypad does not work with the official Azeron software.
  • This mod requires soldering. (No soldering to anything on the keypad, just the sensor module)
  • Modifying your device always comes with risk attached. I’m sharing what worked for me and offer no guarantees.

FAQs:

“TRACKzeron”?

Trackball + Azeron = TRACKzeron.

Will this work on my device with a black mainboard?

The firmware will not work. The new black mainboards have a different chip. The firmware was not designed for it. I cannot confirm whether the new mainboard can be rewired to accommodate the sensor.

Will this work on the Azeron Cyborg or Cyborg Compact model?

No. The Cyborg models are wired differently. Unfortunately I have not figured out the rewiring and I do not have an ETA on if/when the Cyborg mod will be done.

How did you add the trackball?

See the guide.

How does this work in the Azeron Software?

This mod is not compatible with the official Azeron Software. You will need to use a different software to set your keybinds. I have used reWASD and JoyToKey.

How do you use the Azeron Software with two keypads at once?

Using two keypads simultaneously isn’t officially supported by the Azeron software (yet? seems like they're working on that), even if they’re both stock firmware/not modified, but a workaround for two unmodified keypads is to plug in one keypad, set the keybinds, then unplug. Plug in the second keypad and set those keybinds. You won't be able to change the keybinds while they're both plugged in, but they should work in-game.

Do you have a video where you’re playing with both keypads together?

Yes; there's a YouTube clip of me playing Mass Effect Andromeda, and some of me playing Borderlands on my Twitch channel.

Can you make me one?

No.

Guide

Parts

Tools

  • screwdrivers: hex, Philips, and flat heads
  • precision tweezers
  • Soldering Iron & solder
  • wire stripper
  • wire cutters

Preparing

  • 3D print the trackball assembly.
  • Push the ceramic ball bearings into the trackball assembly.
  • Strip and tin 7-9 inches of 28 AWG hookup wire OR desolder the wires attached to the thumbstick and D-pad. Need 6 wires.
  • Solder wires to the PMW3360 sensor pins (The other two are not used):
    • GD
    • SS
    • SC
    • MO
    • MI
    • VI

Rewire the Azeron

  • Remove the Azeron palmrest to reveal the Teensy Board

Azeron-unchanged

  • Disconnect the thumbstick and D-pad from the Teensy board and grounding block.
  • Remove the thumbstick assembly from the rail.

Azeron-removethumb

  • Disconnect the pinky and ring finger switches from the Teensy board (leave the ground [black] wires connected to the grounding block)
  • Reconnect the pinky and ring finger switches as follows:
    • Ring finger:
      • High flick/green wire: F7
      • Flick/red wire: F6
      • Push/orange wire: F5
      • Pull/purple wire: F4
    • Pinky finger:
      • High flick/green wire: F3
      • Flick/red wire: F2
      • push/orange wire: F1
      • pull/purple wire: F0

Azeron-movepinkyring

Connect the PMW3360 Sensor:

  • Connect the sensor to the Teensy board as follows:
    • GD: GND
    • SS: B0
    • SC: B1
    • MO: B2
    • MI: B3
    • VI: +5V

Azeron-addsensor Sensor-Teensy

NOTE: It's important for the switches and sensor to be connected exactly as indicated or the device will not work.

  • Attach the sensor to the trackball assembly.
  • Fit the trackball assembly to the Azeron thumb rail.
  • Reattach the palmrest
  • Place ball in cup.
  • Load firmware HEX file using the Teensy Loader.
  • Enjoy trackball keypad

About

Custom Firmware for Teensy-based Azeron Classic Keypad + Trackball

License:MIT License


Languages

Language:C 82.3%Language:C++ 15.9%Language:Makefile 1.8%