Hackaday Links: May 19, 2019

Cheap nostalgia, that’s the name of the game. If you can somehow build and ship ‘cheap nostalgia’, you’re going to be raking in the bucks. For the ‘musicians’ in the crowd, the king of cheap nostalgia has something great. Behringer is cloning the Yamaha CS-80. and it was announced at this month’s Superbooth.

The Yamaha CS-80 is the synth in Blade Runner, and since Toto’s Africa is making a comeback on top-40 radio, it’s the instrument of our time. A Wonderful Christmas Time, it seems. Aaaannnyway, yes, there might be a huge and inexpensive version of one of the greatest synthesizers ever made real soon. The cheap 808s and 909s are making their way to stores soon, and the 101 needs a firmware update but you can buy it now. Cheap nostalgia. That’s how you do it.

The PiDP-11/70 is a project we’ve been neglecting for some time, which is an absolute shame. This is a miniature simulation of what is objectively the best-looking minicomputer of all time, the PDP-11/70. This version is smaller, though, and it runs on a Pi with the help of SimH. There are injection molded switches, everything is perfect, and now there are a whole bunch of instructional videos on how to get a PiDP-11/70 up and running. Check it out, you want this kit.

Considering you can put a phone screen in anything, and anyone can make a keyboard, it’s a wonder no one is making real, well-designed palmtop computers anymore. The Vaio P series of PCs would be great with WiFi, Bluetooth, and a slight upgrade in memory and storage. This was [NFM[‘s recent project. This palmtop gets an SSD. The object of modification is a decade-old Sony Vaio CPCP11 palmtop modified with a 256 GB SSD. The Vaio only supports PATA, and the SSD is mSATA, so this is really a project of many weird adapters that also have to be built on flex connectors.

Here’s something for the brain trust in the Hackaday comments. First, take a look at this picture. It’s the inside of a rotary encoder. On the top, you have a Gray code (or what have you) that tracks the absolute position of a shaft. On the bottom, you have some sort of optical detection device with 13 photodiodes (or something) that keeps track of each track in the Gray code. This is then translated to some output, hopefully an I2C bus. What is this device, circled in red? I know what it is — it’s an optical decoder, but that phrase is utterly ungooglable, unmouserable, and undigikeyable. If you were me, what would you use to build your own custom absolute rotary encoder and you only needed the sensor? I technically only need 10 tracks/sensors/resolution of 1024, but really I only need a name.

Lol, someone should apply to Y Combinator and pitch yourself as a B Corp.

A Classy USB Knob For The Discerning Computerist

The keyboard and mouse are great, we’re big fans. But for some tasks, such as seeking around in audio and video files, a rotary encoder is a more intuitive way to get the job done. [VincentMakes] liked the idea of having a knob he could turn to adjust his system volume or move forward and backwards through a stream in VLC, but he also wanted to be able to repeatedly enter keyboard commands with it; something commercial offerings apparently weren’t able to do.

So he decided to build his own USB knob that not only looks fantastic, but offers the features he couldn’t find anywhere else. It’s another project which proves that DIY projects don’t have to look DIY. In fact, they can often give their commercial counterparts a run for their money. But this “Infinity USB Knob” isn’t just a pretty face, it allows the user to do some very interesting things such as quickly undo and redo changes to see how they compare.

As you might imagine, the electronics for this project aren’t terribly complex. The main components are the Adafruit Trinket M0 microcontroller and the EC11 rotary encoder itself. To provide nice visual feedback he added in a NeoPixel ring, but that’s not strictly necessary if you’re trying to rig this up yourself. Though we have to say the lighting effects are a big part of what makes this build look so good.

Though certainly not the only part. The aluminum enclosure, combined with the home theater style knob on the encoder, really give the finished product a professional look. We especially like his method of drilling out the top of the case and filling in the holes with epoxy to create easy and durable LED diffusers. Something to keep in mind for your next control panel build, perhaps.

[VincentMakes] has done an excellent job of documenting the hardware and software sides of this build on Hackaday.io, and gives the reader enough information that replicating this project should be pretty straightforward for anyone who’s interested. While we’ve seen several rotary encoder peripherals for the computer in the past, we have to admit this is one of the most compelling yet from a visual and usability standpoint. If this build doesn’t make you consider adding a USB knob to your arsenal, nothing will.

Continue reading “A Classy USB Knob For The Discerning Computerist”

Spot This DIY Electronic Load’s Gracefully Hidden Hacks

Sometimes it’s necessary to make do with whatever parts one has on hand, but the results of squashing a square peg into a round hole are not always as elegant as [Juan Gg]’s programmable DC load with rotary encoder. [Juan] took a design for a programmable DC load and made it his own in quite a few different ways, including a slick 3D-printed enclosure and color faceplate.

The first thing to catch one’s eye might be that leftmost seven-segment digit. There is a simple reason it doesn’t match its neighbors: [Juan] had to use what he had available, and that meant a mismatched digit. Fortunately, 3D printing one’s own enclosure meant it could be gracefully worked into the design, instead of getting a Dremel or utility knife involved. The next is a bit less obvious: the display lacked a decimal point in the second digit position, so an LED tucked in underneath does the job. Finally, the knob on the right could reasonably be thought to be a rotary encoder, but it’s actually connected to a small DC motor. By biasing the motor with a small DC voltage applied to one lead and reading the resulting voltage from the other, the knob’s speed and direction can be detected, doing a serviceable job as rotary encoder substitute.

The project’s GitHub repository contains the Arduino code for [Juan]’s project, which has its roots in a design EEVblog detailed for an electronic load. For those of you who prefer your DIY rotary encoders to send discrete clicks and pulses instead of an analog voltage, a 3D printed wheel and two microswitches will do the job.

Motorizing An IKEA SKARSTA Table

We’ve been told that standing at a desk is good for you, but unless you’re some kind of highly advanced automaton you’re going to have to sit down eventually no matter what all those lifestyle magazines say. That’s where desks like the IKEA SKARSTA come in; they use a crank on the front to raise and lower the desk to whatever height your rapidly aging corporeal form is still capable of maintaining. All the health benefits of a standing desk, without that stinging sense of defeat when you later discover you hate it.

But who wants to turn a crank with their hand in 2019? Certainly not [iLLiac4], who’s spent the last few months working in conjunction with [Martin Mihálek] to add some very impressive features to IKEA’s adjustable table. Replacing the hand crank with a motorized system which can do the raising and lifting was only part of it, the project also includes a slick control panel with a digital display that shows the current table height and even allows the user to set and recall specific positions. The project is still in active development and has a few kinks to work out, but it looks exceptionally promising if you’re looking to get a very capable adjustable desk without breaking the bank.

The heart of the project is a 3D printable device which uses a low-RPM DC gear motor to turn the hex shaft where the crank would normally go. A rotary encoder is linked to the shaft of the motor by way of printed GT2 pulleys and a short length of belt, which gives the system positional information and avoids the complexity of adding limit switches to the table itself.

For controlling the motor the user is given the option between using relays or an H-Bridge PWM driver board, but in either event an Arduino Nano will be running the show. In addition to controlling the motor and reading the output of the rotary encoder, the Arduino also handles the front panel controls. This consists of a TM1637 four digit LED display originally intended for clocks, as well as six momentary contact tactile switches complete with 3D printed caps. The front panel’s simple user interface not only allows for setting and recalling three preset desk heights, but can even be used to perform the calibration routine without having to go in and hack the source code to change minimum and maximum positions.

We’ve seen all manner of hacks and modifications dealing with IKEA products, from a shelving unit converted into a vivarium to a table doing double duty as a cheap plate reverb. Whether you’re looking for meatballs or some hacking inspiration, IKEA seems to be the place to go.

Every Computer Deserves A Rotary Encoder

In the era of touch screens and capacitive buttons, we’d be lying if we said we didn’t have the occasional pang of nostalgia for the good old days when interfacing with devices had a bit more heft to it. The physical clunk and snap of switches never seems to get old, and while you can always pick up a mechanical keyboard for your computer if you want to hear that beautiful staccato sound while firing off your angry Tweets, there’s a definite dearth of mechanical interface devices otherwise.

[Jeremy Cook] decided to take matters into his own hands (literally and figuratively) by designing his own multipurpose USB rotary input device. It’s not a replacement for the mouse or keyboard, but a third pillar of the desktop which offers a unique way of controlling software. It’s naturally suited to controlling things like volume or any other variable which would benefit from some fine tuning, but as demonstrated in the video after the break even has some gaming applications. No doubt the good readers of Hackaday could think of even more potential applications for a gadget like this.

The device is built around the diminutive Arduino-compatible PICO board by MellBell, which features a ATmega32u4 and native USB. This allowed him to very rapidly spin up a USB Human Interface Device (HID) with minimal headaches, all he had to do was hang his buttons and rotary encoder on the PICO’s digital pins. To that end, he [Jeremy] used the fantastic I2C rotary encoder designed by [fattore.saimon], which readers may remember as a finalist in the Open Hardware Design Challenge phase of the 2018 Hackaday Prize. He also added a NeoPixel ring around the encoder to use for some visual feedback and because, well, it just looks cool.

Since all of the core components are digital, there’s not a whole lot required in the way of wiring or passive components. This let [Jeremy] put the whole thing together on a piece of perfboard, freeing him up to spend time designing the 3D printed enclosure complete with translucent lid so he can see the NeoPixel blinkenlights. He got the tolerances tight enough that the whole device can be neatly press-fit together, and even thought to add holes in the bottom of the case so he could push the perfboard back out if he needed to down the line.

[Jeremy] spends a good chunk of the video going over the software setup and development of the firmware, and details some of the nuances he had to wrap his head around when working with the I2C encoder. He also explains the math involved in getting his encoder to emulate a mouse cursor moving in a circle, which he thinks could be useful when emulating games that originally used an encoder such as Tempest or Pong.

We’ve seen similar USB “knobs” in the past for controlling volume, but the additional inputs that [Jeremy] built into his version definitely makes it a bit more practical. Of course we’re suckers for interesting USB input devices to begin with.

Continue reading “Every Computer Deserves A Rotary Encoder”

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”

GTA: San Andreas Radio Earns Six-Star Wanted Level

[Raphaël Yancey] wanted to be able to jam to Bounce FM and Radio:X all the time, without having to steal a car or a street sweeper in San Andreas. As people who like to put on the sad piano building music from The Sims and write Hackaday posts, we can totally relate.

But this isn’t just another one of those jam-a-Pi-into-a-vintage-radio-and-call-it-a-sandwich projects (not that there’s anything wrong with those). This thing acts like a real radio. All the stations play continuously whether you’re tuned in or not, and they bleed into each other as you go up and down the dial.

After much trial and error, [Raphaël] found a Python mixer that would work, but it was no longer maintained. He forked it, squashed a bug or two, and wrote a module for KY040 rotary encoders to make them play nice with the Pi. The snake charming doesn’t stop there: the rock star of this project is [Raphaël]’s virtual radio software, which handles the audio blending as he tunes between stations. A step-by-step tutorial is coming soon, so watch [Raphaël]’s site for updates. Tune past the break to give it a listen.

Adventures in Raspi radio-ing don’t have to be one-way. Here’s how you can turn one into an AM/FM+ transmitter using a DVB-T dongle and SDR.

Continue reading “GTA: San Andreas Radio Earns Six-Star Wanted Level”