Hacker News new | past | comments | ask | show | jobs | submit login
Bluetooth Trackball Mark II (jfedor.org)
409 points by mbreese on Feb 3, 2021 | hide | past | favorite | 95 comments




> I can only imagine your google searches during the gestation period of this project

I just finally branched out from software into hobby hardware and I'm eating up these tinkerer subreddits alive. Thanks for a new one.

I impulse-bought an Arduino Uno (well, the much cheaper Elegoo Uno) starter kit and e-ink display and have been working on my own personal-needs Kindle replacement. Wish I did this as a kid or in uni. Oh well, never too late. Having lots of fun.

The only regret is encumbering my minimalist nomad lifestyle with a multimeter, soldering iron kit, and more when my life had, just a month ago, fit into two duffel bags! A 3D printer is off the table at the moment.


You can get USB multimeters and oscilloscopes and the TS 80 soldering iron is nice and compact.

Also - consider local maker/hackerspaces if they're available (and, well, probably in a few months time in any event).


Have you checked out this project [1]? I found this one yesterday too. It’s a project working on an ebook built from various microcontrollers.

[1] https://github.com/joeycastillo/The-Open-Book


I don't know what part of the world you are from but my local library has a 3D printer you can use for free. All you need is a library card in good standing and to take a 1 hour orientation. After that you just need to reserve the printer for the day (no overnight printing).


I'm actually familiar with his work and that's how I decided to make the ball by just sanding 3D printed plastic (though I did it by hand).


I wish I could claim credit. I found this online and thought that I’d love to try and make one of these myself.


Great work! It makes me wonder if a few things could be possible:

1. Make the surface of the ball a multitouch trackpad surface so you could pinch zoom in and out and two finger scroll up and down, all on the ball itself. Make it only work when the ball is not pressed on hard enough to move.

2. Make the ball slightly squeezable, which registers as a click. That way you could roll it around on your desk or on the base. This honestly would also be a great kids computer toy so they don't have to get their hands near the device itself.

3. Add electromagnets inside on all sides and place the ball on a magnetic trackpad or base. When squeezed it would turn on the downward-facing electromagnet in the ball to make it harder to move, so you could engage in finer detail work.

Probably a materials challenge to do any of these but it would be really cool to see these new input frontiers explored.


I don’t think it’s so much a materials challenge as a manufacturing one. Putting a multitouch digitizer uniformly over the surface of a sphere is AFAIK a unique challenge.

I’m not sure how you could make the ball slightly squeezable yet hard and acceptably round to make for a nice trackball experience. As the OP points out, it’s easy to notice when things aren’t perfectly round. I think the best thing to do would be to just use the touch sensors, but I’m not super deep in the sensors world, maybe their is some sort of internal stress sensor that you could use to see if it is getting squeezed.

I think you’d have to switch the fixed magnet into the trackball, as I can’t see electromagnets of sufficient strength working on power beamed inside a ball. You need a “magic” algorithm and some fancy electormagnets in the base to try and attempt to create an “increased resistance” mode as you descri e. Alone this is a very interesting, and I suspect difficult problem that may have some prior art. I’m not an EE, but I feel like this is something that one might be able to do some back of the envelope calculations on to see if the adequate force is realistic given space and power constraints. One thought I had is that you might be able to use the resistance between emf fields and conductors, but without some sort of exotic metamaterial I don’t think you could get adequate resistance.

Anyway, I can only think of one company that could take this on, Apple. And if Apple got on it, one thing that would be neat is if the ball had xyz linear actuators so that it would click.


One of the coolest bits of manufacturing tech I've seen is laser-printed circuit traces on plastic. There are a couple different ways to do it, but in any case you can print gold traces onto 3D objects, even concave ones. It gets used to print antennas onto plastic for phones and whatnot. The tech is a little bit exotic but it's purchasable by even a small R&D group, don't have to be Apple to get it.


Do you have any recommendations for the metal trace printers? Or what keywords should I search for?


Rather complicated to do for the home lab, although I did come across someone's somewhat successful attempts to do so. The tech appears to be called Laser Direct Structuring.


Squeeze to click is such a cool idea for this. If it became a real product I could see myself buying one.


Logitech MX Master does something like that for its scroll wheel to go into click or freewheel mode: https://blog.bolt.io/logitech-mx-master-3-vs-2s/


I like the interaction ideas, and I think both 1 and 2 could work the way you describe, but 3 would probably be better solved inside the base. The bearing balls could be spring-loaded so when you press down, you engage with some other surface that acts like a brake?

Not super sure if that's what users would want, tough, it would probably make "throwing" the cursor harder.


The Logitech mx ergo has this with a little switch and it’s super useful.


Built by a man who obviously doesn't own a dog. "Anybody seen my mouse that looks like a ball?"


I imagine a man in a tug of war with his dog and behind him all the windows keep getting dragged off the screen.


In my experience my cat would therefore see this as an opportunity to steal my chair so the animals win regardless


My cat would be batting the ball around the room. They are dead now, but previous cat/dog combos would have played with the ball together.


Isn't the ball terribly unbalanced? Trackball users often "throw" the cursor, where the ball rotates freely at speed, and it would induce an awkward wobble with an unbalanced ball.


I'm an avid trackball user, and this is one of the key attractions. I can flick the cursor from one side of my dual 1440p monitor set to the other, very quickly. It also works quite well with triple monitor setups.


That is very nice. I wonder how could one integrate left mouse click in there and also if it would be a fun unconventional gaming controller for a tailor made game. It would have to be balanced, as one of the commenters wondered here. A graph coming from playing with it like a ball would be interesting to see.

I gather people reading this thread could have some knowledge regarding Linux/X11 input devices handling. I bought a TLK keyboard with a trackball built in and I would like to use it as a scrolling ball. But I would like for it to send events like from two finger scroll on a touchpad, that applications aware of it would scroll smoothly like on a Macbook or a Chromebook. I assume it has to do with libinput. How could I approach this? Bonus points if I could use scroll-lock key and indicator for the scrolling mode.

EDIT: I bought this one: https://perixx.com/furniture_store_view/catalog/product/view... One issue I have with it: I don't know where is the numlock key, probably something with Fn keycombo, but they did not print much on key caps.

EDIT2: I found out, that what I want is smooth and precise scrolling - https://pavelfatin.com/scrolling-with-pleasure/


What you are asking for seems to be described here:

https://wiki.archlinux.org/index.php/Libinput#Scroll_with_mo...

https://wiki.archlinux.org/index.php/Logitech_Marble_Mouse

Alternatively, buy an input device that runs QMK; then you will be able to configure this at the input device's end (independently of the host device). For example, the Ploopy open source trackball and mouse run QMK, see this for configuring the trackball for scrolling: https://www.reddit.com/r/ploopy/comments/kw80a3/use_ball_as_...


Thank you kindly! After I issued

  xinput set-prop "HID 04d9:a088 Mouse" "libinput Button Scrolling Button" 3
it works, because this trackball does not have the default button 2. All with precise and smooth scrolling where it's supported. I'll enable smooth scrolling on Firefox to make use of it. Now I'll only figure out if there is a setting to keep it enabled by default - to inverse the scroll button behavior.

EDIT: Issuing

   xinput set-prop "HID 04d9:a088 Mouse" "libinput Button Scrolling Button Lock Enabled" 1
Changes the scroll button behavior to a toggle. So it is exactly as I wanted. Perfect! Thanks again!


> Now I'll only figure out if there is a setting to keep it enabled by default - to inverse the scroll button behavior.

If you're using xinit (or startx) to fire up you Xorg, you can run the xinput commands in your xinitrc: https://wiki.archlinux.org/index.php/Xinit

A decent window manager or desktop environment setup (if it isn't intended for running with xinit) will offer some other way of automating this.

But there's also the option of doing this configuration on the Xorg server side in some xorg.conf, like in the links I gave previously.


I wish laptops had a trackball or scroll wheel instead.

I've always disliked the trackpad. And to do any serious work, I have to pull out a regular mouse.


This is really cool.

It could easily be taken to the next level of miniaturization by building a custom PCB to integrate all of the components. I bet a 1.5” diameter would be achievable!

Edit: Simple PCB fabric services are very cheap these days.


I'm just curious about language, where does the "Mark II" terminology come from? It sounds military or weapons related, but that could be wrong.


Seems like it came from the idea of adding a simple "mark" for each revision!

https://en.m.wikipedia.org/wiki/Mark_(designation)


Oh, thanks for finding that. Seems my hunch about weapons was right, for some (to me unknown) reason.


I'm sure there's a perfectly valid historical explanation, but I'm just referencing the suit naming scheme from Iron Man.



Super cool. Could it use a 3d compass to determine the "forward" direction?


You can see your local magnetic field using NOAA's handy online tool: https://www.ngdc.noaa.gov/geomag/calculators/magcalc.shtml?u...

I didn't realize this earlier but my local magnetic field is actually mostly vertical! North: 19,625.7 nT West: -2,932.5 nT Vertical: 48,731.3 nT


It does use a 3D compass (magnetometer), but it still needs to be told which direction is "up" as that depends on your orientation with regard to the screen.


For a moment I was hoping there was a replacement for the wonderful (and ancient) Microsoft Trackball Explorer.

If you are right-handed then it is ergonomically shaped to fit your hand. Use your fingers to move the (large) ball and your thumb to press the buttons. Comfortable and natural to use.

The fact that refurbished models sell for very high prices shows just how good they are.


Personally I'm a (platonic) fan of the Microsoft EasyBall.


Excellent work, I'm very impressed.

Having said that, I've experienced RSI in the past with several pointing devices (mice are the worst for me), and trackballs. I actually find the touchpad on Mac laptops to be nearly the least aggravating option (the best being my old Fingerworks iGesture Pad).

Do many people suffer from the Apple trackpad or find it unusable?


I started having wrist pain recently. After trying a few tilted mouse options, I realized a better solution is to use a Mac standalone touch pad, and mount it on a tilt. That's the best solution I've found so far.


An I the only one seeing nothing for "here it is in action"?


Same. Here it is (fetched from source): https://www.youtube.com/embed/QbE3H4vglHw


Ahh, it was broken on mobile. Should be working now.


Seems to work just like the Sphero: https://sphero.com/collections/all/family_sphero

Could not find the Pc/Mac part of the program from the article.

Should be easy to make Sphero do the same.


From last time I hacked something up with a Sphero [1] I remember having to lock the motors to read the raw gyro/acc data, this would make the ball itself quite unbalanced but it's an interesting idea nonetheless.

[1]: https://github.com/nmaggioni/flysphero


Totally unrelated question: according to Sphero website they charge you specifically for 1y/2y/3y warranties. I think in the EU at least this is not legal, 1y warranty from the producer is mandatory, and in some cases it must be 2. Obviously, covered by the price of the good.


There is no PC part. It is a standard Bluetooth mouse and works with any computer, tablet or phone with no additional software, as long as it supports the standard protocol.


This might be used as a replacement for a SpaceMouse[1] and control Blender3D as in this video[2].

1: https://3dconnexion.com/ua/product/spacemouse-wireless/

2: https://youtu.be/wGx4T8OH10Y?t=44


SpaceMouse has a Z-axis (lifting the knob up), which is really useful to zoom in and out of a 3d model. That can't be captured with just IMUs.


What if you count rotation around the vertical axis? I have a kensington trackball where that is how you scroll.


Then you can no longer rotate, unless you make it rotate when you push some additional button. The 3DConnexion devices have 6 degrees of freedom without pushing any additional buttons. That being said I have a SpaceNavigator and I don’t use it, it’s just sitting in a drawer and I use my regular mouse and keyboard even in Blender.


Makes me wonder if it would make sense to have rotary encoders for precision work -- something that would work like in an Etch A Sketch. The pointer could be positionned with great accuracy and wouldn't move by accident.

It may not be too hard to make a prototype with an Arduino. Or maybe somebody already tried it?


This is awesome! With all the interest in gaming/home offices/high end peripherals one thing I was thinking of making a device similar to my 3d connexion to help with simple navigation and scrolling.

My 3d connexion puck is great for CAD work, but it doesn't have the range to easily scroll through documents or code accurately. Hopefully I'll have something to share soon!


That’s really well-done. Kudos!

I was never a fan of trackballs (except for a couple of video games that gave me bruised palms), but this would be fun.

But we’d have to see how it works out, over time.

I have an old “gyro mouse,”[0] in my “junk drawer.” It was something I could never really get to like, even though it is cool.

[0] https://www.gyration.com/


It is a very intriguing idea, but without integrated mouse buttons and a dedicated scroll wheel, it has to be used in conjunction with a custom keyboard.

I love my CST (now X-Keys) L-Trac trackball and I don't think the OP trackball can replace it. That said, it might be interesting to use one as a secondary input device. Hmm...


Trackball for 20 years now exclusively. I like it. Can imagine it is a little unstable. It's rather high. I like the idea to have the keys separate from the trackball. Drag and drop for example can put some strain on my wrist.


That's really brilliant, I'm a big trackball fan since the 90s.


This project and concept is really awesome.

However for me - I’ve never found one that has everything I want, and I haven’t taken the time to try to make it yet. However I really want the Logitech marble mouse with a scroll wheel. If I could have that combination I’d be pretty elated.


There's a Kensington trackball where you spin a ring for scrollwheel: https://images-na.ssl-images-amazon.com/images/I/81T0oXLJoBL...


Kensington expert mouse has that. I use it, it's the best I found but its still far from great. The way the ring spins feels as you were moving plastic over plastic without any bearings - which is actually what's happening.

Btw I think your picture is a Slimblade model in which you have to rotate the ball.

Logitech Ergo MX is fine, it's built much better but Kensigton design is superior. It's not possible to be that accurate with a thumb and you also move slower because of a smaller ball. With KEM you can be fast and accurate. And scroll design is great, just badly implemented.


Exactly, Expert Mouse = ring, Slimblade = the ball itself.

In Slimblade you can scroll from your neutral hand position, that's what sells it to me.

I've owned a Slimblade for 10 years, have tried all sorts of trackballs, and I can't imagine anything better for daily use.

I got the KEM for work, but requiring hand adjustment to scroll feels like a definite step back, so I sent it back and ordered a second Slimblade instead.


I like Elecom HUGE and I've bound the rightmost button (so the fifth) so that when holding it the trackball works as vertical and horizontal scroll wheel. Works great for scrolling large areas, though there's still the regular scroll wheel with side-ways switches for perhaps more precise maneuvers.


Do you only use index finger to operate it? Or can it be operated with 2-3 fingers given its shape? I mean the ball.


You can use 2-3 fingers. I'm not parent poster but for me the elecom deft pro was better than the huge; huge was just too big. It can also be operated with 2-3 fingers.


Maybe 3 fingers more often than 2.


I had that one for a bit, it felt really low quality and not very comfortable (at least for my hand shape).


I use a logitech trackman marble, and configure one of the buttons to be a scroll modifier; when it's held down, ball movement acts as a scroll wheel. Might not be exactly what you need (can't use normal mouse movement and scroll at same time), but works for me


That's the same one I use, it really is the most comfortable one I have found after trying a good number of them.

I remember not being able to use the scroll modifier as a back button as well (something else I struggle to live without) but looking more into it - it looks like that's either an incorrect memory or no longer true!


I've been tempted to try one of the Kensington offerings (one of my Logitechs has a dying button and I'll need to replace it soon) - have you tried the expert mouse or the slim blade? How do they compare to the Logitech?


I do the same. Here are the docs I used to configure it: https://wiki.archlinux.org/index.php/Logitech_Marble_Mouse#S...


I've been using this mouse for over 10 years! I do the something similar for scrolling except I use the app MarbleScroll which makes scrolling a lot easier on Windows at least. I wish this mouse had a dedicated scroll wheel.


I felt same after using one for 20 years, finally found Elecom Deft Pro which feels quite good: https://www.amazon.com/Trackball-M-DPT1MRXBK-Bluetooth-High-...


This one looks really promising, thank you for sharing it!


FYI there's a wireless version as well


Have you tried the trackballs formerly known as "Clearly Superior" now "Xtrac" apparently[1]. I like the physical scroll wheel and dedicated middle mouse button, the internals are mechanical not optical (I have had problems with kensingtons in this regard), and there are some fairly alluring foot peddle expansion ports on the back that I've not played with yet.

if you do go down this route, I would suggest avoiding a model with an LED in it. while it looks cool for sure the LED is positioned so that shines right in your eyes if you put the device front and center (like in between a split keyboard).

[1]: https://xkeys.com/xkeys/trackballs.html


Have you tried the Logitech MX Ergo? It’s got a scroll wheel and lots of buttons. It can also pair with two devices which is really handy for switching between work and home machines.


The Logitech Marble is not thumb-controlled, which is probably what OP is looking for.

I use the Logitech, and it is amazing. The only downside is that I haven't figured out how to separate "ball scrolling" from the scroll wheel under Linux. Ball scrolling and wheel scrolling are interpreted as the same key input, meaning if you set wheel sideways to anything else than "scroll sideways" if you want to use a "button+ball" scroll as well.


If you are mostly at a desk, I can't recommend the rollermouse enough. Love this thing.


Second that. When I started exploring, I felt most ergonomic stuff had some drawbacks. A thumb mouse / trackball mouse is really imprecise even after long time use, compared to a standard mouse. A vertical mouse is still just a mouse, which takes time (and elbow pain) to move the hand to and from the keyboard.

A rollermouse, though. Don't have to move my wrists at all. It's fairly precise after just a day of getting used to it. It got a scroll-wheel, 5 buttons for right-click or whatever. I'm a huge fan.


Rollermouse is great in all aspects but clicking - its very pronounced. After a while I started to have unpleasant feeling in my joints up to elbows on every click. Maybe it's because I have an old model. Regardless it's the only thing I can use to work right now I recommend people with RSI to try it.


Agreed that clicking via the bar takes getting used to. Actually, agreed that clicking at all takes getting used to.

The ridiculous stability of where the device is, is amazing. I could wish it had a method to self center.


Whoa! What a great idea, makes total sense once you see it.

Maybe there's a possibility to build squeeze-to-click? Finger squeeze for click, press down with your palm for right click?


And fondle gently for middle click.


Apple iBalls, with contextual rubbing!


Why would you need more than one mouse button? /s


Very interesting, but where do you put buttons?


On a specific layer of your keyboard. For example, using QMK with compatible keyboards, you can have you're right/left mouse click on a specific layer. You can imagine this kind of trackball integrated with a split keyboard.


This is really cool..

Is there any intention for this to be used for physically impaired? I would see that as a 'useful' application


how do you set an initial orientation of the cursor? how does it know, where's "up" cursor direction?


It doesn't know so the initial orientation is arbitrary. You have to set the "up" direction by touching the ball with a magnet in the right spot (there's a reed switch inside) and rotating it around the Z (vertical) axis until the directions are correct.


Great execution, and the author's blog has a bunch of other very interesting HID-related posts.


Very inspiring work. Thanks for sharing.


imagine playing counter strike with that


Maybe someone can hack it to a uncatchable dog toy.


I do wonder how long I could interest my cat with a small solid sphere that will periodically roll. And play dead while in the cat's death embrace.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: