Microduino-Module USBHOST

From Microduino Wiki
Jump to: navigation, search
Language: English  • 中文

Microduino USBHOST mainly offers the USB host function for devices, supporting USB host controller and USB peripherals, such as mobile phones with OTG function, keyboards, joystick, and camera.


  • Support MicroUSB interface;
  • Small, cheap, stackable and open;
  • Open hardware circuit design and Arduino compatible programming development environment;
  • Uniform Microduino interface standard and rich peripheral modules, capable of having a fast and flexible connection and extension with other modules and sensors in accord with Microduino interface standard;
  • Easy to be integrated to pegboards with a 2.45-pitch female header connector interface.


  • Electrical specifications
    • 3.3V or 5V power;
    • 5V/500mA power protocol of the USB host;
    • Adopt TC74HC4050 level conversion chip and ensure high anti-interference and stable output;
    • D+, D- and VBCOMP with ESD protection function;
    • The internal D+ pull-up resistor (peripherals mode) and D+/D- pull-down resistor (host mode) controlled by firmware/hardware;
  • Communication
    • Compatible with MAX3420 MAX3420E USB peripheral device control software with SPI interface;
    • Comply with USB 2.0 specification (12 Mbps peripherals at full speed and 12Mbps/1.5 Mbps host at full speed/low speed);
    • Smart USB SIE;
    • Automatic processing of USB flow control and double buffer;
    • Process low level USB signaling.
  • Device Support:
    • HID devices, such as keyboards, mouse, joystick and so on;
    • Game controller: Sony PS3, Nintendo Wii and XBOX360;
    • USB-to-serial converter: FTDI, PL-2303, ACM and mobile phones with OTG function and GPS receiver;
    • Android mobile with ADK function;
    • Digital Camera: Canon EOS's Powershot, Nikon digital SLR cameras and P&S as well as general PTP;
    • Mass storage devices, such as U disk, card reader and the external hard drive;
    • Bluetooth dongle.
  • Pin description:
Chip Pin Microduino Pin Function
RES RST reset chip
SCLK D13 SPI serial clock input
SS D5 SPI slave select input
MISO D12 SPI serial data output
MOSI D11 SPI serial data input
INT D4 Interrupt output


Eagle PCB local download Main components:


An ordinary Bluetooth adapter. You can easily add different Bluetooth services, such as a PS3 or Wii controller or SPP which is supported through Bluetooth virtual serial port. A number of different examples can be found in the examples directory.

    • HID library:

Connect USB peripherals. Such as a mouse, handle etc.

    • BTHID library:

Connect HID devices via Bluetooth, currently supports HID mouse and keyboard.

    • SPP library:

Allow you send data to your Microduino from PM/mobile phone via Bluetooth.

    • PS4 Library:

Allow you to use the Sony PS4 controller via Bluetooth and USB.

    • PS3 Library:

Use DUALSHOCK3, navigation or motion controller via Bluetooth and USB.

    • Xbox Libraries:
    • Xbox Libraries:

The library uses USB as the Xbox 360 controller.


Light a LED via a mobile using the ADK example library:

Prepare work

  • Prepared hardware: Microduino FT232R, Microduino Core, Microduino USBHOST, OTG cable, make sure your Android device supports and turn on the USB debug mode, USB cable;
  • Prepared software: USB_Host_Shield_2.0 library, Arduino IDE(1.0 release and upper);
  • Uncompress the zip folder and rename to "USB_Host_Shield" because Arduino IDE doesn't support any special characters, then copy to libraries folder of Arduino IDE;
  • Connect the Microduino FT232R and PC using USB cable to download program and serial monitor;
  • Connect a LED to I/O port D6 of Microduino-Core.


  • Open the example program "ArduinoBlinkLED" from ADK folder of examples;
  • Change LED_BUILTIN to Microduino pin in "#define LED LED_BUILTIN", such as "#define LED 6". But can't be D13, because D13 is used as SCK;
  • After compiled, select the board "Microduino Core (Atmega328P@16M,5V)", download directly;
  • Connect the mobile phone and Microduino USBHOST by OTG cable and USB cable;
  • Open the serial monitor, will display "Arduino Blink LED Started";
  • The phone will automatically pop up the application "ArduinoBlinkLED", download and install it;
  • After installed the application, will prompt to open the USB connection fittings, and click OK to enter the program interface;
  • Successful connection will show "connected", and can control the LED light on and off via the button.





Microduino-USBHOST Front


Microduino-USBHOST Back