faster than its predecessor. USB 2.0 is
the most widely used, even though a
USB 3.0 specification was released in
2008. The 3.0 specification has a data
rate of up to ten times that of the 2.0
specification. A nice caveat about the
USB connections is that they are backwards compatible — machinery that
works with USB 2.0 will also work
with USB 1.0 devices, and so forth.
the USB connection over the serial
connection is that USB can transmit
power in addition to data streams.
The last pin on the USB connector
was a +5V pin, and there was no
corresponding pin on the serial
connector. What could possibly
USB connectors only have four
pins, and the connectors themselves
have a rather whimsical range of
shapes and sizes. The classic
rectangular connector is Type A, and
this compact unit is the beast of the
USB connectors. The connector on
the serial-to-USB converter that we
ordered — and one often seen
connecting to peripherals like printers
— is Type B. There are also Mini-A,
Mini-B, Micro-AB, and Micro-B
connectors, with the most prevalent
of those seeming to be the Mini-B
connector. This one can be found on
digital camera cables and cell phone
The answer is pleasantly simple.
All we had to do is connect the +5V
pin from the serial-to-USB interface to
a 5V source. That 5V source could
come from another place on the robot
PCB, and the Viper in particular
offered plenty of places to tie in.
Every set of solder pads available for
one of the Viper modules included a
5V pad, and putting a jumper cable
between the power pad and the
corresponding pin on the adapter was
certainly a manageable task.
In short, USB is way better than
RS-232. It offers better data rates,
backwards compatibility, and a much
greater range of applications (in other
words, everything that Professor
Hodgkiss mentioned). One of the only
remaining stumbling blocks would be
if the interface was
difficult to implement, but we felt that
this wouldn’t be the case.
In addition to the physical aspect
of wiring up the adapter, we had to
make sure we had the correct drivers.
The drivers are available for free on
the FTDI website, and the available
selection covers tons of different
operating systems. The drivers are for
what FTDI terms their Virtual Com
Port (VCP), so named because it
effectively acts as a serial com port for
all of those newfangled laptops that
don’t have any. All we needed now
was for our part to arrive in the mail.
Implementing the adapter
appeared to be an easy task – we simply had to match the pins on the
adapter to the necessary pins on the
DE- 9. But what were those pins that
needed to be matched? The serial
cable has nine pins and the USB has
only four — which ones would we use?
But alas, it would seem that the
persistence of the serial connection is
surely some part of a vast conspiracy.
The connector we received from the
Mark III store was not the Acroname
part we ordered. Instead, we were
given the Devantech I2C-to-USB
connection (Figure 10). The modules
may have looked similar — both had a
prominent Type B USB connection
mounted on a tiny PCB (Figure 11).
Both also used an FT232R chip from
FTDI, and several tiny capacitors.
The easy choice was ground.
Our first clue to the case of
mistaken identity was the fact that the
The ground on the serial would
correspond to the ground on the USB.
But what else? The Data + and
12. USB PINOUTS.
Data – pins on the USB correspond to Pin
received data and transmitted data;
also fairly intuitive. The last pin,
however, was not so simple.
One of the distinct advantages of
Universal Serial Bust
10. A USB-TO-I2C INTERFACE
part we actually received had an extra
chip that we were fairly sure was
absent from the module from
Acroname. Our second clue was the
fact that the Devantech module had
a different connection on the side
opposite the Type B USB. From the
picture on the Mark III Robot Store
website, the Acroname module
appears to only have solder pads. The
Devantech module, on the other
hand, has five long angled pins.
The final clue was printed on the
circuit board itself. The board is
emblazoned with the words USB and
I2C, and it rang a bell with something
that Evan had heard in his Sensor
Networks class. We looked back to
the website and our fears were
confirmed — we had been sent the
I2C is indeed a type of serial
communication; an Inter IC bus, to be
exact. The problem is that we were
looking for a UART connection –
Universal Asynchronous Receiver/
Transmitter. The main difference
between I2C communication and
UART is that I2C is synchronous; the
master and slave devices operate
using a common clock. UART, as the
name would suggest, is asynchronous
11. A TYPE B USB CONNECTOR.