Launchpad MK2 not detected by custom driver

Hi,

I bought an Novation Launchpad MK2 which I want a driver for. I have modified the pro mk2 driver, but the midi controller wont seem to be assigned to the driver, it just works as a normal midi keyboard. Can a thoughtfull person be able to help me make the next steps? :grin:

The changes:

  • Changed Class and file name to mk2 instead of pro mk2
  • Changed dev_id:s. Right now: dev_ids = [“Launchpad MK2”, “Launchpad MK2 MIDI 1”]. Also tested both alone.
  • Changed the init function to what should be the correct message according to programmers reference. def init(self):
    self.send_sysex(“22 00”)
  • Changed the string to what should be correct number. “F0 00 20 29 02 18 {} F7”. (18 instead of 10).

Using raspberry pi 4b. I can’t tell what version of zynthian I’m using, but I downloaded he last stable version at the beginning of june 2026.

Code (The beginning which i’ve changed)

class zynthian_ctrldev_launchpad_mk2(zynthian_ctrldev_zynpad):

    dev_ids = ["Launchpad MK2", "Launchpad MK2 MIDI 1"]

    PAD_COLOURS = [6, 29, 17, 49, 66, 41, 23,
                   13, 96, 2, 81, 82, 83, 84, 85, 86, 87]
    STARTING_COLOUR = 21
    STOPPING_COLOUR = 5

    def send_sysex(self, data):
        if self.idev_out is not None:
            msg = bytes.fromhex("F0 00 20 29 02 18 {} F7".format(data)) # K/ Changed '10' to '18'
            lib_zyncore.dev_send_midi_event(self.idev_out, msg, len(msg))
            sleep(0.05)

    def get_note_xy(self, note):
        row = 8 - (note // 10)
        col = (note % 10) - 1
        return col, row

    def init(self):
        self.send_sysex("22 00")
        logging.warning("MK2 init() called")

    def end(self):
        # Select Notes/Drum layout, page 0 (Chord = 0x2, Note/Drum = 0x4, Scale Settings = 0x5, ...)
        self.send_sysex("22 02")

Logs

are too big. Relevant logs might be:

  • Jun 28 12:16:55 zynthian startx[1271]: DEBUG:zynthian_ctrldev_manager.update_available_drivers: Loaded ctrldev driver class 'zynthian_ctrldev_launchpad_mk2'
  • Jun 28 12:16:55 zynthian startx[1271]: INFO:zynthian_ctrldev_manager.update_available_drivers: Found ctrldev driver 'zynthian_ctrldev_launchpad_mk2' for devices with ID 'Launchpad MK2'
    Jun 28 12:16:55 zynthian startx[1271]: INFO:zynthian_ctrldev_manager.update_available_drivers: Found ctrldev driver 'zynthian_ctrldev_launchpad_mk2' for devices with ID 'Launchpad MK2 MIDI 1'

Hi Kazz,

Feel free to try this driver below. I used the apckey25 driver as the template and brought in some of the functionality.

Since then I have made an updated one with volume and pan functionality (though it uses the pro’s extra buttons so you’d have to dive in and changes a couple of things). I never got the note input mode working properly though, couldn’t figure it out. If you want to try that, let me know.

A unified driver for all the launchpads could be cool so they can share functionality but it needs someone with the skills to make it work.