sylwester Posted September 12, 2016 Report Share Posted September 12, 2016 (edited) Hello, 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? * https://github.com/dvhdr/launchpad-pro - Contains proprietary HAL 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? Edited September 12, 2016 by sylwester 1 Quote Link to comment Share on other sites More sharing options...
sylwester Posted September 12, 2016 Author Report Share Posted September 12, 2016 Video of the success: @Admin: Can someone move this maybe to the BLM category if its more appropriate? 3 Quote Link to comment Share on other sites More sharing options...
mongrol Posted September 13, 2016 Report Share Posted September 13, 2016 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? :) ) Quote Link to comment Share on other sites More sharing options...
ilmenator Posted September 13, 2016 Report Share Posted September 13, 2016 So, did you change the Launch Pad Pro's firmware or did you modify the MIDIbox Seq V4 to get this to work?? Quote Link to comment Share on other sites More sharing options...
sylwester Posted September 13, 2016 Author Report Share Posted September 13, 2016 (edited) Just now, ilmenator said: 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. Edited September 13, 2016 by sylwester Quote Link to comment Share on other sites More sharing options...
ilmenator Posted September 13, 2016 Report Share Posted September 13, 2016 47 minutes ago, sylwester said: I have written a BLM-compatible firmware for the Launchpad Pro. No modifications on the Seq V Superb! You should get paid by Novation for making their products more attractive... Quote Link to comment Share on other sites More sharing options...
sylwester Posted September 13, 2016 Author Report Share Posted September 13, 2016 Just now, ilmenator said: 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. Quote Link to comment Share on other sites More sharing options...
Smithy Posted September 13, 2016 Report Share Posted September 13, 2016 (edited) Congratulations Sylwester! This will be an excellent tool for the MIDIbox community. Edited September 13, 2016 by Smithy 1 Quote Link to comment Share on other sites More sharing options...
sylwester Posted September 13, 2016 Author Report Share Posted September 13, 2016 (edited) Here is an initial version including source code (still very messy, but works). Any extra contributions and comments greatly appreciated! Source Snapshot: https://files.no-route.org/LaunchPad-BLM-master-f7d75f24d74542e1ecec3eb0a66f2dbe1b7629e0.tar.gz SysEx Firmware Update: launchpad_blm.syx Edited September 13, 2016 by sylwester Quote Link to comment Share on other sites More sharing options...
westlicht Posted October 3, 2016 Report Share Posted October 3, 2016 That's actually really cool! I have put in some work to write a BLM proxy that runs headless on a Raspberry PI -> https://github.com/westlicht/midibox-blm-proxy 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 :) Quote Link to comment Share on other sites More sharing options...
sylwester Posted October 28, 2016 Author Report Share Posted October 28, 2016 @westlicht 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). Quote Link to comment Share on other sites More sharing options...
Psykhaze Posted October 30, 2016 Report Share Posted October 30, 2016 Sorry for laming . I'd just wanna say something about that great nice work Quote Link to comment Share on other sites More sharing options...
Karg Posted July 6, 2017 Report Share Posted July 6, 2017 Great work! I am very eager to try this as well! By any chance, in case you have updated your Launchpad code, could you make that available as well? Will be happy to give you feedback of course! Quote Link to comment Share on other sites More sharing options...
FlavioB Posted August 6, 2017 Report Share Posted August 6, 2017 Hi Sylwester! Looks pretty nice! Is there any "manual" for this, or how would I exactly be using its functions? Thanks, F. Quote Link to comment Share on other sites More sharing options...
Karg Posted August 7, 2017 Report Share Posted August 7, 2017 @FlavioB: 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 :) Just PM me if you are interested... Quote Link to comment Share on other sites More sharing options...
FlavioB Posted August 7, 2017 Report Share Posted August 7, 2017 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! BR, Flavio Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.