Billiard Ball Finds a New Home in Custom Trackball Mouse

They walk among us, unseen by polite society. They seem ordinary enough on the outside but they hide a dark secret – sitting beside their keyboards are trackballs instead of mice. We know, it’s hard to believe, but that’s the wacky world we live in these days.

But we here at Hackaday don’t judge based on alternate input lifestyles, and we quite like this billiard ball trackball mouse. A trackball aficionado, [Adam Haile] spotted a billiard ball trackball in a movie and couldn’t resist the urge to make one of his own, but better. He was hoping for a drop-in solution using an off-the-shelf trackball, but alas, finding one with the needed features that fit a standard American 2-1/4″ (57.3 mm) billiard ball. Besides, he’s in the thumb control camp, and most trackballs that even come close to fitting a billiard ball are designed to be fiddled with the fingers.

So he started from the ground up – almost. A 1980s arcade-style trackball – think Centipede or Missile Command – made reinventing the trackball mechanism unnecessary, and was already billiard ball compatible. [Adam] 3D-printed a case that perfectly fit his hand, with the ball right under his thumb and arcade buttons poised directly below his fingers. A palm swell rises up to position the hand naturally and give it support. The case, which contains a Teensy to translate the encoder signals into USB commands, is a bit on the large side, but that’s to be expected for a trackball.

Still curious about how the other half lives? We’ve got plenty of trackball hacks for you, from the military to the game controller embedded to the strangely organic looking.

Crisp Clean Shortcuts

People always tell us that their favorite part about using a computer is mashing out the exact same key sequences over and over, day in, day out. Then, there are people like [Benni] who would rather make a microcontroller do the repetitive work at the touch of a stylish USB peripheral. Those people who enjoy the extra typing also seem to love adding new proprietary software to their computer all the time, but they are out of luck again because this dial acts as a keyboard and mouse so they can’t even install that bloated software when they work at a friend’s computer. Sorry folks, some of you are out of luck.

Rotary encoders as computer inputs are not new and commercial versions have been around for years, but they are niche enough to be awfully expensive to an end-user. The short BOM and immense versatility will make some people reconsider adding one to their own workstations. In the video below, screen images are rotated to get the right angle before drawing a line just like someone would do with a piece of paper. Another demonstration reminds of us XKCD by cycling through the undo and redo functions which gives you a reversible timeline of your work.

If you like your off-hand macro enabler to have more twists and buttons, we have you covered, or maybe you only want them some of the time.

Continue reading “Crisp Clean Shortcuts”

Manual 3D Digitizer Works a Bit Like 3-Dimensional Measuring Tape

Digitizing an object usually means firing up a CAD program and keeping the calipers handy, or using a 3D scanner to create a point cloud representing an object’s surfaces. [Dzl] took an entirely different approach with his DIY manual 3D digitizer, a laser-cut and 3D printed assembly that uses rotary encoders to create a turntable with an articulated “probe arm” attached.

Each joint of the arm is also an encoder, and by reading the encoder values and applying a bit of trigonometry, the relative position of the arm’s tip can be known at all times. Manually moving the tip of the arm from point to point on an object therefore creates measurements of that object. [Dzl] successfully created a prototype to test the idea, and the project files are available on GitHub.

We remember the earlier version of this project and it’s great to see how it’s been updated with improvements like the addition of a turntable with an encoder. DIY 3D digitizing takes all kinds of approaches, and one example was this unit that used four Raspberry Pi Zeros and four cameras to generate high quality 3D scans.

An In-Depth Look at Dexter, the Robotic Arm

Dexter, a really great robot arm project, just won top honors in the 2018 Hackaday Prize, and walked away with $50,000 toward continuing their project. As a hat tip to Hackaday and the community, Haddington Dynamics, the company behind Dexter, agreed to open-source their newest version of Dexter as well. As James Newton said when accepting the trophy during the award ceremony, “because of your faith in us, because of this award, we have been moved to open-source the next generation of Dexter.” Some very clever work went into producing Dexter, and we can’t wait to see what further refinements have been made!

Dexter isn’t the only robotic arm in town, by any means. But in terms of hobbyist-level robotics, it’s by far the most complete robot arm that we’ve seen, and it includes a couple of design features that make both its positional accuracy and overall usability stand out above the rest. This is a robot arm with many of the bells and whistles of a hundred-thousand dollar robot, but on a couple-thousand dollar budget. Continue reading “An In-Depth Look at Dexter, the Robotic Arm”

Using Motors As Encoders

If you have a brushless motor, you have some magnets, a bunch of coils arranged in a circle, and theoretically, all the parts you need to build a rotary encoder. A lot of people have used brushless or stepper motors as rotary encoders, but they all seem to do it by using the motor as a generator and looking at the phases and voltages. For their Hackaday Prize project, [besenyeim] is doing it differently: they’re using motors as coupled inductors, and it looks like this is a viable way to turn a motor into an encoder.

The experimental setup for this project is a Blue Pill microcontroller based on the STM32F103. This, combined with a set of half-bridges used to drive the motor, are really the only thing needed to both spin the motor and detect where the motor is. The circuit works by using six digital outputs to drive the high and low sided of the half-bridges, and three analog inputs used as feedback. The resulting waveform graph looks like three weird stairsteps that are out of phase with each other, and with the right processing, that’s enough to detect the position of the motor.

Right now, the project is aiming to send a command over serial to a microcontroller and have the motor spin to a specific position. No, it’s not a completely closed-loop control scheme for turning a motor, but it’s actually not that bad. Future work is going to turn these motors into haptic feedback controllers, although we’re sure there are a few Raspberry Pi robots out there that would love odometry in the motor. You can check out a video of this setup in action below.

Continue reading “Using Motors As Encoders”

OpenSCAD handles the Math in 3D Printed Holder for Magnetic Spheres

3D printed holder mounted to bike wheel, fitting precisely 38 magnetic spheres around its perimeter. Tedious math? Not if you make OpenSCAD do it.

Off-the-shelf components are great; the world and our work simply wouldn’t be the same without. But one of the constraints is that one has to design around them, and that’s what led [Antonio Ospite] to create a parametric design in OpenSCAD for a 3D printed holder which snugly fits a number of magnetic spheres around its diameter.

If that sounds a bit esoteric, it will become much clearer in the context of [Antonio]’s earlier work in making a DIY rotary encoder out of a ring of magnetic spheres. He found that such a ring in front of two Hall effect sensors was low in cost, high in precision, and thanks to 3D printing it also had a lot of potential for customizing. But hampering easy design changes was the need for the spheres to fit snugly around whatever shape was chosen for the hardware, which meant constraints on the encoder diameter.

In this case, [Antonio] wished to create an encoder that could be attached to a bicycle wheel but needed to know what outer diameter would best fit a ring of magnetic balls perfectly, given that the balls were each 5 mm. OpenSCAD did the trick, yielding a design that fit the bike wheel and spokes while perfectly nestling 38 magnetic balls around the outside edge with a minimum of wasted space.

OpenSCAD is a CAD program that’s really more like a programming language than anything else. For those who are not familiar with it, [Brian Benchoff] walked through how to make a simple object in OpenSCAD, and [Elliot] has sung the praises of a few advanced functions. Now that this project makes DIY encoders easier, perhaps they could be used to add intuitive new controls to OpenSCAD itself.

Magnetic Spheres Line Up for Rotary Encoder Duty

When it comes to rotary encoders, there are plenty of options. Most of them involve putting a credit card number into an online vendor’s website, though, and that’s sometimes just not in the cards. In that case building your own, like this encoder using magnetic spheres, is a pretty cool way to go too.

If he’d had less time to spare, we imagine [Antonio Ospite] would have gone for a commercial solution rather than building an encoder from scratch. Then again, he says his application had noise considerations, so maybe this was the best solution overall. He had some latching Hall effect sensors lying around, but lacked the ring magnet that is usually used with such sensors in magnetic encoders. But luckily, he had a mess of magnetic spheres, each 5 mm in diameter. Lined up in a circle around a knob made from a CD spindle, the spheres oriented themselves with alternating poles, which is just what the Hall sensors want to see. The sensors were arranged so the pulses are 90° apart, and can resolve 4.29° steps. Check out the video below to watch it work.

Small, cheap and effective are always good things. But magnets aren’t the only thing behind homebrew rotary encoders. A couple of microswitches might do in a pinch, or maybe even scrapped hard drives would suffice.

Continue reading “Magnetic Spheres Line Up for Rotary Encoder Duty”