• Stars
    star
    156
  • Rank 238,705 (Top 5 %)
  • Language
    C++
  • Created over 3 years ago
  • Updated almost 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The ball is the trackball

The ball is the trackball

This is Arduino code and 3D-printable models for a Bluetooth trackball in which all the electronics are inside the ball.

Demo video.

Blog post.

It runs on Adafruit's Feather nRF52840 Sense and uses the accelerometer, gyroscope and magnetometer data with a sensor fusion algorithm to get the ball's orientation. When you rotate the ball, it moves the mouse cursor accordingly.

TODO:

  • whitelist advertising to only allow connections from bonded devices unless the user requests pairing mode
  • go to sleep after a period of inactivity and wake when moved
  • OTA firmware updates

More Repositories

1

hid-remapper

USB input remapping dongle
JavaScript
1,035
star
2

flatbox

Low profile hitbox-layout fightstick
C
667
star
3

rp2040-pmw3360

RP2040+PMW3360 PCB and code
C
276
star
4

two-ball-trackball

DIY trackball with two balls
C++
231
star
5

scroll-ring-trackball

DIY trackball with scroll ring
C++
184
star
6

screen-hopper

Smart KVM switch
C
136
star
7

twist-to-scroll-trackball

DIY trackball with twist-to-scroll
C++
107
star
8

pmw3360-breakout

Breakout board for PMW3360 optical mouse sensor
94
star
9

gamepad

Arduino PC/PS3 compatible gamepad
C++
67
star
10

magellan-spacemouse

Adapter to use RS-232 Magellan/SpaceMouse with modern software
C
37
star
11

nxt-remote-control

Control Lego Mindstorms NXT robots from Android devices via Bluetooth
Java
32
star
12

mouse-multiplexer

Two mice, two cursors
C++
28
star
13

quake3-proxy-aimbot

Quake 3 Proxy Aimbot
Python
27
star
14

hat-mouse

Bluetooth input device using an orientation sensor
C++
23
star
15

paaas

PlayStation controller authentication as a service
C
22
star
16

mouse-switch-mount-pcb

Helper PCB for mounting mouse button switches
21
star
17

radial-controller

DIY Surface Dial
C
21
star
18

zero-latency-gamepad

Zero latency gamepad POC
C
15
star
19

notificationface

Wear OS watch face displaying notification icons
Kotlin
14
star
20

wheel-adapter

PS5 adapter for old Logitech wheels
C
10
star
21

spaceball-2003

Adapter to use Spaceball 2003 with modern software
C
10
star
22

ikea-tradfri-google-assistant

Google Assistant support for IKEA TRÅDFRI lights
Python
8
star
23

meet-mute-button

Mute button/status indicator for Google Meet
C++
8
star
24

usb-rubber-ducky-mouse

USB "rubber ducky" with mouse input
C
6
star
25

gt7-rpm-lights

DIY RPM lights for Gran Turismo 7
C
5
star
26

trackbowl

Bluetooth trackball with all the electronics inside the ball
C++
5
star
27

slimbox-bt

Wireless game controller firmware
C
4
star
28

latency-tester

C++
3
star
29

darkroom-tray-timer

Darkroom tray timer
C++
2
star
30

ms-paint-chart

Plotting sensor data with MS Paint and Bluetooth HID
C++
2
star
31

blinkenlights

Add blinking lights to your Linux box with a Raspberry Pi Pico
C++
2
star
32

pico-nunchuk

USB adapter for a Wii Nunchuk
C
2
star
33

darkroom-enlarger-timer

Darkroom enlarger timer
Dart
2
star
34

hippopaint

JavaScript
1
star
35

pico-morse

Morse code USB keyboard
C
1
star
36

human-trackball

Use a gym ball as a Bluetooth mouse!
C++
1
star
37

force_webconfig

CMake
1
star
38

timecube

Time tracking wifi cube
Python
1
star