SparkFun offers several options in the USB-Serial arena. Today we'll attempt to demystify the differences between them.
Long ago, computers had a 9- or 25-pin RS-232 serial port on the back for interfacing with external peripherals. These ports operated on a different signaling voltage from the rest of the digital systems surrounding them (typically bipolar +/-3V to +/-15V), which made them challenging to interface with and didn’t supply power to the peripheral to which they were connected. However, they were easy to communicate over from a software standpoint, and their ubiquity made them a mainstay of hardware hacking.
In the late ‘90s, USB began to overtake serial as the preferred external expansion bus for desktop and portable computers. USB has a number of advantages over serial: it supplies power to the attached peripheral, can be expanded via hubs, uses a more standard 3.3V signaling voltage and offers a much lower-profile connector. The main disadvantage from our hardware hacking point of view is that they require substantial driver development in order to interface PC software with USB hardware.
To get around this, one commonly uses a USB to serial, or USB-serial, bridge. This is a small device that emulates the software interface of a serial port via standard drivers and allows the user to treat the USB device as though it were a standard serial port. Additionally, the USB-serial bridge uses logic level (1.8V–5V) signaling voltages rather than the bipolar voltage typically associated with RS-232 ports.
SparkFun offers a number of options for USB-serial bridging. We’ll discuss the pros and cons of each one, so you can make an informed decision on which product best suits your needs.
The gold standard of USB-serial bridge products is the FTDI Basic. This was SparkFun’s first offering in the custom bridge arena, and remains one of our more popular products to this day. Available in both 5V and 3.3V versions, the FTDI Basic uses the venerable FT232RL chip, one of the first all-in-one USB-serial solutions. It can be used to program many types of Arduino boards, such as the Pro, Pro Mini, and LilyPad boards.
The Beefy 3 is an update to the FTDI Basic. In roughly the same form factor, it provides up to 500mA of current at 3.3V, solving the problem of the 3.3V version of the FTDI Basic. It also updates the chip on the board to the more modern FT231X.
Another relatively recent addition to the family, the SmartBasic, attempts to solve a common problem: how do you program an Arduino device and use the Arduino’s serial port to communicate with another device at the same time? This is most commonly encountered when trying to communicate with an RF transceiver, such as one of our Bluetooth Mate devices. While it is possible to use a software serial port for the secondary device, that leaves much to be desired — requiring substantial processing overhead, providing limited baud rate and occasionally missing or garbling characters. The SmartBasic overcomes this by providing a switch between its onboard FTDI chip and the secondary device. This switch is controlled by a single pin from the programmed part, allowing your application to switch at will between communicating with the secondary device and sending data back to your programming computer for debugging. Programming remains unaffected, removing the need to manually exchange the programming cable for the secondary device.
Up until this point, all of our boards have been based on silicon from FTDI. While FTDI make good products, it can be vexing to rely on a sole supplier. A couple of years ago, FTDI made a change to their driver software that disabled non-FTDI chips that were using the FTDI driver, as a response to rampant counterfeiting. The problem with that was that many people with counterfeit chips were innocent victims, suddenly without access to their hardware. As a response to this single-source issue, we began production of this board, which uses a chip from Cypress Semiconductor. Identical in form and function to the FT232 part, the CY7C65213 part offers a valid second source for your USB-serial bridge needs.
A true breakout board, the FT231X Breakout provides access to all the pins on the FT231X chip. It also provides the standard programming header that other boards in this post do, albeit without headers soldered on. It defaults to 5V; like the original FTDI Basic, when it’s in 3.3V mode it can’t supply enough power to the target to run it, and the target must be externally powered.
The newest addition to the family, the Serial Basic, uses a chip from WCH that is markedly less expensive than the existing solutions. In keeping with the advance of technology, it ships set up to supply and communicate over 3.3V, but it can be easily changed to work with 5V systems.
A simple breakout for the FT232 chip, this board pulls out all of the signals available on the FT232 part. It also has a switch to select between 5V and 3.3V operation. It does not, however, have the standard six-pin header interface necessary to program other boards with.
Hopefully, you now have a better view of SparkFun’s USB-serial catalog offerings and why you might select any given one over another. There is no one “best” option, with each offering pros and cons that make it more or less suitable for certain applications. I keep several of each flavor handy for various reasons, not the least of which is ease of use across different devices running at different voltages.
As always, if you have questions you can post them below or contact SparkFun Technical Support. Thanks for reading!