Aller à la documentation
Nomadly.beApps & Hacks / Midiface 4×4 Thru/Merge button hack for merge mode

Documentation technique · 18 octobre 2026

Midiface 4×4 Thru/Merge button hack for merge mode

Un QT Py et un relais pour sélectionner automatiquement MERGE au démarrage : 5 appuis sur alimentation USB externe, 6 si le Midiface est relié à un ordinateur.

Avant toute intervention : lire l’avertissement sur les risques, la responsabilité et les marques citées.

01

Présentation & objectif

Le Miditech MIDIface 4×4 Thru/Merge revient à son mode par défaut à chaque mise sous tension. Sur le boîtier de ce montage, le nombre d’appuis sur MODE nécessaire pour sélectionner MERGE dépend du branchement de son port USB.

Branchement USB du MidifaceAppuis à programmer
Alimentation USB externe · recommandé5 appuis
USB relié à un ordinateur6 appuis
En mode MERGE, privilégier une alimentation USB externe.

Dans la configuration décrite ici, les données passent par les câbles MIDI ; l’USB du Midiface sert uniquement à l’alimenter. Il n’est donc pas nécessaire de relier le boîtier au PC. Une alimentation USB externe libère un port de l’ordinateur et évite de faire dépendre le montage de son fonctionnement, notamment d’éventuelles coupures d’alimentation du port USB lors d’un arrêt ou d’une mise en veille.

Le QT Py et le relais automatisent les 5 ou 6 appuis correspondant au branchement retenu. Le contact du relais est câblé en parallèle sur le bouton existant. Une fois la séquence terminée, le relais reste relâché et le NeoPixel est éteint jusqu’au prochain démarrage du microcontrôleur.

Le code est réglé sur 5 appuis par défaut pour une alimentation USB externe. Avant de programmer le QT Py, passer N_PUSH_BUTTON à 6 seulement si le Midiface sera relié à un ordinateur. Le montage ne détecte pas automatiquement le branchement.

Le port USB du Midiface et l’USB-C du QT Py ont des rôles distincts : l’USB-C du QT Py est connecté ponctuellement au PC pour la programmation.

Pour les modes, les voyants et les connexions MIDI, consulter le manuel Midiface 4x4 Thru / Merge DEU-ENG, également disponible sur la page officielle des manuels Miditech.

Périmètre. Cette documentation décrit le matériel photographié et les repères communiqués par son propriétaire ; vérifier toute autre révision de carte avant de la câbler.
02

Matériel

Budget indicatif : environ 16 € pour le QT Py, le relais et le câblage uniquement.

Cette estimation donne un ordre de grandeur. Le coût varie selon le fournisseur, la date, le lieu d’achat et les frais de livraison. Le Midiface, l’alimentation USB, l’outillage et l’impression du support ne sont pas compris.

Liens MC Hobby pour les composants et les fils, donnés à titre indicatif.

MC Hobby ne sponsorise pas ce projet. Nomadly y a simplement acheté le matériel, sans avantage particulier ni compensation. Nomadly recommande cette boutique belge pour la qualité de son service et ses prix.

ÉlémentRôle
Midiface 4×4 Thru/Merge ↗Appareil à modifier ; alimentation et bouton MODE / SW1.
Adafruit QT Py SAMD21 / QT Py M0 ↗Exécute la séquence ; sortie A2 vers le relais.
Pololu Basic SPDT Relay Carrier 5V · 1 relais ↗Commande EN ; contact sec COM / NO.
Fil multibrin silicone noir · 26 AWG ↗Câblage interne · repérage de la masse GND.
Fil multibrin silicone rouge · 26 AWG ↗Câblage interne · repérage de l’alimentation +5 V.
Fil multibrin silicone vert · 26 AWG ↗Câblage interne · commande et contact du bouton ; repérer chaque extrémité.
Liaison +5 V débranchableAccès sûr à la programmation USB-C du QT Py.
Alimentation USB externe et câble USB pour le MidifaceAlimentation du boîtier en usage MERGE autonome · version 5 appuis recommandée.
Isolants et fixation adaptés au boîtierMaintien mécanique et protection des cartes.
Arduino IDE · téléchargement officiel ↗Écrire, compiler et téléverser le firmware sur le QT Py.
Multimètre, matériel de soudure, câble USB-C de donnéesContrôle des points, réalisation et programmation.
03

Démontage du boîtier

Débrancher l’alimentation USB et les câbles MIDI avant d’ouvrir le Midiface 4×4 Thru/Merge.

  1. Retirer les deux vis situées aux extrémités de la face du boîtier.
  2. Déboîter délicatement et enlever la plaque noire. Conserver la plaque et les deux vis pour le remontage.
  3. Faire glisser la carte électronique hors du boîtier. Elle est guidée par des rails : la faire coulisser doucement dans leur axe pour l’extraire.
Boîtier ouvert, plaque noire déposée et deux vis retirées
Démontage : accès à la carte électronique montée sur rails.
  • Les deux vis et la plaque noire sont déposées sur cette photo.
  • La carte électronique coulisse dans les rails du boîtier pour être extraite.
Agrandir la photo
04

Principe & chronologie

Le firmware s’exécute une seule fois dans setup(). La fonction loop() est vide. La constante N_PUSH_BUTTON définit le nombre d’appuis : 5 sur alimentation USB externe, 6 si l’USB du Midiface est relié à un ordinateur.

PhaseRelais / SW1NeoPixelDurée programmée
Attente de démarrageLOW · relâchéRouge8 969 ms
Appui, répété N_PUSH_BUTTON foisHIGH · COM/NO ferméBleu264 ms par appui
Relâchement après chaque appuiLOW · COM/NO ouvertVert744 ms par pause
Indication de finLOW · relâchéBlanc7 546 ms
Repos finalLOW · relâchéÉteint ; alimentation du pixel coupéeJusqu’au prochain démarrage

Durée selon le branchement du Midiface

Branchement USBAppuisFin des cycles appui/pause*Extinction du NeoPixel*
Alimentation USB externe · recommandé514,009 s21,555 s
Ordinateur615,017 s22,563 s

Délais cumulés : 8 969 + N_PUSH_BUTTON × (264 + 744) + 7 546. * Hors démarrage du QT Py et temps d’exécution des instructions. Les durées proviennent du fichier MidifaceMerger.ino fourni.

Un reset du QT Py relance la séquence. Éviter de le réinitialiser pendant l’utilisation : le nombre d’appuis choisi correspond au démarrage du Midiface avec le branchement USB prévu. Si ce branchement change, adapter N_PUSH_BUTTON et téléverser à nouveau le code.
05

Schéma général

Les deux fils COM / NO reproduisent la fermeture du bouton SW1. Ils ne sont pas reliés à la commande logique du relais. Les couleurs servent de repères dans ce document.

MIDIface 5V vers QT Py 5V, GND commun ; QT Py 5V vers VDD, GND vers GND, A2 vers EN ; relais COM vers SW1 A1 et NO vers SW1 A2.
Schéma vectoriel modifiable et imprimable. Agrandir ↗ · Télécharger le SVG
Rouge · +5 VGris · GNDBleu · A2 / ENOcre · contact sec SW1

NC reste libre. Le relais est au repos lorsque EN = LOW ; EN = HIGH provoque un appui.

06

Photos & repérage

Les photos conservent leur orientation d’origine. Les pastilles du MIDIface et l’ordre des bornes du relais ont été confirmés par le propriétaire du montage le 18 octobre 2026.

Vue de la carte MIDIface côté soudures, avec zones USB et SW1
MIDIface : vue d’ensemble du côté soudures.
  • Les vues de détail ci-dessous fixent les pastilles à utiliser.
  • Repères du MIDIface confirmés par Frédéric Delchambre le 18/10/2026.
Agrandir la photo
SW1 : A1 en haut à gauche, A2 immédiatement en dessous de A1
SW1 : les deux premières pastilles de la colonne de gauche. A1/A2 sont des repères de ce document.
  • A1 : pastille en haut à gauche. A2 : pastille immédiatement sous A1, sur la même colonne.
  • COM et NO sont interchangeables sur cette paire. Les autres pastilles ne sont pas utilisées.
  • Ne pas confondre SW1 A2 avec la broche A2 du QT Py.
Agrandir la photo
Zone USB : GND en haut à droite, 5V en bas à droite
USB du MIDIface : les deux points d’alimentation confirmés.
  • GND : pastille en haut à droite. +5 V : pastille en bas à droite.
  • Alimentation 5V ; à recontrôler avant raccordement.
  • Le point mesuré à environ 3 V ne doit pas être utilisé.
Agrandir la photo
QT Py : 5V et GND à gauche près de l’USB-C, A2 à droite
QT Py : USB-C vers le bas, trois connexions utilisées.
  • Connecteur USB-C orienté vers le bas, comme sur la photo originale.
  • 5V : alimentation. A2 : commande logique du relais. Ne pas utiliser 3V à la place de 5V.
Agrandir la photo
Relais : COM, NC, NO à gauche ; GND, VDD, EN à droite
Relais : ordre confirmé pour la carte photographiée.
  • Bornier à vis à gauche ; broches de commande à droite.
  • COM et NO vont uniquement aux deux pastilles du bouton SW1. NC reste libre.
  • Ordre des connexions confirmé par le propriétaire du montage le 18/10/2026.
Agrandir la photo
07

Câblage

Avant toute soudure sur le QT Py, effectuer sa programmation, puis débrancher son câble USB-C.

QT Py ↔ relais

QT PyRelaisFonction
5VVDDAlimentation du relais en 5 V.
GNDGNDMasse commune de la commande.
A2ENCommande active à HIGH.

Relais ↔ bouton MODE / SW1

RelaisMIDIfaceRepère photographique
COMSW1 A1Pastille en haut à gauche.
NOSW1 A2Pastille immédiatement en dessous de A1, sur la même colonne.
NCNon connectéVis du milieu sur le relais.

COM et NO peuvent être inversés sur cette paire : le contact sec n’a pas de polarité.

Deux repères A2 différents. QT Py A2 commande EN. SW1 A2 est une pastille du bouton reliée à NO. Aucun fil ne doit relier directement ces deux points.

Alimentation depuis le MIDIface

MIDIfaceQT PyRepère photographique
Alimentation 5V5VZone USB, pastille en bas à droite.
GNDGNDZone USB, pastille en haut à droite.

Ne pas utiliser le point mesuré à environ 3 V. Le relais est alimenté depuis les broches 5V et GND du QT Py, jamais par la sortie A2.

Reproduction du montage. Le schéma représente le raccordement fourni. Pour une alimentation externe sur 5V, Adafruit recommande une diode en série, anode côté source, cathode côté QT Py. Vérifier cette protection et la tension disponible avec la charge réelle avant un montage définitif.
08

Firmware Arduino

Un seul code, un réglage selon le branchement.
  • N_PUSH_BUTTON = 5 : réglage par défaut, pour une alimentation USB externe du Midiface.
  • N_PUSH_BUTTON = 6 : port USB du Midiface relié à un ordinateur.

Le fichier ci-dessous est une copie intégrale du source fourni. Son réglage actuel est N_PUSH_BUTTON = 5 · alimentation USB externe. Le bouton « Copier le code » et le téléchargement reprennent exactement cette version.

Source fournie · copie intégrale, sans modification.

Télécharger le .ino ↓
Afficher le firmware complet
#include <Adafruit_NeoPixel.h>

/*
QT Py           Relais
5V   ------->   VDD
GND  ------->   GND
A2   ------->   EN

Relais          MidifaceMerger
COM  ------->   A1
NO   ------->   A2

MidifaceMerger  QT Py
5V   ------->   5V
GND  ------->   GND
*/

const int RELAY = A2;
// Adafruit indique que sur ce modèle la broche 12 coupe l’alimentation du NeoPixel
const int PIN_NEOPIXEL_POWER = 12;

// Si boîtier connecté à l'ordinateur : 6 appuis du bouton (il n'y a aucune raison de relier le boîtier au PC en mode Merge)
// Si boîtier non connecté à l'ordinateur, mais uniquement à alimentation usb externe : 5 appuis du bouton
const int N_PUSH_BUTTON = 5;

Adafruit_NeoPixel pixel(1, PIN_NEOPIXEL);

void setLed(int r, int g, int b)
{
  pixel.setPixelColor(0, pixel.Color(r, g, b));
  pixel.show();
}

void setup()
{
  // Init A2/Relais
  pinMode(RELAY, OUTPUT);
  digitalWrite(RELAY, LOW);

  // Init LED
  pixel.begin();
  pixel.setBrightness(30);

  // Démarrage / attente que le MIDIface soit prêt
  setLed(255, 0, 0); // rouge
  delay(8969);

  // 6 appuis sur le bouton MODE
  for (int i = 0; i < N_PUSH_BUTTON; i++)
  {
    // Bouton pressé
    setLed(0, 0, 255); // bleu
    digitalWrite(RELAY, HIGH);
    delay(264);

    // Bouton relâché
    digitalWrite(RELAY, LOW);
    setLed(0, 255, 0); // vert
    delay(744);
  }

  // Terminé
  setLed(255, 255, 255); // blanc
  delay(7546);

  // Sécurité : relais au repos
  digitalWrite(RELAY, LOW);

  // Eteindre complètement la LED NeoPixel
  pixel.clear();
  pixel.show();

  pinMode(PIN_NEOPIXEL_POWER, OUTPUT);
  digitalWrite(PIN_NEOPIXEL_POWER, LOW);
}

void loop()
{
}

La boucle utilise N_PUSH_BUTTON pour compter les activations du relais. Le choix entre 5 et 6 s’effectue avant le téléversement ; il n’y a pas de détection automatique de la liaison USB du Midiface.

RELAY = A2 ; PIN_NEOPIXEL_POWER = 12 est explicitement déclaré dans ce firmware. Adafruit documente la broche 12 à LOW pour couper l’alimentation du NeoPixel sur le SAMD21/M0.

La compilation et le téléversement sont à vérifier avec l’environnement Arduino utilisé. Conserver la version du core et de la bibliothèque qui fonctionne avec ce fichier.

09

Programmation du QT Py

La connexion de l’USB-C du QT Py au PC sert à programmer le microcontrôleur. Elle ne détermine pas le nombre d’appuis : ce réglage dépend du branchement de l’USB du Midiface pendant son utilisation.

Programmer le QT Py avant d’y souder quoi que ce soit.

Effectuer le premier téléversement sur le QT Py seul, puis débrancher son câble USB-C avant de réaliser le montage.

  1. Connecter le QT Py seul au PC avec un câble USB-C de données.
  2. Préparer Arduino IDE selon le guide officiel Adafruit : support SAMD Adafruit et bibliothèque Adafruit NeoPixel.
  3. Ouvrir MidifaceMerger/MidifaceMerger.ino. Conserver const int N_PUSH_BUTTON = 5; par défaut pour une alimentation USB externe du Midiface. Passer à 6 seulement si son USB sera relié à un ordinateur. Sélectionner la carte Adafruit QT Py M0 (SAMD21) et le port correspondant ; vérifier puis téléverser.
  4. Débrancher le câble USB-C du QT Py. Effectuer les contrôles d’alimentation, puis réaliser le câblage et les soudures, appareils hors tension.
  5. Raccorder les appareils MIDI, puis alimenter le Midiface par son port USB avec la source retenue : alimentation USB externe pour les 5 appuis par défaut, ou ordinateur pour 6 appuis.
  6. Contrôler la séquence complète selon la procédure de test.

Prévoir une connexion +5 V facilement débranchable dans le boîtier pour les reprogrammations ultérieures.

10

Procédure de test

Contrôler l’alimentation avant le raccordement, puis vérifier le montage réel avant de refermer le boîtier.

Mesurer le 5 V avant de raccorder le QT Py

  1. Le Midiface étant hors tension, repérer les points 5V et GND indiqués sur la photo. Garder le QT Py débranché.
  2. Alimenter le Midiface par son port USB et mesurer au multimètre, en mode tension continue, la tension et la polarité entre ces deux points.
  3. Débrancher l’alimentation du Midiface et attendre son extinction avant de réaliser les soudures et de raccorder le QT Py.

Contrôles du câblage hors tension

  • Contrôler les soudures, l’absence de pont et l’isolation des cartes.
  • Vérifier que COM/NO est ouvert au repos, que NC est libre et que seuls les deux contacts SW1 retenus sont raccordés.
  • Vérifier qu’aucun câble USB-C ne relie le QT Py au PC.
  • Vérifier que le branchement USB du Midiface correspond au nombre d’appuis programmé : 5 sur alimentation USB externe, 6 sur ordinateur.

À chaque essai depuis un démarrage complet

  1. Couper l’alimentation du MIDIface ; attendre l’extinction complète avant de la rétablir.
  2. Observer le rouge pendant environ 9 s, puis compter 5 activations sur alimentation USB externe, ou 6 si le Midiface est relié à un ordinateur, accompagnées des alternances bleu/vert. Le nombre observé doit correspondre à N_PUSH_BUTTON.
  3. Vérifier l’indication du mode MERGE en consultant le manuel du Midiface.
  4. Observer le blanc pendant environ 7,5 s, puis le NeoPixel éteint. Le relais doit rester relâché.
  5. Laisser l’appareil sous tension au moins une minute : aucun nouvel appui ne doit se produire.
  6. Tester le passage des données MIDI selon les connexions décrites dans le manuel du Midiface, puis vérifier que le bouton manuel fonctionne encore.
  7. Répéter plusieurs cycles complets ; consigner tout appui manqué et le mode obtenu.

Si le résultat diffère

ObservationContrôle utile
Aucun changement de modeContrôler la paire SW1 A1/A2, le choix COM/NO et la fermeture du contact pendant l’appui.
Nombre d’appuis incorrect ou mauvais modeRepartir d’une coupure complète ; vérifier le branchement USB du Midiface et le réglage N_PUSH_BUTTON : 5 sur alimentation USB externe, 6 sur ordinateur.
Redémarrages ou fonctionnement irrégulierMesurer l’alimentation sous charge et contrôler masses, soudures et fixation.
NeoPixel reste alluméVérifier le modèle exact QT Py SAMD21/M0, le firmware chargé et l’exécution de la fin de setup().
11

Montage définitif & précautions

  • Fixer le QT Py et le relais pour qu’ils ne puissent toucher ni le PCB du MIDIface ni les parties conductrices du boîtier.
  • Isoler les soudures et borniers exposés ; maintenir les fils sans traction sur les pastilles.
  • Conserver l’accès au bouton MODE et à la liaison +5 V débranchable.
  • Repérer les fils aux deux extrémités ; identifier distinctement QT Py A2 et SW1 A2.
  • Vérifier la tension et le bon fonctionnement pendant les activations du relais avant de refermer le boîtier.
  • Intervenir et modifier le câblage hors tension. Ne pas laisser NC raccordé par erreur.

Conserver cette page, le schéma SVG, les photos annotées et le fichier .ino avec l’appareil. Consigner après essai les versions Arduino/core/bibliothèque utilisées et toute différence de matériel.

Sources & traçabilité
  • Briefing et photos du projet ; mesures et repères confirmés par Frédéric Delchambre le 18/10/2026.
  • MidifaceMerger.ino : code source de Frédéric Delchambre, daté du 18/10/2026, définissant les temporisations et la séquence de commande du relais.
  • Nombre d’appuis selon le branchement USB : précisions de Frédéric Delchambre le 20/10/2026 (5 sur alimentation USB externe, 6 sur ordinateur).
  • Adafruit · QT Py SAMD21 : broches, alimentation, NeoPixel.
  • Adafruit · configuration Arduino IDE.
12

Support imprimé en 3D

Le support permet d’organiser l’intégration du QT Py et du relais dans le boîtier du Midiface 4×4 Thru/Merge. Son fichier STL est disponible ci-dessous pour l’impression en 3D.

Vue du support

Rendu 3D du support seul, avec ses deux logements et ses traverses.
Support imprimé en 3D : vue du modèle STL.
  • Rendu calculé à partir du fichier STL fourni. Le matériau et la couleur sont illustratifs.
Agrandir le rendu

Rotation à 360°

Lancer la lecture pour voir le support sous tous les angles. Animation sans son, durée : 8 secondes.

Montage sur la carte du Midiface

Carte du Midiface sortie de son boîtier, avec le support gris imprimé en 3D, le relais et le QT Py en place.
Montage sur la carte du Midiface : support imprimé, relais et QT Py en place.
  • Vue réelle de l’intégration mécanique du support sur la carte, sortie de son boîtier.
Agrandir la photo
13

Responsabilité et marques

Ce tutoriel est partagé gratuitement par Frédéric Delchambre/Nomadly SRL comme retour d’expérience sur son propre montage, sans garantie de résultat. Toute personne qui choisit de le reproduire doit vérifier la compatibilité de son matériel et reste responsable de ses manipulations. Ces précisions s’appliquent dans les limites prévues par la loi.

Il présente une modification expérimentale et indépendante ; il ne constitue pas une procédure officielle du fabricant.

Interventions et risques

Chaque personne décide de réaliser cette modification à ses propres risques et reste responsable de ses vérifications, de ses choix de matériel et de ses manipulations. Il lui appartient de disposer des compétences nécessaires et de vérifier la compatibilité de son appareil avant toute intervention.

L’ouverture du boîtier, les soudures et les modifications électriques peuvent endommager le MIDIface ou les équipements connectés, provoquer un dysfonctionnement, une perte de données ou des blessures. Elles peuvent également affecter la garantie du fabricant ou les possibilités de prise en charge.

Dans les limites autorisées par le droit applicable, Frédéric Delchambre et Nomadly SRL ne garantissent ni le résultat de cette modification, ni son adéquation à un autre appareil ou à un usage particulier. Ils déclinent toute responsabilité pour les dégâts matériels, pertes de données et frais de réparation ou de remplacement imputables à une erreur de câblage, une manipulation inadaptée, des composants incompatibles ou au non-respect des consignes de sécurité par la personne réalisant la modification.

Marques et droits des tiers

Les marques, noms de produits et logos cités ou visibles, notamment Miditech, MIDIface, Adafruit, QT Py, Pololu et Arduino, appartiennent à leurs titulaires respectifs. Leur mention sert uniquement à identifier le matériel et les outils utilisés. Elle ne revendique aucune affiliation, approbation, certification ou garantie de ces titulaires à l’égard de ce tutoriel ou du montage.

Aucun droit de propriété intellectuelle appartenant à un tiers n’est cédé par ce tutoriel. Les droits des titulaires de marques et des autres ayants droit restent applicables.

Informations légales et coordonnées de Nomadly SRL sur l’accueil du site.

Photo du montage

100 %