FYI - if you make another iteration (or build it into your keyboard), strongly recommend moving the sensor away from directly below the ball. For reasonable ergonomics - you want the top of the ball as close to the desk surface as possible. The 5 ~ 10 mm you need to fit the sensor package makes a big difference. When prototyping the Expert Mouse, we found that offset angles as high as 20 degrees weren't really noticeable, and that allowed the ball to sit just barely clearing the bottom plastic case. (That and use the smaller 51 mm billiard ball instead of the American 2.25" ball)
Looks like they used an even smaller ball. I didn't know 38mm pool balls were a thing...
> To be able to call this a trackball, we also need some kind of ball or sphere of course. Many people go with the smallest regulation billard balls with a diameter of 38mm.
Interesting, I did not think about the possibility of moving the sensor to another position. But it makes sense. The Logitech Trackballs I've seen also have a slight offset that could be in the ballpark of 20 degrees.
I will have to do some further experimentation. Thanks!
Well done, shame about the ergo problems! Hopefully with some iteration, it could be more comfortable. My recommendation: don't be afraid to take up more desk space :) I'd try something which put the button caps in an upward-facing orientation instead of facing out.
When I built my mouse (https://jfloren.net/bellwether.html) I found that in the past there were these neat modules which packaged a sensor and a microcontroller on 1 chip, and you basically just had to wire it up to USB -- but those don't seem to exist any more! So I picked essentially the same Pixart sensor as you, used the same leaked datasheets, and built my own. I do wonder why the all-in-one devices disappeared, though.
Now, I'd love to see a picture of how a hand is supposed to sit above or around this trackball because I can't picture how fingers can comfortably reach the 4 buttons just by looking at their location on the device.
Which leads me to the personal opinion: I think I prefer the design of the testbed over the final iteration. Buttons are missing, I know, but... Here I stand nonetheless.
Optical quadrature encoder, much like how mechanical mice worked. Make the ring with a series of evenly spaced holes on the inside, then use a pair of optical sensors across that track of holes to detect when it's moving and in what direction.
Hah, I'd never looked inside one before but that's exactly how I'd imagined it would work.
The optics for a quadrature encoder are very forgiving -- it's much easier to implement than the camera-based sensor that's used for position, which requires a plastic lens.
> I don't understand how to get the stepped motion of the Kensington scroll rings and most mouse wheels. Maybe it has bumps to move past.
Most mouse wheels use a mechanical rotary encoder, and the detents are inherent to that part. Some of the fancier ones use custom mechanisms.
The Expert Mouse scroll ring originally was designed with a neodynium magnet and a steel slotted ring to provide the detents. The two I currently have don't have a scroll ring detent, so presumably the magnet was removed as a cost saving and/or reliability change. (for standard mouse scroll wheels, you buy the encoder with the detents already built in.)
I just took apart a spare one. The piece with the optical slots is metal and moves past a magnet - it's not neodymium in this one, and you can barely feel the scroll steps (but this trackball is very old and worn out, too). I can only see one optical scroll wheel sensor lens, so I'm not clear on how it detects scroll direction - maybe there are two offset detectors behind the same lens.
I thought about just using a standard mouse wheel sensor, but can't think of a good way to couple it to a big ring. Gears seem like they'd have an annoying amount of play, making it feel indirect.