Mod

maschine-mk1-usb-midi-bridge

Hype41/100

Teensy 4.1 firmware that turns a Native Instruments Maschine MK1 into a USB-MIDI controller.

maschine-mk1-usb-midi-bridge is a mod for the Native Instruments Maschine MK1, by @KainokiKaede. Open source under GPL-2.0, 5 stars on GitHub.

forNative Instruments Maschine MK1·by@KainokiKaede

Unclaimed. Is this yours? Sign in with GitHub as @KainokiKaede to claim it.

Downloads
0
Stars
5
Fork
1
Commits
5
Last commit
Get the source

No release files yet. Build from source.

GPL-2.0· KainokiKaede/maschine-mk1-usb-midi-bridge·downloads come from the creator’s GitHub releases

5
Commits
0
Releases
5 commits and 0 releases in the last year
Activity · last 12 months

Maschine MK1 USB-MIDI Bridge

Teensy 4.1 firmware that turns a Native Instruments Maschine MK1 into a USB-MIDI controller.

Watch the demo on YouTube

Hardware

Use Arduino IDE with Teensyduino installed. Select Teensy 4.1 and a USB type that includes MIDI, such as Serial + MIDI.

Getting Started

  1. Obtain the Teensy 4.1, USB host cable, 2.54 mm pitch pin header, and Maschine MK1, then assemble them so the Maschine is connected to the Teensy USB host port.
  2. Follow the Teensyduino download and install guide to make Arduino IDE able to compile and upload code for Teensy.
  3. Compile the code and upload it to the Teensy 4.1.
  4. You now have a USB-MIDI Maschine MK1!

MIDI Mapping

  • Pads send notes on channel 10.
  • Group buttons A-H switch fixed pad-note banks.
  • Top display buttons send CC 14-21 on channel 1.
  • While the shift button is held, other mapped buttons and encoders send on channel 2.
  • Extra button CCs are CC 30-41, CC 45, and CC 46.
  • Encoders 1-8 send CC 22-29 on channel 1. Volume encoder sends CC 42, tempo encoder sends CC 43, and swing encoder sends CC 44.
  • The LCDs show the eight top-button CC numbers, the eight knob CC numbers, and bars for the current knob values. Channel 1 and channel 2 knob values are stored separately; holding Shift shows the channel 2 values.
  • Transport and common buttons send the notes/CCs listed in BUTTON_MAP.
  • Incoming USB MIDI CC 14-21 controls the matching top-button LEDs.
  • Incoming USB MIDI CC 22-29 updates the visible encoder values.

The sketch also supports routing generated controller MIDI to the Maschine DIN MIDI output. Routing options are build-time defines near the top of the sketch.

Notes

This implementation used the Linux snd-usb-caiaq driver and CABL's Maschine MK1 implementation as protocol references.