adafruit / Adafruit-Feather-RP2040-USB-Host-PCB

PCB files for the USB Host Feather
Other
2 stars 1 forks source link

Adafruit Feather RP2040 with USB Host PCB


Click here to purchase one from the Adafruit shop

PCB files for the Adafruit Feather RP2040 with USB Host.

Format is EagleCAD schematic and board layout

Description

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 definitely double-the-fun of our other Feather RP2040 boards, with a USB Type A port on the end for connecting USB devices to.

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, and if you're using Pico SDK that's still the recommended library to use.

Currently, support for the USB Host peripheral is only in Arduino. So check out the TinyUSB 'dual role' examples for some things you can do! For example, datalogging to a USB Key. Or reading from another device/microcontroller that has USB CDC serial interface. Or creating an HID re-mapper. Or connecting to weird devices that require firmware-updates like the Cypress EZ-USB based Intellikeys communications board.

Note that this is definitely a firmware hack: you will need to dedicate the second ARM core and both PIO peripherals to 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!

We also include a 1 Amp boost converter based on the TPS61023 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.

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. This chip has a whopping 8MB of onboard QSPI FLASH and 264K of RAM! There's even room left over for a STEMMA QT connector for plug-and-play of I2C devices!

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:

License

Adafruit invests time and resources providing this open source design, please support Adafruit and open-source hardware by purchasing products from Adafruit!

Designed by Limor Fried/Ladyada for Adafruit Industries.

Creative Commons Attribution/Share-Alike, all text above must be included in any redistribution. See license.txt for additional details.