USB Type A Female Breakout Hookup Guide a learn.sparkfun.com tutorial

Available online at: http://sfe.io/t187

Contents

Introduction

If you have a microcontroller that can act as a USB host, then you will need a way to plug in USB cables and devices. The USB Type A Female Breakout accepts a Type A USB plug on one end and breaks out the 4 USB lines to a standard 0.100 inch header.

SparkFun USB Type A Female Breakout

SparkFun USB Type A Female Breakout

BOB-12700
$4.95
6

NOTE: This tutorial uses the mbed LPC1768, as it has a built-in USB host. However, the breakout board can be used for any platform that has a USB host.

Covered In This Tutorial

In this tutorial, we will use the mbed LPB1768 and the USB Type A Female Breakout to create a simple circuit that accepts a USB keyboard and prints pressed keys to a serial console.

Required Materials

Suggested Reading

Board Overview

The board is a simple breakout for USB lines.

USB Type A Female Breakout Board

USB Type A Female Breakout front

GND should be connected to the ground of the host circuit.

D+ and D- are the differential pair lines for USB. They should be connected to D+ and D-, respectively, of the host circuit. Additionally, a 15kΩ pull-down resistor is needed on each D+ and D-.

VCC needs to be connected to a 5V supply (which could come from the host circuit, if available).

Board Dimensions

The board is 1.00" x 0.80" with four mounting holes by each corner.

Board Dimensions

Hookup Example

Assembly

To connect the USB breakout board, solder the break away headers to the 4 header holes on the board.

Header pins soldered onto USB Type A Female Breakout

PTH headers on the USB breakout board

Connecting the USB Breakout Board

alt text

Basic hookup using an mbed LPC1768 and a breadboard

For the LPC1768, make the following connections with jumper wires:

(USB Breakout → LPC1768)

Additionally, add 2 15kΩ pull-down resistors on the D+ and D- lines. Attach one resistor from D+ to GND, and attach another from D- to GND.

Completed mbed LPC1768 and USB breakout circuit

USB Type A Female Breakout added to the mbed LPC1768

Example Code

We will use the mbed online editor and compiler for this example. First, navigate to mbed.org, and login or create a profile.

mbed login

Once logged in, go to the Handbook Homepage, which contains all of the official mbed libraries.

mbed Handbook

Scroll down to find the USB Host Keyboard library under "Communication Interfaces."

mbed USB Host Keyboard library

Click the "Import Program" button to load the library and example program into the online compiler.

mbed import program

Make sure you have "Program" selected from "Import As:", as we want to use the example program (select "Library" if you plan to write your own program using the library).

importing example mbed program

In the "Program Workspace," select the "USBHostKeyboard_HelloWorld" folder and click "Compile" at the top. This will automatically compile the program and download a binary (.bin file) to your computer.

mbed compile USB keyboard example

Plug in the mbed microcontroller to your computer using a USB cable. The mbed should enumerate as a USB mass storage device. If you are using Windows, it will appear as if you plugged in a thumb drive.

Find where you downloaded the compiled .bin file and copy it to the root directory of your mbed device.

mbed copying compiled program

Press the reset button on the mbed system. This will reboot the mbed and load the .bin file to be immediately executed.

In addition to enumerating as a mass storage device, the mbed also has a built-in COM port. If you are on Windows, open up the Device Manager and locate the mbed Serial Port's COM number.

mbed COM port

Start the serial program of your choice (I will use PuTTY for this example) and select the COM port correseponding to the mbed device. Use 9600 baud, and click "Open."

Configure PuTTY for the mbed

Once you establish a Serial connection to the mbed, you will be presented with a blank console.

blank Serial console

Plug in a USB keyboard to the USB Type A Female Breakout Board.

mbed LPC 1768 and USB keyboard

The Serial console should show the keyboard being enumerated. You can type, and keystrokes will appear in the console. If you unplug the keyboard, you should see a "disconnected" message.

IMPORTANT: Only letters and numbers are supported in this example program. Additionally, the program cannot discern multiple keystrokes (for example, if you hold '1', press '2', let go of '2', and let go of '1', you'll see "111" printed).

Testing the mbed USB keyboard program

Resources and Going Further

The USB Type A Female Breakout is a great way to add USB devices to your microcontroller, assuming your microcontroller can support a USB host. For some ideas, see mbed's Handbook section on USB host libraries:

Resources


learn.sparkfun.com | CC BY-SA 3.0 | SparkFun Electronics | Niwot, Colorado