SparkFun USB-C Host Shield

The SparkFun USB-C Host Shield contains all of the digital logic and analog circuitry necessary to implement a USB peripheral/host controller with your Arduino. This means you could use your Arduino to interface with and control any USB 2.0 compatible device - thumb drives, digital cameras, BT dongles, and much more!

This version updates the USB Type-A connector to a USB-C connector and provides users with the option to power the shield from the 5V or VIN pins. The USB-C female connector also supplies 5V as any normal USB (downward facing) port would.

A four-wire serial interface is used to communicate with the host controller chip, so the shield connects the Arduino's hardware SPI pins (D10-13) to the MAX3421E. All SPI signals are sent through a hex converter to step them down to 3.3V.

MAX3421E USB Controller

  • Provides USB Host and Peripheral Functionality
    • USB 2.0 Specification: 12Mbps (full-speed)
  • Operating Voltage: 3.0 - 3.6V
  • Supply Current:
    • 45mA (max)
    • 8.7mA (idle)
    • 30 - 60µA (suspend)
  • SPI Clock Speed: 0 - 26MHz
  • Operating Temperature: -40 - +85°C

Arduino Shield

  • Arduino R3 Footprint
    • SPI Pins:
      • SCK: D13
      • POCI: D12
      • PICO: D11
      • CS: D10
    • INT: D9
    • GPX: D8
    • RST: D7
  • Reset Button (for Arduino Board)
  • Switches:
    • On/Off
    • Power Input: VIN or 5V
  • USB-C Female Connector
    • Configured for Host Applications
    • Supply Current:
      • Limited by Power Input
      • CC1 and CC2 (56kΩ pull-ups)

SparkFun USB-C Host Shield Product Help and Resources

Core Skill: Soldering

This skill defines how difficult the soldering is on a particular product. It might be a couple simple solder joints, or require special reflow tools.

2 Soldering

Skill Level: Rookie - The number of pins increases, and you will have to determine polarity of components and some of the components might be a bit trickier or close together. You might need solder wick or flux.
See all skill levels

Core Skill: Programming

If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.

3 Programming

Skill Level: Competent - The toolchain for programming is a bit more complex and will examples may not be explicitly provided for you. You will be required to have a fundamental knowledge of programming and be required to provide your own code. You may need to modify existing libraries or code to work with your specific hardware. Sensor and hardware interfaces will be SPI or I2C.
See all skill levels

Core Skill: Electrical Prototyping

If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.

2 Electrical Prototyping

Skill Level: Rookie - You may be required to know a bit more about the component, such as orientation, or how to hook it up, in addition to power requirements. You will need to understand polarized components.
See all skill levels


Looking for answers to technical questions?

We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.

Customer Reviews

No reviews yet.