Scrap a Hard Drive, Build a Rotary Encoder

There’s something to be said for the feel of controls. Whether it’s the satisfying snap of a high-quality switch or the buttery touch of the pots on an expensive amplifier, the tactile experience of the controls you interact with says a lot about a device.

[GreatScott!] knows this, and rather than put up with the bump and grind of a cheap rotary encoder, he decided to find an alternative. He ended up exploring hard drive motors as encoders, and while the results aren’t exactly high resolution, he may be onto something. Starting with a teardown of some old HDDs — save those magnets! — [Scott!] found that the motors fell into either the four-lead or three-lead categories. Knowing that HDD motors are brushless DC motors, he reasoned that the four-lead motors had their three windings in Wye configuration with the neutral point brought out to an external connection. A little oscilloscope work showed the expected three-phase output when the motor hub was turned, with the leading and lagging phases changing as the direction of rotation was switched. Hooked to an Arduino, the motor made a workable encoder, later improved by sending each phase through a comparator and using digital inputs rather than using the Nano’s ADCs.

It looks like [GreatScott!]’s current setup only responds to a full rotation of the makeshift encoder, but we’d bet resolution could be improved. Perhaps this previous post on turning BLDC motors into encoders will help.

Continue reading “Scrap a Hard Drive, Build a Rotary Encoder”

Pedal-Pi, simple programmable guitar pedal

For several years, [Ray] and [Anna], the team behind ElectroSmash, have been smashing audio electronics and churning out some sweet DIY audio gear. This time around, they’ve built Pedal-Pi — a simple programmable guitar pedal based around the Raspberry-Pi Zero. It is aimed at hackers, programmers and musicians who want to experiment with sounds and learn about digital audio. A lot of effort has gone in to documenting the whole project. Circuit analysis, a detailed BoM, programming, assembly and background information on related topics are all covered on their Forum.

The hardware is split in to three parts. On the input, a MCP6002 rail-to-rail op-amp amplifies and filters the analog waveform and then a MCP3202 ADC digitizes it to a 12-bit signal. The Pi-Zero then does all of the DSP, creating effects such as distortion, fuzz, delay, echo and tremolo among others. The Pi-Zero generates a dual PWM signal, which is combined and filtered before being presented at the output. The design is all through hole and the handy assembly guide can be useful for novices during assembly.  The code examples include a large number of pedal effects, and if you are familiar with C, then there’s enough information available to help you write your own effects.

Even if you don’t plan on building one, technical background such as the Basics of Audio DSP in C for Raspberry Pi Zero, Using MCP3202 ADC with Raspberry Pi Zero and PWM Audio on Raspberry Pi Zero ought to make for interesting reading. Check out the video after the break detailing the build.

If you’d like to check out some of their earlier work, check out 1WAMP, an Open Hardware Guitar Amplifier and pedalSHIELD, an opensource Arduino Guitar Pedal.

Continue reading “Pedal-Pi, simple programmable guitar pedal”