samedi 10 mars 2018

USBMIDiKlIK : A reliable Arduino USB MIDI interface

Résultat de recherche d'images pour "Arduino"Résultat de recherche d'images pour "midi logo"

As other project, like HIDUINO, or MOCOLUFA (thanks to them for inspiration), USBMIDIKLIK allows your Arduino board to become a very reliable MIDI IN/OUT USB interface. Despite the very good work done on these projects, i was facing some issues... An heavy MIDI traffic was blocking the serial, and some MIDI messages were purely ignored by the parser, like the song pointer position for example... more, these projects rely on a quite old version of the LUFA library.
USBMidiKliK uses interrupts and ring buffers to ensure that (fast) USB to (slow) midi transfers are reliable, plus a "more transparent as possible" midi parser. MIDI product device name is integrated in the makefile, and can also be modified by sysex...so easy to change.
This firmware is uploaded in the ATMEGA8U2 chip managing the USB, and changes the default USB serial descriptors to the MIDI ones. For more convenience when updates are needed, a "dual mode" is embedded, allowing to switch back to the USB serial : when the PB2/MOSI pin of the ATMEGA8U2 is connected to ground, the Arduino is a classical one again, and you can change and upload a new firmware in the ATMEGA328P (UNO) with the standard Arduino IDE.e Arduino.

This is a full open source project.
More detail on my GitHub HERE

3 commentaires:

  1. Bonjour, si j'ai bien compris vous êtes français ?

    J'ai découvert récemment les bootloaders MIDI STM et Arduino sur GitHub. Bravo pour le boulot qu'il y a derrière, je ne m'y connais pas suffisament, mais j'imagine que ça demande pas mal de temps. :)

    En ayant regardé le GitHub, je ne comprends pas bien comment flasher la puce 16u2.

    Quelle technique utiliser ? Quel fichier faut il compiler ? Faut il un compilateur particulier ou un autre IDE qu'Arduino ?

    Idem pour le bootloader STM, je ne comprends pas vraiment, mais pour le moment je vais essayer de comprendre ça sur Arduino au moins, même si j'aimerais à terme faire mon controleur MIDI et bien savoir coder sur STM32 (bluepill).

    Si non,

    Hello,

    I recently discovered your bootloaders for Arduino and STM32 on GitHub.
    Thumbs up for the work

    On the GitHub page I can't understand how to flash the 16u2 chip.
    What method should I use to compile on the chip ? What file on the Git should I use to compile ? What compiler should be used ?

    For the STM bootloader it's the same I don't understand it well, but I'll stick to the Arduino one for the moment. For the long term I want to code on STM32 as I want to do faster midi controllers than my Arduino ones.

    Adrien

    RépondreSupprimer
    Réponses
    1. Hello Adrien. Oui, je suis French !
      Pour le support, poste plutôt sur GitHub...

      Supprimer
    2. Ok, j'ai posté sur Git. Je ne comprend pas vraiment comment compiler et comment utiliser winavr. Si vous avez un tuto winavr et un tuto pour compiler votre projet sur Git je suis preneur. D'ailleurs je ne saisis pas vraiment la manière de compiler sur stm32 aussi.

      Supprimer

Do you need a cheap USB midi /din converter ?

KonverterMidiUSB Host USB to Serial Midi bidrectionnal converter This project based on Arduino Uno allows you to get a very economical USB M...