Some time ago Novation has partially* open-sourced their LaunchPad Pro Source Code. The Device contains a STM32F103,
has 8x8 Pads with Aftertouch and Velocity Sensitivity, DIN MIDI IN/OUT, USB-MIDI and 32 General Purpose Buttons.
I always loved the MidiBox Sequencer V4 and built my first just after it got released. I never built a BLM, though, but played
around with the Emulated version, which I liked!
Now my Idea: Implementing the BLM Firmware on the LaunchPad Pro and connect it via DIN-MIDI/USB-Host to the SEQv4
as a Standalone device without the need for a PC as BLM-Launchpad-Proxy.
My question is now, if I have to look into the source code of the PIC based BLM or if there is any protocol reference for the
BLM protocol? I guess maybe looking at the Lemur BLM Code would make sense?
UPDATE: Success! BLM-compatible firmware based on the Launchpad Pro template working. Still has some weird bugs,
which look to me a bit like memory corruption or maybe OOM. Anyone wants to help?
So, did you change the Launch Pad Pro’s firmware or did you modify the MIDIbox Seq V4 to get this to work??
I have written a BLM-compatible firmware for the Launchpad Pro. No modifications on the Seq V4 side required
4 hours ago, mongrol said:
Cool. I presume this uses the Pro’s open firmware API that was released? Did you reuse any MIOS BLM code or have to reimplement from scratch?
(Now how to we scrape the labels off teh round buttons and light them up? )
This uses the “SDK” from the first post, which contains a proprietary library for the Hardware Abstraction Layer. I re-implemented most of the things from scratch. For the first prototype I borrowed the SysEx state machine from MIOS.
Superb! You should get paid by Novation for making their products more attractive…
Haha thanks I will do some code cleanup and then I will release my stuff as open source.
One of the reasons that I did it was actually because the out-of-the-box functionality of the launchpad was not so useful for me.
Unfortunately, while working perfectly fine on my Linux workstation, I had some sporadic lag issues when running it on a PI.
One problem I see with your approach is, that it will be difficult to handle more than one Launchpad, right? The USB host on MIOS does not yet support HUBs if I remember correctly. My goal was to have too Launchpad Minis to get a larger grid, which is quite cool for programming drums. I should really pick this up again and make this work with the PI. Wanted to check out if I can get rid of the lags when using some soft-realtime kernel.
Because I have started building a DIY modular synth over the past few months, my time is kinda drained by that
Thanks! Yes, it’s true that handling more than 1 BLM could present a problem, but I imagine it would be possible to daisy-chain them and add some firmware mods to allow for that (or use STM32F4 core, which allows for USB Host, so the LP can be attached via USB).
Operation is more or less the same as all other BLMs, so most likely, you will not need a “manual”.
However, I started writing my own BLM for the Launchpad Pro some weeks ago. While it is not finished yet, I can give you a recent version if you give me feedback in return
Hi Karg. Thanks for your reply. I’m actually a Launchpad S owner and about to sell it. Don’t know when/if I will buy a “Pro” one, but I’ll take you in account when it’ll come to that for me!