

Hostess Feather
Hostess is a FeatherWing that provides a USB host co-processor. The FeatherWing handles all USB Host related tasks, including enumeration and running the device drivers, and communicates with the primary processor over…
- Size
- 50.8 × 22.9 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 33
- Nets
- 69
- Pads
- 148
- Tracks, vias
- 247, 35
- Pours
- 3
- Routed
- Yes
- KiCad
- KiCad 5 (file 20171130)
- Created
- 3 May 2020
- Updated
- 20 Jun 2020
Overview
Hostess Feather is an open-source printed circuit board by wntrblm, from the wntrblm/Hostess_FeatherWing repository on GitHub. It is a 2-layer board of 50.8 × 22.9 mm with 33 parts on 69 nets, routed with 247 tracks and 35 vias.
It is built around the TPS2051CDBV. Its parts include 8 capacitors, 4 connectors, 3 resistors, 3 diodes and 2 ICs. It belongs with the microcontroller boards boards and the SAM D and SAM boards of this library.
Main components
1README
README.mdWinterbloom Hostess FeatherWing

:warning: Hostess is extremely experimental at this stage. It is not ready for prime time. I welcome folks who want to help out and poke around, but please do not expect anything here to work or make sense. Please reach out to me at me@thea.codes if you're interesting in helping out.
Hostess is a FeatherWing that provides a USB host co-processor. The FeatherWing handles all USB Host related tasks, including enumeration and running the device drivers, and communicates with the primary processor over SPI. This means the primary processor can communicate with USB devices with minimal software and CPU time.
For example, a CircuitPython-based board could communicate with a USB MIDI device with minimal code:
_spi = busio.SPI(board.SCK, MOSI=board.MOSI, MISO=board.MISO)
spi = SPIDevice(_spi, digitalio.DigitalInOut(board.D9), phase=1, polarity=0, baudrate=8000000)
hostess_midi_in = HostessMidiPortIn(spi)
while True:
midi_event = hostess_midi_in.read()
if midi_event is not None:
print(midi_event)Presently, Hostess has basic support for the following USB devices:
- MIDI
- Keyboard
And in-progress support for the following devices:
- PS4 controller
And I hope to add support for these devices eventually:
- USB Serial (CDC)
- Generic HID Gamepad
- Mouse
Hardware
Hostess's hardware is based around the Atmel SAMD21, a low-cost 32-bit ARM microcontroller with USB host capabilities. It incorporates a USB current-limiting switch to prevent devices from drawing too much current and provides the proper amount of capacitance for powering USB devices. This makes it a bit more robust compared to using an OTG adapter with existing development boards.
Hostess's hardware is the most complete part of the project. PCBs can be manufactured at OSHPark or other fabs and all of the components on the BOM are readily available at Mouser and DigiKey.
To upload the firmware and debug the device, you'll need a SOICBite and a J-Link or similar.
Firmware
Hostess's firmware is written in C using Atmel START. Presently building it requires Atmel Studio 7, though I'd like to switch to a Makefile.
Library
Communicating with Hostess is the most incomplete part of the project. Presently, there is just an example file on how to communicate with it from CircuitPython. I'd like to make this a complete library as well as create an Arduino library.
License and contributing
The code here is available under the MIT License, the hardware designs are available under CC BY-SA 4.0. I welcome contributors, please read the Code of Conduct first. :)
Parts
33| Qty | Value | Footprint | References |
|---|---|---|---|
| 5 | SolderJumper_2_Open | Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm | JP1, JP2, JP5, JP6, JP7 |
| 4 | 0.1uF | Capacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolder | C2, C3, C4, C8 |
| 3 | 1k | Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolder | R1, R2, R3 |
| 2 | 22pF | Capacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolder | C5, C6 |
| 2 | SolderJumper_2_Bridged | Jumper:SolderJumper-2_P1.3mm_Bridged_Pad1.0x1.5mm | JP3, JP4 |
| 1 | 100uF | Capacitor_SMD:C_1206_3216Metric_Pad1.42x1.75mm_HandSolder | C7 |
| 1 | 1uF | Capacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolder | C1 |
| 1 | ATSAMD21G18A-AUT | Package_QFP:TQFP-48_7x7mm_P0.5mm | U1 |
| 1 | CON_01X12_PTH_2.54MM | MF_Connectors:MF_Connectors-PTH_2.54MM_01X12 | J3 |
| 1 | CON_01X16_PTH_2.54MM | MF_Connectors:MF_Connectors-PTH_2.54MM_01X16 | J2 |
| 1 | Connected | LED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolder | D1 |
| 1 | Crystal | Crystal:Crystal_SMD_2012-2Pin_2.0x1.2mm_HandSoldering | Y1 |
| 1 | Read | LED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolder | D2 |
| 1 | SOICBite | Hostess Feather:SOIC_clipProgSmall | J4 |
| 1 | TPS2051CDBV | Package_TO_SOT_SMD:SOT-23-5_HandSoldering | U2 |
| 1 | USB_A | Connector_USB:USB_A_Stewart_SS-52100-001_Horizontal | J1 |
| 1 | Val** | Hostess Feather:decal | Ref** |
| 1 | Write | LED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolder | D3 |
The 29 most common of 33 parts.
Similar boards
- 4 layers161.6 × 100 mm

- 4 layers99.7 × 83.8 mm

Sbus to ztex
MelkhiorVintageComputing/SBusFPGA
Stuff to put a FPGA in a SBus system (SPARCstation)
64 parts54 - 2 layers55 × 35 mm

Baconbits
e-ale/BaconBitsCapeHW
Design files for the Bacon Bits MiniCape for the PocketBeagle
64 parts23 - 4 layers100 × 74 mm

Beaglelogic standalone
abhishek-kakkar/beaglelogic-standalone
BeagleLogic implemented as a turnkey and standalone logic analyzer
260 parts15 - 6 layers119.8 × 96.8 mm

Tdt4295
fredrikr79/TDT4295-datamaskinprosjekt
a noita-like made with hardware acceleration via an FPGA, controlled by an MCU and implemented physically on a PCB
158 parts3 - 4 layers128 × 79 mm

- 4 layers70 × 100 mm

- 4 layers170 × 120 mm

Cm5
YORROY123/kicad-scripted-pcb
Three KiCad 10 PCBs designed entirely as Python code with layered verification
243 parts1MIT
Questions
How big is the Hostess Feather PCB?
It measures 50.8 × 22.9 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Hostess Feather use?
33 parts, built around the TPS2051CDBV. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Hostess Feather KiCad files?
From the wntrblm/Hostess_FeatherWing repository on GitHub, at the commit this page was made from: the board is hardware/Hostess Feather.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the Hostess Feather design in my own project?
Its repository states no licence, so its author keeps all rights: ask wntrblm before reusing the design.