# Adafruit Feather RP2040 with USB Type A Host

## Overview

![](https://cdn-learn.adafruit.com/assets/assets/000/120/400/medium800/hacks_5723-06.jpg?1682343794)

You're probably really used to microcontroller boards with USB, but what about a dev board with two? Two is more than one, so that makes it twice as good! And the **Adafruit Feather RP2040 with USB Host** is double-the-fun of our other Feather RP2040 boards, with a USB Type A port on the end for connecting USB devices to.

![](https://cdn-learn.adafruit.com/assets/assets/000/120/401/medium800/hacks_5723-04.jpg?1682343913)

Now you might be thinking "hey waitaminute, the RP2040 _doesn't have two USB port peripherals???_ and you'd be correct! But what it does have is a nifty PIO peripheral that can be (ab)used to emulate a USB host peripheral. You get to keep the main USB port for uploading, debugging, and data communication, while at the same time sending and receiving data to just-about-any USB device. [This work is originally by sekigon on GitHub](https://github.com/sekigon-gonnoc/Pico-PIO-USB), and if you're using the Pico C/C++ SDK, that's still the recommended library to use.

![](https://cdn-learn.adafruit.com/assets/assets/000/120/402/medium800/hacks_5723-03.jpg?1682343920)

Check out the&nbsp;[TinyUSB 'dual role' examples](https://github.com/adafruit/Adafruit_TinyUSB_Arduino/tree/master/examples/DualRole) for some things you can do! For example, [datalogging to a USB Key](https://github.com/adafruit/Adafruit_TinyUSB_Arduino/tree/master/examples/DualRole/MassStorage/msc_data_logger). Or [reading from another device/microcontroller that has USB CDC serial interface](https://github.com/adafruit/Adafruit_TinyUSB_Arduino/tree/master/examples/DualRole/CDC/serial_host_bridge). Or [creating an HID re-mapper](https://github.com/adafruit/Adafruit_TinyUSB_Arduino/tree/master/examples/DualRole/HID/hid_remapper). Or [connecting to weird devices that require firmware-updates like the Cypress EZ-USB based&nbsp;Intellikeys](https://github.com/adafruit/Adafruit_IntelliKeys) communications board.

Note that this is definitely a firmware hack: you will need to dedicate the second ARM core and&nbsp;a single (full) PIO peripheral just handling the USB messages, but we find that it does work fairly well, or at least as well as most microcontroller's USB Host peripherals!

![](https://cdn-learn.adafruit.com/assets/assets/000/120/403/medium800/hacks_5723-05.jpg?1682344029)

[We also include a 1 Amp boost converter based on the TPS61023](https://www.adafruit.com/product/4654) so you can run from Lipo battery and get a nice clean 5V output for the USB devices. The booster has the enable pin tied to one of the extra GPIO on the RP2040 so power can be manually turned on and off to hard-reset whatever is connected.

![](https://cdn-learn.adafruit.com/assets/assets/000/120/404/medium800/hacks_5723-01.jpg?1682344039)

At the Feather's heart is an RP2040 chip, clocked at 133 MHz and at 3.3V logic, the same one used in the [Raspberry Pi Pico](https://www.adafruit.com/product/4864). This chip has 264K of RAM and is paired with a whopping 8MB of external QSPI FLASH! There's even room left over for a STEMMA QT connector for plug-and-play of I2C devices!

![](https://cdn-learn.adafruit.com/assets/assets/000/120/405/medium800/hacks_5723-02.jpg?1682344094)

To make it easy to use for portable projects, we added a connector for any of our 3.7V Lithium polymer batteries and built-in battery charging. You don't need a battery, it will run just fine straight from the USB Type C connector. But, if you do have a battery, you can take it on the go, then plug in the USB to recharge. The Feather will automatically switch over to USB power when it's available.

**Here're some handy specs! You get:**

- Measures 2.0" x 0.9" x 0.28" (50.8mm x 22.8mm x 7mm) without headers soldered in
- Light as a (large?) feather - 6.3 grams
- RP2040 32-bit Cortex M0+ dual core running at ~133 MHz @ 3.3V logic and power
- 264 KB RAM
- **8 MB SPI FLASH** chip for storing files and CircuitPython/MicroPython code storage.
- No EEPROM
- **Tons of GPIO! 21 x GPIO pins with following capabilities:**
  - **Four** 12-bit ADCs (one more than Pico)
  - Two I2C, Two SPI, and two UART peripherals, we label one for the 'main' interface in standard Feather locations
  - 16 x PWM outputs - for servos, LEDs, etc

- **Built-in 200mA+ lipoly charger** with charging status indicator LED
- **Pin #13 red LED** for general purpose blinking
- **RGB NeoPixel** for full-color indication.
- On-board **STEMMA QT connector** that lets you quickly connect any Qwiic, STEMMA QT or Grove I2C devices with no soldering!
- **Both Reset button and Bootloader select button for quick restarts** (no unplugging-replugging to relaunch code)
- **USB Type C connector** lets you access built-in ROM USB bootloader and serial port debugging
- **USB Type A connector** for USB host capability. D+ on GPIO 16, D- on GPIO 17
- **5V Boost converter** , up to 1 Amp peak output for USB peripheral power, with 500mA resettable fuse. Enable on GPIO 18.
- 3.3V Power/enable pin
- 4 mounting holes
- 12 MHz crystal for perfect timing.
- 3.3V regulator with 500mA peak current output

- [Next Page](https://learn.adafruit.com/adafruit-feather-rp2040-with-usb-type-a-host/pinouts.md)

## Primary Products

### Adafruit Feather RP2040 with USB Type A Host

[Adafruit Feather RP2040 with USB Type A Host](https://www.adafruit.com/product/5723)
You're probably really used to microcontroller boards with USB, but what about a dev board with two? Two is more than one, so that makes it twice as good! And the&nbsp; **Adafruit Feather RP2040 with USB Host** is **&nbsp;** definitely double-the-fun of our other Feather...

Out of Stock
[Buy Now](https://www.adafruit.com/product/5723)
[Related Guides to the Product](https://learn.adafruit.com/products/5723/guides)

## Guide Products

### STEMMA QT / Qwiic JST SH 4-pin Cable - 100mm Long

[STEMMA QT / Qwiic JST SH 4-pin Cable - 100mm Long](https://www.adafruit.com/product/4210)
This 4-wire cable is a little over 100mm / 4" long and fitted with JST-SH female 4-pin connectors on both ends. Compared with the chunkier JST-PH these are 1mm pitch instead of 2mm, but still have a nice latching feel, while being easy to insert and remove.

<a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/4210)
[Related Guides to the Product](https://learn.adafruit.com/products/4210/guides)
### Adafruit MCP9808 High Accuracy I2C Temperature Sensor Breakout

[Adafruit MCP9808 High Accuracy I2C Temperature Sensor Breakout](https://www.adafruit.com/product/5027)
The MCP9808 digital temperature sensor is one of the more accurate/precise we've ever seen, with a typical accuracy of ±0.25°C over the sensor's -40°C to +125°C range and precision of +0.0625°C. They work great with any microcontroller using standard I2C. With...

In Stock
[Buy Now](https://www.adafruit.com/product/5027)
[Related Guides to the Product](https://learn.adafruit.com/products/5027/guides)
### STEMMA QT / Qwiic JST SH 4-Pin Cable - 50mm Long

[STEMMA QT / Qwiic JST SH 4-Pin Cable - 50mm Long](https://www.adafruit.com/product/4399)
This 4-wire cable is&nbsp;50mm / 1.9" long and fitted with JST SH female 4-pin connectors on both ends. Compared with the chunkier JST PH these are 1mm pitch instead of 2mm, but still have a nice latching feel, while being easy to insert and remove.

<a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/4399)
[Related Guides to the Product](https://learn.adafruit.com/products/4399/guides)
### Official Raspberry Pi USB Optical Mouse - Black and Gray

[Official Raspberry Pi USB Optical Mouse - Black and Gray](https://www.adafruit.com/product/4113)
This is a mouse. But, hark, it's no generic mouse. It's the **Official Raspberry Pi Mouse**!  
  
It's optical for good resolution and precision, three buttons, and has a sturdy&nbsp;USB connector. The&nbsp;track wheel has a&nbsp;good spin and click action. The...

No Longer Stocked
[Buy Now](https://www.adafruit.com/product/4113)
[Related Guides to the Product](https://learn.adafruit.com/products/4113/guides)

## Related Guides

- [ItsyBitsy ESP32 wFL case](https://learn.adafruit.com/itsybitsy-esp32-wfl-case.md)
- [QT Py Snap Fit Case](https://learn.adafruit.com/qt-py-snap-fit-case.md)
- [Adafruit Sparkle Motion](https://learn.adafruit.com/adafruit-sparkle-motion.md)
- [Adafruit Metro RP2350](https://learn.adafruit.com/adafruit-metro-rp2350.md)
- [No-Code, No-Solder Monitoring For Perfect Bread](https://learn.adafruit.com/no-code-no-solder-temperature-monitoring-with-wippersnapper-offline.md)
- [Getting Started with Microsoft Azure and CircuitPython](https://learn.adafruit.com/getting-started-with-microsoft-azure-and-circuitpython.md)
- [Neocontroller Color Grading Input Box](https://learn.adafruit.com/neocontroller-color-grading-input-box.md)
- [Using Piezo Buzzers with WipperSnapper](https://learn.adafruit.com/using-piezo-buzzers-with-wippersnapper.md)
- [LED Matrix Alarm Clock](https://learn.adafruit.com/led-matrix-alarm-clock.md)
- [Adafruit HUZZAH32 - ESP32 Feather](https://learn.adafruit.com/adafruit-huzzah32-esp32-feather.md)
- [Adafruit IO IOT Hub with the Adafruit FunHouse](https://learn.adafruit.com/adafruit-io-hub-with-the-adafruit-funhouse.md)
- [CYBERDECK Bonnet and HAT for Raspberry Pi 400](https://learn.adafruit.com/cyberdeck-bonnet-and-hat.md)
- [USB MIDI Host2Host](https://learn.adafruit.com/usb-midi-host2host.md)
- [No-Solder Visualizer Capacitive Touch Controller](https://learn.adafruit.com/no-solder-visualizer-capacitive-touch-controller.md)
- [Adafruit Feather RP2040 RFM69](https://learn.adafruit.com/feather-rp2040-rfm69.md)
