While Valve’s Steam Controller was ultimately a commercial failure, there’s no denying it’s an interesting piece of hardware. With dual trackpads, a wealth of buttons, and Bluetooth capability, it could be the ideal way to control your next build. Thanks to a recent project by [geggo], now you’ve even got an example you can follow.
A custom PCB holding an ESP32 and DRV8833 dual H-bridge motor controller is used to interface with standard LEGO motors using their stock block-like connectors. That means the board is a drop-in upgrade for whatever motorized creation you’ve already built.
Since the ESP32 obviously has WiFi in addition to Bluetooth, that also means this little board could be used to control LEGO projects over the local network or even Internet with some changes to the firmware.
Interestingly, while Valve officially enabled Bluetooth on the Steam Controller back in 2018, it sounds like some undocumented poking and reverse engineering was necessary to get it working here. That’s great for those of us who like a good hack, but if you’re more interested in just getting things working, [geggo] has been good enough to release the source code to get you started.
Hardware-wise, both the synth and the amp are fairly simple. Underneath each of those cute little printed keys is one of those clicky momentaries that usually come with bright button caps in primary colors — the keys themselves just press-fit over the tops. All twelve ebonies and ivories are connected up to an Adafruit Feather, which communicates over Bluetooth LE to a CircuitPlayground Bluefruit (CPB) in the amp. Each time a note is played on the synth, its corresponding color circles comet-like around the CPB’s NeoPixels, which shine through the amp’s speaker grille.
The super interesting part is that all the hard work is happening in the code. Both boards have the same array of colors in rainbow order, and the CPB has an array of tone frequencies that match up one for one with the colors. For every note played, the CPB looks up the color, swirls it, and plays the note. If you want to build one, this project is wide open — [Blitz City DIY] even made a learn guide with all the dirty details. Be sure to check out the demo and extended walk-through after the break.
There’s a new development board in town from Adafruit, and it’s called the CLUE. This tiny board can be programmed in Arduino or CircuitPython, and it is absolutely stuffed with sensors and functionality, including Bluetooth. It’s essentially a BBC Micro:bit with more sensors, a screen, and a much beefier processor. Sound interesting? Let’s get out the magnifying glass and take a look, shall we?
(Editor’s note: Adafruit ran out of the first alpha run of the hardware. While we didn’t run into any bugs, the next versions will presumably have even fewer, but will also cost $40 instead of $30. That said, they’re giving out 3,000 of them to attendants of PyCon in April, so you might also get your hands on one that way.)
First and foremost, there’s the form factor — if that bottom edge looks familiar, that’s because the CLUE is designed to work with micro:bit robot kits and anything else with that edge connector, like the CRICKIT for micro:bit, or the Bit:Bot from Seeed Studios. This is big news for the micro:bit ecosystem, and not just because the CLUE brings tons of sensors and a screen to the scene, although a 1.3″ screen at 240×240 resolution is nothing to sneeze at.
The main brain is a Nordic nRF52840, so you can pair it to your phone and stream your collected data. Or, use it to get two CLUE boards talking to each other. This is a major upgrade from the micro:bit’s nRF51822 — the CLUE is four times faster, has four times the flash memory, and has sixteen times as much RAM. We hope someone can find a way to make them into short-range messaging machines with Q10 keyboards.
Taking timelapses is a fun pastime of many a photographer. While most modern cameras have some features to pull this off, if you want to get really into it, you’ll want an intervalometer to run the show. Chasing just that, [Zach] decided that rather than buying off-the-shelf, a DIY build was in order.
The build relies on an Arduino Nano to run the show, in combination with the popular HC-05 Bluetooth module. The Bluetooth module allows the device to communicate with a smartphone app which [Zach] created using RoboRemo. This is a platform that makes creating custom USB, WiFI and Bluetooth apps easy for beginners. The app sends instructions to the intervalometer regarding the number of photos to take, and the time to wait between each shot. Then, it triggers the time lapse, and the Arduino triggers the camera by shorting the relevant pins on a TRS plug inserted into the camera.
Most people associate the ESP family of microcontrollers with WiFi, which makes sense as they’ve become the solution of choice for getting your project online quickly and easily. But while the WiFi capability might be the star of the show, the ESP32 also comes equipped with Bluetooth; we just don’t see people using it nearly as often. If you’re looking to get started using Bluetooth on the ESP32, then this simple wireless macro keypad from [Brian Lough] would be a great way to get started.
From a hardware standpoint, this project is incredibly straightforward. All you need to do is connect a membrane keypad up to the GPIO pins on the ESP32. Adding in a battery is a nice touch, and you probably would want to put it into a enclosure of some sort, but as a proof of concept it doesn’t get much easier than this. In this case [Brian] is using the TinyPICO board, but your personal ESP32 variant of choice will work just as well.
The rest of the project is all software, which [Brian] walks us through in the video after the break. There’s a preexisting library for Bluetooth Human Interface Device (HID) emulation on the ESP32, but it needs to be manually installed in the Arduino IDE. From there, he demonstrates how you can build up a functioning keyboard, including tricks such as sending multiple virtual keys at once.
In the past we’ve seen the ESP32 used to create a Bluetooth game controller, but the ability to emulate a keyboard obviously offers quite a bit more flexibility. With a practical demonstration of how easy as it is to turn this low-cost microcontroller into a wireless input device, hopefully we’ll start seeing more projects that utilize the capability.
Bluetooth is a technology with a very interesting history. When it first came around in the late 1990s, it promised to replace the mess of wires that was tucked behind every desk of the day. Unfortunately, the capabilities of early Bluetooth didn’t live up to the hype, and it never quite took off. It wasn’t until the rise of the smartphone more than a decade later that Bluetooth, now several versions more advanced, really started to make sense.
As [Larry Bank] explains in a recent blog post, that means there’s a whole lot to learn if you want to really understand Bluetooth hacking. For example, the Bluetooth versions that were used in the 1990s and 2000s are actually a completely different protocol from that which most modern devices are using. But the original protocol, now referred to as “Classic”, is still supported and in use.
That means to really get your head wrapped around working with Bluetooth, you need to learn about the different versions and all the tools and tricks associated with them. To that end, [Larry] does a great job of breaking down the primary versions of Bluetooth and the sort of tools you might find yourself using. That includes microcontrollers such as the ESP32 or Arduino Nano 33 BLE.
But the post isn’t just theory. [Larry] also goes over a few real-world projects of his that utilize Bluetooth, such as getting a portable printer working with his Arduino, or figuring out how to use those tiny mobile phone game controllers for his own purposes. Even if you don’t have these same devices, there’s a good chance that the methods used and lessons learned will apply to whatever Bluetooth gadgets you’ve got your eye on.
The search for the ultimate hacker’s smart watch probably won’t end any time soon. [emeryth] has nominated another possible candidate in the form of the SMA-Q2, and has made a lot of progress in making it accessible.
Also known as the SMA-TIME, the watch is based around the popular NRF52832 Bluetooth SoC, with a colour memory LCD, accelerometer, and a heart rate sensor on the back. The main feature that makes it so easy to hack is the stock bootloader on the NRF52832 that works with generic Nordic upload tool, making firmware upgrades a breeze via a smart phone. Unfortunately the bootloader itself is locked, so it must be completely wiped to gain debugging access. The hardware configuration has also been well reverse engineered with all the details available.
[emeryth] has most of the basic features working with his custom firmware, although it’s still in the early stages. He designed a new watch face that includes weather updates and basic audio controls. The 3-bit display’s power consumption has also been reduced by only refreshing the necessary parts. The heart rate sensor outputs the raw waveforms, and it’s pretty accurate after a bit of FFT and filtering magic. Built-in tap and tilt detection is available on the accelerometer, which works well, but strangely doesn’t appear to have been used in the stock firmware.
Unfortunately the original enclosure design that used screws was dropped for glued version. It’s still possible to open without breaking anything, just a bit more difficult. [emeryth] Another hardware hacker named [BigCorvus] has even designed a completely new open-source main board with a NRF52840 module and heart rate sensor on a small flex PCB, with everything up on GitHub.