SparkFun Electronics will be closed in observance of memorial day on Monday, May 29th. We will resume normal business hours on Tuesday, May 30th. Any orders placed after 2pm Mountain Time on Friday, May 26th will process and ship out on Tuesday, May 30th.

Creative Commons images are CC BY 2.0

Description: The SparkFun FTDI SmartBasic is a variation on our classic FTDI Basic board which allows you to connect a second device to the hardware serial port on an Arduino Pro, Pro Mini, or other USB-less board without compromising the ability to bootload code from the Arduino IDE. The FTDI SmartBasic hardware is pretty simple, it routes the serial signals from any board which uses the standard FTDI header footprint either to the programming PC via a USB-to-serial bridge or to any other device with a FTDI header.

Normally, to use a device which requires a serial port resource on an Arduino board, you would have to use a software serial port or plug and unplug the device during programming. The SmartBasic board adds a multiplexer to the serial port pins coming from the Arduino, which allows the application code to switch the serial signals from the USB port to another device. No special code is required to enable programming, either!

The SmartBasic uses the venerable FT232RL chip used on the original FTDI Basic boards and the TS3USB221A signal multiplexer from TI to make connecting to multiple serial devices easy. On this board you will find two main sets of headers, CLIENT (basically the same as the output header on a standard FTDI Basic board) and HOST (which can enable the application code to route serial data from the hardware port to either the USB serial bridge or the device connected to the HOST header). With this compact design and the power of TIs TS3USB221A multiplexer you should find no issues switching high-speed USB signals.


  • Operating Voltage: 3.3V-5V
  • TS3USB221A Multiplexer
  • Switches High-Speed USB Signals


Recommended Products

Customer Comments

  • It would be extremely useful to have the capabilities of this board built into the Arduino boards themselves. Imagine not having to disconnect I/O to flash new firmware…

  • I don’t understand why this board costs 27$

  • Is this product a ‘usb host’ to rs232. It looks like it has a mircousb host socket. Am i correct?

    • It does not convert an RS-232 to be a USB host. Rather, it allows a USB port to perform the same functionality as an RS-232-type serial port.

  • If only this was pre-populated with female headers because I am not very good at soldering.

  • Good intention and I think it will work very nicely. But, why would someone need 900MHz bandwidth USB 2.0 data switch on this board that does 115200 as “maximal” speed? I’m considering a switch for my board but can’t understand of the choice of TS3USB221A. Care to explain? Thanks.

    • I could make up something about bandwidth tests, possible applications, etc etc, but the simple fact of the matter is that I went to Digikey, considered the functionality and package size that I wanted, and picked the lowest cost option.


      • OK thanks. The IC package is rather small. I’m looking for parts for my own board design. I can hand solder 44 pin tqfp. Never tried SSOP. Do you think I can do this by hand? You have breakout board I can grab?

        • It’s pretty appallingly small- we had some issues during pre-production getting good reflow without a bridge under the chip. It’s a leadless package, and worse, the pads don’t come up the sides like on more traditional QFN packages.

          I doubt we’ll have a breakout for it, but you never know. It’s not currently in development, I can tell you that.

          If using a part that tiny isn’t necessary, there are literally dozens of variations on analog switches to be had; the selection no doubt decreases if USB-level bandwidth is a requirement but you can probably still get somewhere.

    • The FTDI 232RL supports 3Mbps data rates, you might be using the pins on your target for something other than just serial. Using a higher bandwidth switch gives you options. Not everyone using these will be using them with Arduino boards. I have used the FTDI Basic Breakout with Propeller chips, a TinkerKit DMX Shield, rescued numerous bad flashes of routers, etc.

  • Hey, nice job with the FTDI SmartBasic :) The link however to the GitHub repo is not working!

  • Why Do not put in your boards holes for mounting screws ?? In my opinion they are very comfortable for boards that can not be embedded in the breadboards …

  • On a future revision, you should be able to add automatic switchover to the programming port without adding substantial cost to the board. Perhaps a small microcontroller that detects activity from the programming side (Reset), then switches the multiplexer and relays the reset pulse so that programming begins. Once activity from the programming side ends, it can switch back the multiplexer and again reset the Arduino so that everything fires up correctly with the external serial hardware. That would make everything a lot easier, and transparent to the main program on the Arduino.

  • Nice, but in the next revision, please put a smd switch to select the 3v3 or 5v operation voltage, no more solder!

    I always hack the FTDI basic that way. I use the SMD switch. https://www.sparkfun.com/products/597

    • Good idea but the difficulty to swap between 3.3/5V was by design. I’ve fried a few boards when I didn’t notice my bread board power supply was set to the wrong voltage so we’re hesitant to add a slide switch to this board. A solder jumper is a good way to allow for flexibility but avoids accidental switching when the board is in your bag or when you’re moving around parts on your project.

    • idk if that is a good idea. Switching the operating voltage while live may be a bit risky. I wouldn’t trust a potential kill-switch that may damage the device and possible whatever its connected to. Rather own 2 separate ones with each configured properly instead.

      • I’ve used a jumper to select between 3.3 and 5 volts before while leaving it plugged in (to the computer, not a connected device). The power light will be off while the jumper is removed, but the USB link still stays functional, and it seems to be working fine! Even if SparkFun just put a footprint for a jumper or SMD switch, that would be better than nothing, though. If they did that, they should still keep the solder jumper for semi-permanently setting the voltage of the breakout.

Customer Reviews

3 out of 5

Based on 1 ratings:

Currently viewing all customer reviews.

7 of 7 found this helpful:

Switching between 3.3 and 5v is inconvenient to say the least.

Switching between 3.3 and 5v. Solder pads are just not acceptable and severely limit the utility of the board. The sort of person who has a need for the convenience of switching out the serial connection probably works with more than one kind of processor voltage as well. I was disappointed to not find a place for jumper pins or (better), a switch.

If increasing the size of the board is a price to pay, so be it.

I’m left trying to figure out how to implement that myself. The goal is not to tear up the contact points on the board. My best thought is to glue a micro switch onto the female connector and then run leads, using wire wrap wire, back to the solder pads. This will be delicate surgery.

Related Tutorials

FTDI SmartBasic Hookup Guide

October 3, 2014

How to use an FTDI SmartBasic Board to program an Arduino and access another serial device over the hardware serial port, without unplugging anything!

SparkFun USB to serial UART Boards Hookup Guide

February 18, 2016

How to use the SparkFun FTDI based boards to program an Arduino and access another serial device over the hardware serial port, without unplugging anything!