🛠 Créer un périphérique HID personnalisé avec Romu

Carte de développement USB compacte Bitmerse Romu (RP2354A) · debutant · Transformez votre carte Romu en un pavé macro USB compact grâce à ses boutons intégrés et son connecteur Type-A.

Objectifs

Ce tutoriel guide la création d'un périphérique d'interface humaine (HID) simple utilisant la carte Romu. Vous apprendrez à envoyer des commandes clavier via USB sans câble externe, en exploitant les boutons physiques de la carte. Ce cas d'usage illustre l'automatisation de tâches répétitives ou la création de raccourcis personnalisés.

Matériel nécessaire

Étapes

Installez l'outil picotool et le SDK Raspberry Pi. Assurez-vous que votre compilateur est configuré pour la cible Arm Cortex-M33 ou RISC-V selon votre choix.

  1. Configuration de l'environnement

Utilisez la bibliothèque HID du SDK pour définir un descripteur de périphérique. Voici un exemple en C utilisant la bibliothèque TinyUSB :

  1. Écriture du code HID
#include "tusb.h"

// Définir les boutons comme entrées GPIO internes
#define BTN_A 0
#define BTN_B 1

void setup() {
    gpio_init(BTN_A); gpio_set_dir(BTN_A, GPIO_IN);
    gpio_init(BTN_B); gpio_set_dir(BTN_B, GPIO_IN);
    tusb_init();
}

void loop() {
    tud_task(); // Traiter les événements USB
    if (!gpio_get(BTN_A) && tud_hid_ready()) {
        uint8_t report[2] = {0x00, 0x04}; // Touche 'a' pressée
        tud_hid_keyboard_report(REPORT_ID_KEYBOARD, 0, report);
    } else if (tud_hid_ready()) {
        uint8_t report[2] = {0x00, 0x00}; // Relâcher
        tud_hid_keyboard_report(REPORT_ID_KEYBOARD, 0, report);
    }
    sleep_ms(10);
}

Compilez le projet pour la carte Romu. Connectez la carte à votre PC via le connecteur USB Type-A intégré. Si le bootloader est actif, la carte apparaîtra comme un lecteur de masse. Copiez le fichier .uf2 compilé sur le lecteur.

  1. Compilation et Flash

Débranchez et rebranchez la carte. Aucun câble n'est nécessaire pour l'utilisation finale. Ouvrez un éditeur de texte et appuyez sur le bouton correspondant pour vérifier l'envoi du caractère.

  1. Test plug-and-play

Vérification

Pour aller plus loin

Explorez l'envoi de combinaisons de touches (Ctrl+C) ou l'implémentation d'un contrôleur MIDI USB. La sécurité Arm TrustZone peut être activée pour protéger le firmware contre la lecture non autorisée, crucial pour les clés d'authentification.

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels