Touchpad Remote MIDI/Analog Controller Rocks

[acidbourbon] had some cool parts on hand, and a musician friend in need of a radio-controlled, touch-sensitive MIDI (and analog) controller. This being Hackaday, you can guess what happened next.

The remote expression controller is a sweet little hack. It starts with a touchpad bought from a German surplus shop, and some code that [acidbourbon] found on the biggest German embedded forum. A couple nicely home-etched circuit boards later, and he was writing code.

It’s all available here on his GitHub if you want to have a look. The transmission protocol is simplicity itself. It sends a two-byte header to detect the start of the message, and then it sends three bytes of data. The receiver turns this into MIDI and control-voltage output. Simple and useful.

We also admire the non-overkill (as well as the enviable battery life) of using straightforward radio transmitters rather than giving in and using WiFi.

We’ve covered some of Michael/[acidbourbon]’s hacks before, and the one that we think of the most, when we’re down in the basement drilling out holes in a PCB, is his semi-automatic drill press hack. Keep on hacking!

Cheating At Video Games: Arduino Edition

[Javier] has put in his time playing Final Fantasy X. In the game, there’s a challenge where you have to dodge 200 consecutive lightning strikes by pressing a button at just the right time. [Javier] did this once, but when he bought a new PS Vita handheld, he wanted the reward but couldn’t bear the drudgery of pressing X when the screen lights up 200 times.

4987021466110559532

So he did what anyone would do: hooked up a light-dependent resistor to an Arduino and rubber-banded a servo to press the X button for him. It’s a simple circuit and a beautiful quick hack, all the more so because it probably only took him a half hour or so to whip up. And that’s a half hour better spent than dodging lightning strikes. According to his screen-shot, he didn’t stop at 200 dodges, though. He racked up 1,568 dodges, with a longest streak of 1,066. You can watch a video on his blog and pull the code out of his GitHub.

Why do this? Because that’s what simple computers are for. We hate these silly jumping mini-games with a passion, so we applaud anyone who cheats their way around them. And while not as hilarious as this machine that cheats at Piano Tiles, [Javier]’s hack gets the job done. What other epic video game cheats are we missing?

What Could Go Wrong: Asynchronous Serial Edition

It’s the easiest thing in the world — simple, straightforward serial data. It’s the fallback communication protocol for nearly every embedded system out there, and so it’s one that you really want to work when the chips are down. And yet! When you need it most, you may discover that even asynchronous serial can cost you a few hours of debugging time and add a few gray hairs to your scalp.

In this article, I’m going to cover most (all?) of the things that can go wrong with asynchronous serial protocols, and how to diagnose and debug this most useful of data transfer methods. The goal is to make you aware enough of what can go wrong that when it does, you’ll troubleshoot it systematically in a few minutes instead of wasting a few hours.

Continue reading “What Could Go Wrong: Asynchronous Serial Edition”

Hackaday Prize Entry: BLE Beacon Library

While faking BLE advertising beacons using an nRF24L01+ module is nothing new, it’s become a heck of a lot easier now that [Pranav Gulati] has written some library code and a few examples for it.

[Pranav]’s work is based on [Dmitry Grinberg]’s epic bit-banging BLE research that we featured way back in 2013. And while the advertisement channel in BLE is limited in the amount of data it can send, a $1 nRF24 module and a power-thrifty microcontroller would be great for a battery-powered device that needs to send small amount of data infrequently for a really long time.

We’re not 100% sure where [Pranav] is going to take this project. Honestly, the library looks like it’s ready to use right now. If you’ve been holding off on making your own BLE-enabled flock of birds, or even if you just want to mess around with the protocol, your life has gotten a lot easier.

The HackadayPrize2016 is Sponsored by:

Espressif Releases ESP8266-Killer!

It’s no secret that we love the ESP8266 chip, and the community of hackers that have contributed to making it useful. We often joke about this or that new WiFi-enabler being an ESP8266 killer, but so far none have stepped up. Here we go again!

Espressif has released a chip that’s going to be an ESP8266 killer, and no, it’s not the ESP32. The ESP8285 went into mass production in March, and should start to appear in the usual outlets fairly soon.

What makes it an ESP8266 killer? It’s an ESP8266, but with the flash memory onboard. Nothing more, but also nothing less. What does this mean? Tiny, tiny designs are possible. And, if the street price ends up being right, there’s no reason you wouldn’t opt for built-in flash. (Unless you were planning on doing some ROM hacking.)

Continue reading “Espressif Releases ESP8266-Killer!”

Very Clever 555 Bassline Synth/Sequencer

If we had a dime for every 555-based noisemaker circuit we see… But this one’s got a twist.

[Tristan] does two things that elevate his sawtooth-wave noisemaker above the norm. First, he gets a clean sawtooth wave out of it so that it sounds about right. Then he manages to make it more or less playable. It’s a refined version of a classic hack.

555sawtoothosc2

The first trick is a matter of putting a constant current supply upstream of the timing capacitor. The usual 555-timer circuit just charges the capacitor up from the power rails through a resistor. This is fine if all you care about is timing. But because the current is proportional to the constantly dropping voltage difference, the voltage on the capacitor is an exponential function over time.

A simple transistor current source linearizes the waveform in no time. Raw sawtooth waves are “rich in harmonics” which is synth-geek code for “a bit grating”, but it will surely do well with a little filtering. The Javascript suggests that he’s already thinking in that direction, but we’re going to need video proof!

The second cool trick up [Tristan]’s sleeve is the light-dependent resistor (LDR) that determines the pitch. Yeah, we’ve all made those before — the light-dependent “Theremin”. But [Tristan] took the extra step and wrote up a Javascript application that makes his monitor brighter and darker, enabling him to get musical pitches out of the gizmo.

We’ve always wanted to implement LED-to-LDR control while writing the Logic Noise series, but never found a reliable way to make it work. It’s cool to see [Tristan]’s efforts. Maybe we’ll pull a 555 out of the junk box in his honor.

Solvespace: A Parametric CAD Tool

3D printing seems like it takes forever when you’re waiting for a part to come out. But if you’re like us, the real time spent in making something new is in modelling and refining the piece. There are tons of CAD programs out there, and finding one that meets your needs is part functionality and part personal preference. Reader [Leibowitz] pointed us to Solvespace, and it looks like it fills the gap between something like OpenSCAD and something more feature-full (and complicated) like FreeCAD.

We’re wondering why we hadn’t heard of Solvespace before. It looks great. It has a lot of what we like about OpenSCAD — the ability to quickly and easily specify two 5 mm holes exactly 21 mm from each other, center-to-center and then change that distance easily. But it also has other features like constraint solvers for mechanisms and linkages. It looks like a great way to design your next Strandbeest. The tutorials seem like a good way to get started quickly.

As we said above, choosing a 3D modeller is partly based on your requirements, but also partly on your feelings. If you’re feeling limited by OpenSCAD, there’s also ImplicitCAD. Or try out Autodesk’s free (but not open) Fusion 360. And now there’s Solvespace. It’s great to have options.