Arduino USB HID Boards Compared: Leonardo, Micro, UNO R4, Nano, GIGA, Due and MKR

Arduino USB HID boards compared: Leonardo, Micro, UNO R4, Nano R4, Nano ESP32, GIGA R1, Due, Zero and MKR for keyboard, mouse, macro pad, game controller and custom USB projects.

Many Arduino boards can appear to a computer as a native:

  • USB keyboard;
  • USB mouse;
  • macro pad;
  • button box;
  • custom controller;
  • Human Interface Device.

But not every Arduino board supports USB HID in the same way.

The classic:

do not provide native USB HID from their main microcontroller in the same straightforward way as boards designed around native-USB MCUs.

Current Arduino HID-capable families include:

The best board depends on whether your priority is:

  • simplicity;
  • small size;
  • 5 V logic;
  • Wi-Fi/Bluetooth;
  • large I/O count;
  • more RAM;
  • advanced analogue inputs;
  • USB-C;
  • CAN;
  • large HID applications.

Quick HID Board Comparison

Board Main MCU Logic USB connector Best use
Leonardo ATmega32U4, 16 MHz 5 V Micro-USB Simple full-size HID
Micro ATmega32U4, 16 MHz 5 V Micro-USB Compact HID
UNO R4 Minima RA4M1 Cortex-M4, 48 MHz 5 V USB-C Modern simple HID
UNO R4 WiFi RA4M1 + ESP32-S3 5 V USB-C HID + Wi-Fi/BLE
Nano R4 RA4M1 Cortex-M4, 48 MHz 5 V USB-C Compact modern 5 V HID
Nano ESP32 ESP32-S3 3.3 V USB-C Compact wireless HID
GIGA R1 WiFi STM32H747 M7+M4 3.3 V USB-C Large high-performance HID system
Due SAM3X8E Cortex-M3, 84 MHz 3.3 V Native USB Large legacy 32-bit HID
Zero SAMD21 Cortex-M0+, 48 MHz 3.3 V Native USB SAMD HID / debugging
MKR family Mostly SAMD21 family 3.3 V Native USB Compact connected HID

What Makes an Arduino Board Good for HID?

The key requirement is:

on the processor or board architecture running the application.

A board that can expose a native USB HID endpoint can present itself directly to a computer as a:

  • keyboard;
  • mouse;
  • composite USB device;
  • custom HID device.

Leonardo: The Classic HID Arduino

Leonardo uses:

The ATmega32U4 includes native USB hardware, which is why Leonardo became one of the original Arduino HID boards.

It can appear as:

without an external USB-to-serial processor handling the application interface.

Why Leonardo Still Makes Sense

Leonardo remains useful for:

  • simple macro keyboards;
  • sim-racing button boxes;
  • control panels;
  • full-size shield projects;
  • 5 V peripherals.

Its main limitations are:

Micro: Best Classic Compact HID Board

The Arduino Micro uses the same:

and therefore has essentially the same HID capability as Leonardo.

Its major advantage is physical size:

with a breadboard-friendly layout.

Micro Is Ideal for Embedded Button Boxes

For a controller that only needs:

  • buttons;
  • rotary encoders;
  • switches;
  • USB HID;

the Micro is still difficult to beat for simplicity.

You do not need a much faster processor just to send keyboard reports.

UNO R4 Minima: Modern 5 V HID

The UNO R4 Minima uses:

Arduino explicitly supports keyboard/mouse HID on this board.

Compared with Leonardo/Micro, it gives:

  • much more Flash;
  • much more SRAM;
  • higher CPU performance;
  • 14-bit ADC capability;
  • 12-bit DAC;
  • CAN controller;
  • RTC;
  • USB-C.

UNO R4 Minima Is the Cleanest Modern Full-Size HID Upgrade

For a new full-size Arduino HID project that does not need wireless, Minima is a very strong choice.

It retains:

without adding another wireless processor.

UNO R4 WiFi: HID Plus Wireless

UNO R4 WiFi uses the same:

but adds:

This makes it attractive for a controller that needs both:

UNO R4 WiFi Has a More Complex USB Architecture

The USB data path involves the RA4M1, ESP32-S3 and onboard switching/routing.

Arduino documents that when HID is enabled the board may appear as a:

and recommends:

if the IDE loses the expected port.

Serial Can Remap on UNO R4 WiFi

Arduino also documents that when:

is included, serial handling can switch to:

This is worth remembering during debugging.

Nano R4: Compact Modern 5 V HID

The newer Nano R4 brings the same RA4M1 architecture into the Nano format:

Arduino explicitly advertises:

for Nano R4.

Nano R4 Is a Strong Micro Replacement

If you like the compact Arduino Micro concept but want:

  • much more RAM;
  • much more Flash;
  • USB-C;
  • CAN;
  • RTC;
  • DAC;
  • 14-bit ADC;

Nano R4 is a natural modern alternative.

Nano ESP32: Compact Wireless HID

Nano ESP32 uses an:

inside the u-blox NORA-W106 module.

Arduino’s HID compatibility documentation lists Nano ESP32 as supported.

It also adds:

  • Wi-Fi;
  • Bluetooth LE;
  • ESP-NOW;
  • much higher CPU performance;
  • large Flash;
  • optional/available PSRAM depending module configuration;
  • native USB capability.

Nano ESP32 Uses 3.3 V Logic

This is a major difference from:

which operate with 5 V GPIO.

Do not migrate a 5 V peripheral circuit directly to Nano ESP32 without checking voltage compatibility.

GIGA R1 WiFi: HID for Large Systems

GIGA R1 WiFi provides:

Arduino explicitly documents HID support through the:

connector.

GIGA Is Overkill for a Simple Macro Pad

A six-button keyboard emulator does not need:

But GIGA becomes useful when the HID device is also:

  • a large control panel;
  • a machine interface;
  • a data logger;
  • a camera/display system;
  • a CAN gateway;
  • a USB host;
  • a networked controller.

Due: Large Legacy 32-Bit HID Board

The Arduino Due uses:

Arduino’s current HID compatibility page includes Due among supported boards.

Due is still capable, but for a new design GIGA or UNO/Nano R4 will often provide a more modern software and hardware path.

Due Has Two USB Connections

The board distinguishes between:

  • programming USB;
  • native USB.

HID and USB OTG work is associated with the native USB-capable interface.

Zero: SAMD21 HID

Arduino Zero uses:

and supports native USB HID.

It is especially interesting if you already have:

  • SAMD libraries;
  • Zero hardware;
  • debug workflows using EDBG.

MKR Family: Compact SAMD HID

Arduino’s current HID compatibility table also lists:

as supported.

Many MKR boards use the:

and combine native USB with specialised connectivity.

MKR WiFi 1010 Example

MKR WiFi 1010 combines:

making it useful for a compact:

project.

MKR Logic Is 3.3 V

Unlike Leonardo/Micro and the R4 5 V boards, MKR boards are generally:

so older 5 V accessories may need level shifting.

What About Classic UNO R3?

The UNO R3’s main:

does not have the same native USB-device architecture as the ATmega32U4.

The board uses a separate USB interface processor.

That means normal UNO R3 sketches cannot simply use the standard Keyboard/Mouse workflow in the same way as Leonardo.

What About Mega 2560?

The Mega’s:

also lacks native USB HID in the main application MCU.

Its USB connection is provided through a separate interface chip.

For a new HID project, choose a board with native HID support instead.

What About Classic Nano?

The classic Nano’s:

uses a USB-to-serial interface and does not provide straightforward native Keyboard/Mouse HID from the main MCU.

Use:

  • Micro;
  • Nano R4;
  • Nano ESP32;

for a compact native-HID project instead.

Simple Keyboard Example

For boards supported by Arduino’s Keyboard library, the high-level structure is:

Mouse Example

Always Add a HID Safety Mechanism

A bad HID sketch can:

  • type continuously;
  • move the mouse continuously;
  • trigger shortcuts;
  • make the PC difficult to control.

Use a:

  • physical enable switch;
  • startup delay;
  • safe-mode input;
  • button that must be held before HID starts.

Best Board for a Simple Macro Pad

Arduino Micro remains one of the simplest choices.

It is:

  • small;
  • 5 V;
  • native USB;
  • well-supported;
  • easy to mount inside a controller.

Best Modern 5 V Full-Size HID Board

UNO R4 Minima is a strong fit.

It provides:

without the additional wireless processor.

Best Compact Modern 5 V HID Board

Nano R4.

It gives the RA4M1 architecture in a compact form factor while keeping 5 V GPIO.

Best Compact Wireless HID Board

Nano ESP32 is the most obvious fit if you also need:

  • Wi-Fi;
  • BLE;
  • ESP-NOW;
  • high CPU performance.

Remember that it is a 3.3 V platform.

Best Full-Size Wireless HID Board

UNO R4 WiFi fits projects that need:

  • 5 V GPIO;
  • USB HID;
  • Wi-Fi;
  • Bluetooth;
  • UNO shield layout.

Best HID Board for Huge I/O Count

GIGA R1 WiFi.

Its:

makes it suitable for very large:

  • control consoles;
  • simulator panels;
  • industrial HMIs;
  • test fixtures.

Best Board for HID Plus USB Host

GIGA also has an unusual advantage:

So a GIGA project can potentially behave as a USB HID device toward a PC while also hosting another supported USB peripheral through its USB-A port.

Best Board for Existing SAMD Projects

If you already use the SAMD ecosystem:

  • Zero;
  • MKR family;

remain perfectly valid HID choices.

Logic Voltage Matters

Board family Typical logic voltage
Leonardo / Micro 5 V
UNO R4 5 V
Nano R4 5 V
Due 3.3 V
Zero 3.3 V
MKR 3.3 V
Nano ESP32 3.3 V
GIGA R1 WiFi 3.3 V

USB Connector Matters Too

Older HID boards commonly use:

while newer Arduino boards increasingly use:

For a permanent controller, USB-C can be more convenient because cables are now easier to source and the connector is reversible.

Decision Table

Requirement Better fit
Classic simple HID Leonardo
Compact classic HID Micro
Modern full-size 5 V HID UNO R4 Minima
Modern compact 5 V HID Nano R4
HID + Wi-Fi/BLE + UNO layout UNO R4 WiFi
Compact HID + Wi-Fi/BLE Nano ESP32
Maximum GPIO / large controller GIGA R1 WiFi
HID + USB host GIGA R1 WiFi
Existing SAMD ecosystem Zero / MKR
Legacy large 32-bit board Due

Quick Reference

Final Thoughts

There is no single best Arduino HID board because keyboard and mouse emulation is usually not the demanding part of the application.

The board choice should be driven by everything around the HID interface.

For the simplest compact USB controller:

is still excellent.

For a new full-size 5 V design with USB-C and much more processing headroom:

is the cleaner modern option.

For a compact modern 5 V board:

is extremely attractive.

For wireless HID:

add connectivity.

For a very large controller with dozens of I/O and substantial application logic:

has far more resources than the classic ATmega32U4 boards.

For more detail, see our Arduino Leonardo pinout, Arduino Micro pinout, Leonardo/Micro vs UNO R4 HID comparison and Arduino Nano R4 pinout guide.

Share your love