dorkhub

trackpuck

6 DoF input peripheral designed for CAD

badjeff
741 forksupdated 3 months ago
git clone https://github.com/badjeff/trackpuck.gitbadjeff/trackpuck

Trackpuck

6 DoF input peripheral designed for CAD.

Design Principles

  • 6DoF tracking output as HID Joystick
  • Integrated magnetometers mlx90393-pcb
  • Do NOT spoof to be one specific peripheral and complies with the software terms and conditions of other vendors
  • Powered by ZMK => OSS, on-devie profiling, say no to vendor lock eco-system
  • Compatible for seeed xiao ble form factor mcu board
  • 3D printed go-first
  • Wireless (but, magnetometer are not quite power efficient ATM)
  • Lightness (referring to weight and control)
  • Medium to small size
  • Rigid
  • Low Profile

Gallery

m0.mp4

*Video 1: Navigating in Fusion 360 with TrackpuckTools Add-ins

m1.mp4

*Video 2: Navigating in Blender 4.5 with TrackpuckTools Extension Scripts

BOM

Unit Item
1 Seeed Studio XIAO BLE (nRF52840)
3 MLX90393SLW Sensor Breakout
3 3mm x 1mm (Diameter x Height) Neodymium Magnets
4 ALPS SKRAAWE010 Micro Switch
1 MSK-1153 6 Pins Power Switch
1 3x4x2mm Tact Switch Turtle Switch
1 601230 Lipo Battery (plus connector)
6 6mm x 12mm x 4.7mm Springs
10 M2 Threaded Heat Set Inserts 3mm x 3mm (Diameter x Height)
6 10mm M2 Sunk Head Screws
6 4mm M2 Sunk Head Screws
4 3mm M2 Sunk Head Screws
1 28/26 AWG silicone wire

Building Guide / Tips

  • NOT for beginner. Requiring experience of building at least one wireless keyboard on ZMK.
  • MUST have a funcation brain. Requiring to puzzling to assemble all parts together.
  • NEED very good eyesight, and soldering skill (and tools).
  • Build the core tower first.
  • Sensor breakouts order is counter clockwise started from 6 o'clock position
  • This peripheral doesn't required the weights. Use reusable self-adhesive sticky silicone gel pads from Amazon.
  • Tell AI agent read zmk,input-processor-trixer before you prompt it to adjust the rates for you. But, you still can find each config description in .yml file before messing up the default rates.

Firmware

The ZMK firmware config repository can be find at HERE.

The peripheral will present itself as a mixture of keyboard and joystick with ZMK module zmk-hid-joystick. The sensors are handled by ZMK module zmk-mlx90393-driver. 3D space convertion is handled in an embedded input-processor zmk,input-processor-trixer in firmware config repo.

Related Projects

  • TrackpuckTools-Fusion360 is a Fusion 360 add-in that connects HID-based 6DoF input peripheral devices as navigation input for Fusion 360, providing fluid control over camera orbit, pan, zoom, and rotation.

  • TrackpuckTools-Blender is a Blender add-in that connects HID-based 6DoF input peripheral devices as navigation input for Fusion 360, providing fluid control over camera orbit, pan, zoom, and rotation.

  • Magnetometers tracking simulator web app will show how this all thigs works.

  • A example web app. Used to test HID Joystick outputs via web gamepad api.

License

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. (CC BY-NC-SA 4.0)

more like this

TrailPrint-3D

GPX 轨迹转 3D 可打印地形模型 | Hiking trail to 3D printable terrain | Electron + Vue。 一款面向户外爱好者与 3D 打印玩家的 Web 工具。将 GPX 徒步/骑行轨迹一键转…

Python51

DroidKlipp

Install and monitor KlipperScreen on Android via DroidKlipp APK, USB ADB forwarding, and WiFi fallback

Shell51

search

search projects, people, and tags