Guitarists will do just about anything to get just the right sound out of their setup, including purposely introducing all manner of distortion into the signal. It seems counter-intuitive, but it works, at least when it’s done right. But what exactly is going on with the signal? And is there a way to simulate it? Of course there is, and all it takes is a little math and some Arduino code.
Now, there are a lot of different techniques for modifying the signal from an electric guitar, but perhaps the simplest is the humble diode clipping circuit. It just uses an op-amp with antiparallel diodes either in series in the feedback loop or shunting the output to ground. The diodes clip the tops and bottoms off of the sine waves, turning them into something closer to a square wave, adding those extra harmonics that really fatten the sound. It’s a simple hack that’s easy to implement in hardware, enough so that distortion pedals galore are commercially available.
In the video below, [Sebastian] explains that this distortion is also pretty easy to reproduce algorithmically. He breaks down the math behind this, which is actually pretty approachable — a step function with a linear part, a quadratic section, and a hard-clipping function. He also derives a second, natural exponent step function from the Schockley diode equation that is less computationally demanding. To implement these models, [Sebastian] chose an Arduino GIGA R1 WiFi, using an ADC to digitize the guitar signal and devoting a DAC to each of the two algorithms. Each distortion effect has its own charms; we prefer the harsher step function over the exponential algorithm, but different strokes.
Kudos to [Sebastian] for this easy-to-understand treatment of what could otherwise be a difficult subject to digest. We didn’t really expect that a guitar distortion pedal would lead down the rabbit hole to diode theory and digital signal processing, but we’re glad it did.
Continue reading “Guitar Distortion With Diodes In Code, Not Hardware”
Effects pedals for musical instruments like electric guitars can really expand a musician’s range with the instrument. Adding things like distortion, echo, and reverb at the push of a button can really transform the sound of a guitar and add depth to a performance. But [Guy] wondered why these effects should be limited to analog signals such as those from musical instruments, and set about to apply a number of effects to the use of computer keyboards and mice with this HID effects pedal.
The mouse is perhaps the closer of the two to an analog device, so the translations from the effects pedal are somewhat intuitive. Reverb causes movements in the mouse to take a little bit of extra time before coming to a stop, which gives it the effect of “coasting”. Distortion can add randomness to the overall mouse movements, but it can also be turned down and even reversed, acting instead as a noise filter and smoothing out mouse movements. There’s also a looper, which can replay mouse movements indefinitely and a crossover, which allows the mouse to act as a keyboard.
For the keyboard, included effects are a tremolo, which modulates between upper- and lower-case at certain intervals; echo, which repeats keypresses; and a pitch-shift which outputs a “higher” character in the alphabet above whichever one has been pressed. Like the mouse, there’s also a crossover mode which allows the keyboard to be used as a mouse.
The device looks and feels like an effects pedal for a guitar would, with a RP2040 inside to intercept HID information, do the signal processing, and then output the result to the computer. And, while [Guy] admits this was a fun project with not many practical uses, there are a couple handy ones including potentially the distortion effect to smooth out mouse inputs for those with neuromuscular disorders or the mouse looper to act as a mouse jiggler for those with micromanaging employers. It’s also reprogrammable, and as we’ve seen since time immemorial having a programmable foot keyboard can be extremely handy for certain workflows.
Continue reading “An Effects Pedal For Keyboards (and Mice)”
Moore’s law might not be as immutable as we once though thought it was, as chip makers struggle to fit more and more transistors on a given area of silicon. But over the past few decades it’s been surprisingly consistent, with a lot of knock-on effects. As computers get faster, everything else related to them gets faster as well, and the junk drawer tends to fill quickly with various computer peripherals and parts that might be working fine, but just can’t keep up the pace. [Bonsembiante] had an old ADSL router that was well obsolete as a result of these changing times, but instead of tossing it, he turned it into a guitar effects pedal.
The principle behind this build is that the router is essentially a Linux machine, complete with ALSA support. Of course this means flashing a custom firmware which is not the most straightforward task, but once the sound support was added to the device, it was able to interface with a USB sound card. An additional C++ program was created which handles the actual audio received from the guitar and sound card. For this demo, [Bonsembiante] programmed a ring buffer and feeds it back into the output to achieve an echo effect, but presumably any effect or a number of effects could be programmed.
For anyone looking for the source code for the signal processing that the router is now performing, it is listed on a separate GitHub page. If you don’t have this specific model of router laying around in your parts bin, though, there are much more readily-available Linux machines that can get this job done instead.
Continue reading “ADSL Router As Effects Pedal”
If you like playing Grand Theft Auto, you’re pretty familiar with squeezing the triggers for accelerating and braking while driving around. [David Programa] decided this was too easy, and instead developed a system to allow him to pedal his way around the virtual world.
The device relies on a flywheel-based exercise bike, with six magnets placed on the flywheel that triggers a reed switch six times per rotation. The extra magnets give the system better resolution at slow speeds. A Hall Effect sensor would be a more reliable way to build this to survive in the long term, but the reed switch does work. It’s paired with a debounce circuit to keep the output clean. A Raspberry Pi is pressed into service, running a Python program to read a GPIO pin activated by the reed switch, counting pulses to determine the speed of pedalling.
The trigger control used in the Xbox 360 controller is a potentiometer that creates varying voltages depending on its position, allowing it to act as an analog accelerator input. 0 volts corresponds to no input, while the trigger reads 3.3 volts when fully depressed. The Raspberry Pi emulates this with its PWM output, paired with a low-pass filter to create the relevant voltage to inject into the trigger input on a generic Xbox 360 controller.
While it’s a lot less practical than simply using a regular controller, the pedal controls do allow you to get a great workout while playing Grand Theft Auto. Some of the more intense chase missions should be a great way to get your heart rate up, and that’s got to be a good thing.
Ironically, though, the system only works for cars and motorbikes in game. The bicycles in Grand Theft Auto are controlled by mashing the A button instead. Alternatively, you might consider a similar system for playing Mario Kart on the Nintendo Switch. Video after the break.
Continue reading “Exercise Bike Hacked As Input For Xbox 360”
Commercial Bluetooth pedals, designed to allow musicians to flip pages of sheet music on a tablet, have the sort of inflated price tag you’d expect for a niche electronic device. Rather than forking as much as $100 USD over for the privilege of hands-free page flipping, [Joonas Pihlajamaa] decided to build his own extremely low cost version using an ESP32 and a cheap foot pedal switch.
In terms of hardware, it does’t get much easier than this. All [Joonas] had to do was hook the pedal up to one of the ESP32’s digital pins, and plug the microcontroller into a USB power bank. From there, it became a software project. With the ESP32-BLE-Keyboard library, it only took a few lines of code to send
LEFT_ARROW depending on whether the pedal was quickly tapped or held down for a bit; allowing him to navigate back and forth through the pages with just one button.
[Joonas] mentions that the ESP32 development board he’s using is too large to fit inside the pedal itself, though we wonder if the bare module could get slipped in there someplace. Of course you could always build your own pedal with a bit of extra room to fit the electronics, but for less than $2 USD on AliExpress, it’s hard to go wrong with this turn-key unit.
Looking for an alternate approach? We covered a Bluetooth page turner last month that doubled the inputs and packed it all into a handsome wooden enclosure.
Continue reading “This ESP32 Bluetooth Page Turner Can’t Get Any Easier”
The racing sim scene has always had a strong DIY subculture, as enthusiasts seeking the most realistic-feeling peripherals set out to modify off-the-shelf offerings for greater authenticity. Others go further and craft their own builds from the ground up. [ilge] has done just that, putting together his own set of pedals for sim racing.
The build relies primarily on 3D printed components, with a few springs and some nuts and bolts to hold everything together. Gear teeth on the pedal arms interface with matching gears mounted on potentiometers. These are then wired into an Arduino Pro Micro, which reads the individual pots via analog inputs and then acts as a USB Human Interface Device to the computer.
[ilge] tests the setup with a variety of games, including the popular Euro Truck Simulator and iRacing. It’s a great cheap way to get started with a pedal set for a sim rig. From here, the sky really is the limit; we’d love to see an upgraded version with a load-cell on the brake for better pedal feel. We’d be surprised if an H-shifter isn’t in the works, too. Video after the break.
Continue reading “An Easy DIY Pedal Set For Racing Sims”
Buying things to make your life easier certainly has its therapeutic joys, but if you really wanna feel good, you gotta make the thing yourself whenever possible. [Bjørn Brandal] happened to have a two-switch BOSS pedal just lying around, so it made sense to turn it into a wireless page turner for reading sheet music.
As [Bjørn] says, the circuit is simple — just two 1/4″ TRS jacks and an ItsyBitsy nRF52840 Express. The jacks are used to connect to the pedal outputs to the ItsyBitsy, which sends keystrokes over BLE.
The cool thing about this pedal is that it can work with a bunch of programs, like forScore, Abelton Live, Garage Band, and more. The different modes are accessed by holding down both pedals, and there’s confirmation via blinking LED and buzzing buzzer.
Our favorite part has to be the DIY light guide [Bjørn] that bends the ItsyBitsy’s RGB LED 90° and points it out the front of the enclosure. Nicely done!
Don’t play anything but the computer keyboard? Put those feet to work with shortcuts behind giant arcade buttons.