[Ryan Schenk] had a problem: he built the perfect surfboard. Normally that wouldn’t present a problem, but in this case, it did because [Ryan] had no idea how he carved the gentle curves on the bottom of the board. So he built this homebrew 2D-scanner to make the job of replicating his hand-carved board a bit easier.
Dubbed the Scanbot 69420 – interpretation of the number is left as an exercise for the reader, my dude – the scanner is pretty simple. It’s just an old mouse carrying a digital dial indicator from Harbor Freight. The mouse was gutted, with even the original ball replaced by an RC plane wheel. The optical encoder and buttons were hooked to an Arduino, as was the serial output of the dial indicator. The Arduino consolidates the data from both sensors and sends a stream of X- and Z-axis coordinates up the USB cable as the rig slides across the board on a straightedge. On the PC side, a Node.js program turns the raw data into a vector drawing that represents the profile of the board at that point. Curves are captured at various points along the length of the board, resulting in a series of curves that can be used to replicate the board.
Yes, this could have been done with a straightedge, a ruler, and a pencil and paper – or perhaps with a hacked set of calipers – but that wouldn’t be nearly as much fun. And we can certainly see applications for this far beyond the surfboard shop.
While the “M” in MIDI stands for “musical”, it’s possible to use this standard for other things as well. [s-ol] has been working on a VJ setup (mixing video instead of music) using various potentiometer-based hardware and MIDI to interface everything together. After becoming frustrated with drift in the potentiometers, he set out to outfit the entire rig with custom-built encoders.
[s-ol] designed the rotary-encoder based boards around an FPGA. It monitors the encoder for changes, controls eight RGB LEDs per knob, and even does capacitive touch sensing on the aluminum knob itself. The FPGA communicates via SPI with an Arduino master controller which communicates to a PC using a serial interface. This is [s-ol]’s first time diving into an FPGA project and it looks like he hit it out of the park!.
Even if you’re not mixing video or music, these encoders might be useful to any project where a standard analog potentiometer isn’t accurate or precise enough, or if you just need something that can dial into a specific value quickly. Potentiometers fall short in many different ways, but if you don’t want to replace them you might modify potentiometers to suit your purposes.
Continue reading “Upgrading A MIDI Controller With An FPGA”
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.
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”
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.
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”
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”