For Hackaday readers who might not spend their free time spinning electronic beats at raves, the Launchpad by Novation is a popular peripheral for creating digital music with tools such as Ableton Live. It’s 8×8 grid of RGB LED backlit buttons are used to trigger different beats and clips by sending MIDI commands to the computer over USB. While not a strict requirement for performing digital music, it also helps that it looks like you’re flying a spaceship when using it.
It’s definitely a slick piece of gear, but the limited stock functionality means you’re unlikely to see one outside of the Beat Laboratory. Though that might change soon thanks to LPHK, created by [Ella Jameson]. She’s created a program in Python that allows you to use the Novation Launchpad as a general purpose input device. But rather than taking the easy way out by just turning the hardware into a USB HID device or something along those lines, LPHK implements an impressive set of features including its own internal scripting language.
In the video after the break, [Ella] walks us through some basic use cases, such as launching programs or controlling the system volume with individual buttons. LPKH has a GUI which provides a virtual representation of the Launchpad, and allows configuring each button’s color and function as well as saving and loading complete layouts.
For more advanced functionality, LPHK utilizes a scripting language that was inspired by the Hak5 USB Rubber Ducky. Scripts are written with plain English commands and very simple syntax, meaning you don’t need to have any programming experience to create your own functions. There’s also a script scheduling system with visual feedback right on the board: if a button is pulsing red it means it has a script waiting for its turn to execute. When the key is rapidly flashing the script is actively running. A second tap of the button will either remove it from the queue or kill the running script, depending on what the status was when you hit it.
[Ella] makes it clear this software is still a work in progress; it’s not as polished as she’d like and still has bugs, but it’s definitely functional for anyone who’s looking to wring a bit more functionality out of their $150 Launchpad. She’s actively looking for beta testers and feedback, so if you’ve already got one of these boards give it a shot and let her know what you think.
In the past we’ve seen hackers fiddling with the open source API Novation released for their Launchpad controllers, but overall there hasn’t been a lot of work done with these devices. Perhaps that will soon change with powerful software like this in development.
[Thanks to KittenVillage for the tip.]
Really cool idea, but I was never good at playing memory – so not for me ;).
Because…you know…we’re completely out of scripting languages so we need another.
The only thing we don’t need is thi kind of comment
I like this. I don’t have a launchpad, but I have a clone, I’ll have to see if it works
Neat. I sometimes use a Korg NanoKontrol as an USB input device. Sliders are very handy in 3d axis manipulation
Thanks for the write-up on my project, Tom! And thank you KittenVillage for helping spread the word!
As Tom said, it is still in development. That means things may change, so please make sure to read the readme well if you update to a newer commit. Please check out the to-do list at the bottom of the readme to see planned features. Feel free to leave comments on GitHub or my YouTube videos with feature requests or suggestions. Please direct all issues to the GitHub Issues tracker. And most of all, happy hacking!
I watched your hour youtube video on LPHK. You asked for feedback. What is the best way to discuss this with you? Discord?
This looks most interesting and a Launch Pad in the house ;-) Play time!