romu-hid-custom-keyboard.ino

Bitmerse Romu Compact USB Development Board (RP2354A) · File : romu-hid-custom-keyboard.ino · Language : C++ (Arduino) · Use case : Créer un pavé macro USB HID personnalisé utilisant les boutons physiques de la carte Romu.

Basic example to detect internal button presses and toggle the LED, starting point for an HID device.

The Romu card has no easily accessible external GPIOs. This code uses internal GPIOs connected to buttons. For real HID, replace Serial with a TinyUSB library configured in HID Keyboard mode. Compile with the Arduino-Pico core.

romu-hid-custom-keyboard.ino

#include <Arduino.h>
#include "pico/stdlib.h"

// Les boutons sur la carte Romu sont généralement câblés aux GPIO internes
// Vérifiez le schéma spécifique de votre révision pour les numéros exacts.
// Exemple hypothétique : BTN1 = GPIO 2, BTN2 = GPIO 3
#define BTN1 2
#define BTN2 3
#define LED_RGB 25 // LED RGB souvent sur GPIO 25 ou dédiée

void setup() {
  pinMode(BTN1, INPUT_PULLUP);
  pinMode(BTN2, INPUT_PULLUP);
  pinMode(LED_RGB, OUTPUT);
  
  // Initialisation USB HID non standard nécessite souvent une lib spécifique 
  // ou une modification du core. Ici, exemple simplifié avec Serial pour debug.
  Serial.begin(115200);
}

void loop() {
  static bool lastState1 = HIGH;
  bool state1 = digitalRead(BTN1);
  
  if (state1 == LOW && lastState1 == HIGH) {
    // Action sur front descendant (appui)
    Serial.println("Bouton 1 pressé");
    digitalWrite(LED_RGB, HIGH);
    delay(50);
  }
  lastState1 = state1;
  
  // Logique pour envoyer des keystrokes via HID ici avec une lib comme TinyUSB
  delay(10);
}

← Back to the board