Shopping Cart


USB Host Mini in store

USB Host mini in test fixture

USB Host mini in test fixture

The first batch of USB Host Minis is built, tested, and boards are available in store. It is designed to be employed in lightweight, battery-operated circuits, for example, used for digital camera control. It can also be used as general MAX3421E breakout board. Title picture shows the board proudly sitting in its’ own ghetto-style Sparkfun-inspired pogo bed.

The design follows Arduino Mini minimalistic approach. It is 3.3V only and mates quite nicely with Sparkfun 3.3V Arduino Pro Mini. Only essential control and GPIO signals are available – no power supplies, level converters, or even jumpers are provided due to lack of space. However, since rearranging control signals is often necessary, extra pads have been placed for this purpose. They can be seen on product picture at the top and to the left of MAX3421E IC.

The board has VBUS routed to 3.3V. Even though the voltage is lower than specified 5V, the shield has been tested to work flawlessly with numerous self-powered devices, such as digital cameras, as well as some bus-powered devices, such as Sandisk Cruzer flash drive. However, if 5V VBUS is necessary, board can be easily modified – the trace from 3.3V to VBUS can be cut and 5V applied using a pad placed on the board for this purpose. It can be arranged using single 5V supply; since Arduino Pro Mini has on-board LDO, 5V can be applied to VRAW and VBUS while shield will be getting its’ 3.3V power from Arduino board, as usual.

Bottom picture shows my favourite arrangement – Arduino Pro Mini sits on top of the shield with its’ programming connector easily accessible from either side. Also, Arduino reset switch is easily accessible this way.

Project files and schematic are available in Downloads section. If you have any questions about this design, e-mail me or leave a comment here.


USB Host Mini and Arduino Pro Mini

USB Host Mini and Arduino Pro Mini

Related posts:

  1. Arduino USB Host Mini – initial revision
  2. Arduino USB Host Mini – first prototype.
  3. Arduino USB Host Shield build log. Part 4.
  4. Arduino USB Host Shield build log. Part 2.
  5. Arduino USB Host Shield build log. Part 1.
  6. USB Host Shield for Arduino – first prototype.
  7. Arduino USB host – Pre-prototyping.
  8. Arduino USB host – First programs.
  9. Towards an FT232 Driver for the USB Host Shield- Part 0
  10. Arduino USB Host Shield build log. Part 3.

13 comments to USB Host Mini in store

  • Fernando


    I just received the package. Fast shipping and well package, very professional. Well done.

    Thanks a lot,


  • Camille

    Yes good shipping and over the world!!
    Have you done an eagle footprint of your USB Host Mini?

  • Camille

    I don’t find a way to convert a board to a footprint eagle…
    Have you done a UHS_mini.lbr?
    For pining (USB connector to the LEFT and Upon):
    can you confirm?
    I’m little disapointed to no have A4,A5 connector on the mini host…
    Any project on an USB HOST for ARDUINO NANO 5v?
    Thanks and nice work

    • The board footprint mirrors one of Sparkfun’s Arduino Pro Mini -> . If you need access to A4, A5, place Arduino on top of the shield like in the bottom picture. The layout is very tight, placing more features on the board would require smaller tolerances which would in turn raise PCB fabrication cost significantly. For the same reason, I’m not planning on 5V version of this shield – cheap quad level shifters would eat too much board space and single/double shifters are expensive. If you need 5V on VBUS, you can supply 5V to RAW, cut 3.3V from VBUS on the shield and wire RAW to VBUS.

      I don’t have library footprint for the board, sorry.

  • Camille

    thanks for queek reply (i have the mini footprint but not yours)
    For my project i need A4 A5 and GPIO so no solution without fly connection…
    You confirm the PINING?
    HAVE you test 3.3v USB on EOS? any trouble?

    • Pins look correct. In arrangement I gave in the previous comment, GPIO would be accessible from the bottom and A4,5 from the top.

      I have tested many Canon cameras, EOS and Powershots, and they were all happy with 3.3V on VBUS so 3.3V Arduino Pro looks like a good platform for remote camera control projects. It can be easily powered from single LiPo battery ( 3.7V ). The only drawback in using low voltage variant is clock frequency ( 8MHz instead of 16 )., but if you are not planning on doing image processing on Arduino, this should be fine too.

  • Mick

    Hi all, how can I read files from a usb storage or write on it? Or is this generally possible?

    • I saw usb flash drive code for my shield on arduino forum some time ago, take a look there. Keep in mind that since USB flash drive is bus-powered you will need to provide 5V to VBUS.

  • Hi Oleg-

    I recently purchased a couple of your USB Host mini shields.. (thanks the way they look great!)

    I have a couple basic/beginner question maybe you can help answer.

    I plan on using on using a Pro Micro with the usb host mini shield… (not a Pro Mini)

    * I understand I need 5V on VBUS (which I planning supplying that [5V] from the RAW pin)
    * I also understand to do so, I need to cut 3.3V from VBUS on the shield and wire [+5] RAW pin to VBUS. (which I’ll be doing from the underside/bottom)

    Hardware Questions:

    Question 1-
    The Pro-Micro and the Pro-Mini have identical pinouts except that the RESET (rst) pin on the Pro-Micro is actually GND on the Pro-Micro. Should I just hardware the RESET pin on the USB Host Mini Shield to the RESET pin on the Pro Micro? (From what I understand the Pro-Micro is most like a Leonardo in different footprint/form factor, its my first time messing with a ATmega32u4 based board) but thought I had read about the reset process being different (odd) process? I think I have seen some Teensy articles with pinouts that show it connected to Vcc?? (how do you reset it then?)

    Software Questions:

    Question 1-
    The Pro Micro vs Pro Mini pinout also differs in the fact that where the Pro Mini has pins 10(SS), 11(MOSI), 12(MISO), 13(SCK)..

    the Pro Micro has: 10(SS), 16(MOSI), 14(MISO), 15(SCK)..

    still the SPI pins, and in the same order, but with different pin#’s..

    is this going to be effected in your library? (and is it set at the sketch level? or the library level? to be updated/changed.)

    Question 2-
    I plan on using one of the boards I got from you, -with- a USB keyboard.
    I want the the USB Host Mini Shield & Pro Micro to active as a passive device allowing all keystrokes/data to pass through… acting as normal as possible (not sure if there is any delay issues to be noted/worry about?)..

    Along with triggering (pre-defined) keyboard input/data the PC upon command (thinking on maybe adding a small bluetooth HC-05 board so I can send commands from my phone to ‘trigger’ certain effects.. [toggle caps lock...insert pre-defined text/phrases...etc], any thoughts on adding the bluetooth device to the Arduino..(which I have working separately with just Arudino so far and testing parsing serial data..etc and responding accordingly)

    Is it possibly to ‘parse’ the keystrokes/data that is being typed? (and perform find/replace on it?)

    User is typing something.. (a certain pre-defined word/phrase to look for)… and when its typed, it replaces it with another pre-defined word/phrase?

    (I’m not so great using github and there seem to be lots of libraries and even more examples,.. any examples I should specifically check out to get to my end goals above?)

    Thanks for the support, and thanks for the great product!


    • To connect the Mini to the Pro Micro follow names, not numbers. Names for Mini pins can be learned here -> . RESET must be high in order for the shield to function. If you don’t have RESET button available simply tie RESET to 3.3V.

      Take a look in ‘examples’ directory under ‘hid’ for parser examples.

      • xl97

        Thank you for the reply Oleg.

        ok, I wasnt sure how the pins were defined in your library (havent gotten to the software.code portion yet..hopefully today/this weekend)..

        The ‘names’ of the pins are in the correct/same order as the Pro Mini, so I should have any problems then.

        The Pro Micro -does- have a RESET pin… but it is NOT in the same place as the Pro-Mini. (I just added a jumper to where my RESET pin is).. I was more concerned that I had read the reset function on the Leonardo/Micro is a bit different than the Uno/Pro Mini boards. (double tap reset button for quick bootloader response time? normally 8+ seconds for normal, one press?) wasnt clear if that would have any effect on the USB Host Mini Shield?

        Thanks for the tip on where to look for some passthrough and parsing examples..!!

        On a side note, I found this post at Sparkfun:

        That covers stuff for the Pro-Micro.. (was helpful)..

        As that post was form 2013, it mentions needing to edit/update the avrpins.h file? (to add a profile for the Pro-Micro.. is this still needed? or is the current library already have this update?)

        Specifically this post:

        Last question.

        If I stack my Pro-Micro on the USB Host Mini Shield.. and solder it all together.. is there any issue with when trying to upload new sketches or bootloaders to the Pro-Micro? (being connected to the USB Host Mini shield, and hence being powered up, wont provide any problems or conflict when trying to burn new bootloaders or upload new sketches to the Pro-Micro will it?)

        Here are some pics/documentation on how I had to mod my Pro-Micro (following all the directions posted here more or less).. this outlines the difference between the Pro Micro and Pro Mini RESET pin stuff.

        I removed that pin from my row of header pins:



        Here are some pics of the jumpers:



        Thanks for making a great product with lots of documentation!

Leave a Reply




You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">