Micro ATmega32U4-MU

Discontinued RobotDyn SKU: RD-MICRO-32U4
Micro ATmega32U4-MU

Overview

The RobotDyn Micro is an Arduino Micro clone based on the ATmega32U4 — the same chip used in Arduino Leonardo and the official Arduino Micro. Its standout feature is native USB support: the ATmega32U4 has built-in USB hardware, allowing the board to appear to a host computer as a keyboard, mouse, game controller, or MIDI device with no external chip.

This makes it the go-to choice for DIY USB peripherals — custom keyboards, hardware game controllers, MIDI controllers, automated input devices.

Why Native USB Matters

On Uno/Nano (ATmega328P + CH340G), the USB connection is purely a virtual serial port. You can’t make the Arduino act as a USB keyboard.

On the Micro (ATmega32U4), the MCU itself enumerates as whatever USB device class you want:

#include <Keyboard.h>

void setup() {
  Keyboard.begin();
  delay(1000);
  Keyboard.print("Hello, computer!");
  Keyboard.press(KEY_RETURN);
  Keyboard.releaseAll();
  Keyboard.end();
}

When this sketch runs and you press the reset button, the Micro literally types “Hello, computer!” into whatever app has focus.

Pinout

20 digital I/O pins, 7 with PWM (D3, D5, D6, D9, D10, D11, D13), 12 analog inputs:

I²C on D2 (SDA) and D3 (SCL) — not on A4/A5 like Uno.

Programming

  1. Connect via Micro-USB (no driver needed on macOS/Linux; Windows uses generic CDC)
  2. In Arduino IDE: Tools → Board → Arduino Micro (or Leonardo if Micro option missing)
  3. Select port and upload

When uploading, the Micro briefly enumerates as a different USB device (the bootloader) — the IDE handles the port switching automatically. If upload fails, double-tap the reset button to force bootloader mode.

Common Uses

⚠️ Reset Considerations

Because the USB enumeration happens during boot, the Micro can occasionally enter a “dead” state where the bootloader doesn’t start (often after uploading sketches that crash early). Recovery:

  1. Press and hold reset
  2. Click “Upload” in Arduino IDE
  3. Release reset when the IDE starts compiling — this gives the bootloader time to enumerate before the (broken) sketch tries to run

Documentation