SparkFun RS232 Shifter - SMD

The smallest and easiest to use serial conversion circuit on the market! This board has one purpose in life - to convert RS232 to TTL and vice versa (TX and RX). This will allow a microcontroller to communicate with a computer. Shifter SMD is powered from the target application and can run at any voltage! That's right - power the board at 5V and the unit will convert RS232 to 5V TTL. Power the board at 2.8V and the Shifter board will convert RS232 to 2.8V CMOS TTL. Includes two indicator LEDs for TX and RX. Runs from 300bps up to 115200bps.

Unit comes fully assembled and tested as shown. You can either solder a 4-pin header or individual wires.

SparkFun RS232 Shifter - SMD Product Help and Resources

2 of 3 found this helpful:


The overall dimensions are about 31.10mm x 27.4mm x 15.7mm. Click here for a diagram.

2 of 2 found this helpful:

Example Hookup

For an example of how to use with external power, try looking at this image.

1 of 1 found this helpful:

RS232 vs TTL Serial Communication

For more information about RS232 and TTL serial, try looking at our tutorial here => [ ].

2 of 2 found this helpful:

Lower Voltage

We tried converting RS232 voltage down to 1.8V but it was not able to work. The lowest seemed to be around 2.1V with the RS232 Shifter. We recommend using the RS232 Shifter running at 5V (or anything higher than 2.8V) for the TTL side and further convert the signal down to 1.8V with the TXB0104 [ ]. The TXB0104 can translate down to 1.2V. Make sure that you have 5V and 1.8V to set the logic levels with each respective TTL side.

Core Skill: Soldering

This skill defines how difficult the soldering is on a particular product. It might be a couple simple solder joints, or require special reflow tools.

1 Soldering

Skill Level: Noob - Some basic soldering is required, but it is limited to a just a few pins, basic through-hole soldering, and couple (if any) polarized components. A basic soldering iron is all you should need.
See all skill levels

Core Skill: Electrical Prototyping

If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.

1 Electrical Prototyping

Skill Level: Noob - You don't need to reference a datasheet, but you will need to know basic power requirements.
See all skill levels


Looking for answers to technical questions?

We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.

  • Member #24387 / about 4 years ago / 1

    Note that this RS232 converter does not work unless the TTL -level RX signal goes all the way to the VCC. Another reason to just use the MAX232 breakout board.

  • Member #1560569 / about 5 years ago / 1

    Correct RS232 levels are 0: +3V to +15V; 1: -15V to -3V. This converter does not produce those levels. For a few dollars you can buy a converter based on the MAX2323 IC which does the job properly. I don't understand why SparkFun continue to sell this inferior design.

  • Member #286247 / about 6 years ago / 1

    Any chance you will mfg this with the Male Pin version of the DB9??? :) :) :) Please????

    • Member #286247 / about 6 years ago * / 1

      Thanks Sparky for the advice... they said to buy this version of the shifter and then you'd have to solder the male pin version of the DB9 to the bottom side of the board :) That way ground will line up and TX and RX will be reversed and it will now be a DTE connection.

    • You should pick up the SMD Shifter without a connector and solder in your own.

  • Member #1008119 / about 7 years ago / 1

    This device does not work with 3.3V TTL. It relies on the VCC from the target to supply the positive rail for the RS-232 communication, which generally needs to be higher than 3.3V.

  • MotiveForce / about 15 years ago / 36

    Before purchasing this part you need to know if you have a condition called UART dyslexia. This is a neurological disorder that will render you incapable of properly wireing this device no matter how my times you triple check the the wiring. I have this disorder and I have only found three possible solutions:
    1) Find someone else without UART dyslexia to wire it up for you
    2) When you get the board, immediatly scratch out the silk screen for the TX and RX pins. You will have a better chance attaching the wires at random than attemping to determine the proper connections in your screwed up head. Test the device and if it doesn't work swap the lines. The advantage of this approach is that you didn't spend hours trying to figure out the wrong way to wire the connections.
    3) Try to figure out the proper connections and do the opposite of what you think is correct. I have had some success with this approach.

    • Member #533974 / about 10 years ago / 2

      I think I speak for everyone when I say that this is the best comment on all of SparkFun.

    • mcdonnej / about 11 years ago / 1

      I'm wondering if UART dyslexia only applies to the pins, or whether the condition also includes an inability to figure out which side is the computer, and which side is the modem? After several days of troubleshooting, it finally occurred to me that the sensor I'm using can connect directly to a computer...which means it's at RS-232 level...which means when I connect it to the TTL Netduino, the sensor is the computer, and the Netduino is the modem. No wonder it works, now!

    • Eureka! It's so wonderful to finally know that my "condition" has a name! Just shining a light on the problem makes it less scary for me. Thanks.

    • EvanT / about 15 years ago / 1

      I am not joking! That has been driving me crazy for months! Why is it so mind boggling to want to add a DB9 male port to my micro controller so that I can use it with the card reader! I think i'm suppowed to add power to pin 2 and 1???

  • Member #441594 / about 10 years ago * / 4

    WARNING This board is not stable!

    I have experienced so much problem using this board that I had to get a MAX232 to verify whether the problem is with my MCU or the level shifter.
    Turns out there's no problem with my microcontroller at all, it's this level shifter that's not doing its job.

    Here's two scope screenshot FYI.
    I/O with MAX232 Input / output using MAX232

    I/O with this level shifter Input / output using this level shifter

    The orange plot is the TX generated from an Arduino, which serves as an input to the MAX232/level shifter in this case.
    The green plot is the output from the MAX232/level shifter.
    Note that the MAX232 one has a scale of 10V while the level shifter one has 2V.
    The expected output is an inverted UART string, at RS232 level (±3~15 volts).

    As you can see clearly, the MAX232 gave a nice plot with voltage level at aroud ±9V
    This level shifter on the other hand, gave a plot that barely make sense.

    I have been stuck on this problem with my project for long enough that I can safely say that I did connect everything correctly.
    I even tried to connect the TX-O and RX-I reversely just make sure that I didn't make a mistake there.
    I also understand the fact that this board makes your MCU a DCE (modem), as opposed to a DTE (terminal).

    I can confirm that this board is NOT STABLE.
    It did "work" a couple of times before, which is the frightening part, because that made me think that there is some other problem in my system.

    Maybe some other users used this board with no problem, but I do seriously warn you that this board may get you into serious trouble.


    • The MCU I used was Arduino Uno / Mega.
    • The MAX232 I used is from TI.
    • The level shifter I used is from this page.
    • The RS-232 device I am communicating with is a motor controller, which is also a DCE(modem).

    WARNING Use of this level shifter is strongly discouraged to keep you from getting insane.

    • Member #547908 / about 10 years ago / 1

      Thanks for posting this. What device did you use shown in the screen shots? I want one ;-)

      • Member #441594 / about 10 years ago / 1

        It's just an ordinary lab oscilloscope with its internal screenshot function. More specifically, one made by Tektronix.

  • MGF / about 15 years ago / 3

    MotiveForce: _Before purchasing this part you need to know if you have a condition called UART dyslexia. This is a neurological disorder that will render you incapable of properly wireing this device no matter how my times you triple check the the wiring. _
    Here's a hint that works for me. It's fairly easy to remember that for basic serial comms, the numbers to know are 2, 3 and 5. Two and three are data, five is ground. The problem is always to keep track of which data line is which....and on the corner of whiteboards around the office, I write "PC talks on Three!"
    Once you know that, everything else falls into place.

    • RRR / about 10 years ago / 1

      Fantastic tip!!! It all falls into place. All those MAX232 pins, R1IN, R1OUT, T1IN, T1OUT, now make a lot more sense. I'm cured! Thanks a bunch!!

  • Shuman / about 15 years ago * / 3

    The I and O on the TX and RX pins refers to those pins, specifically. The RX-I pin, the one on the four-pin header, is an input, and this is connected to pin 2 (RX) on the DE-9 connector. The TX-O pin, the one on the four-pin header, is an output, and this is connected to pin 3 (TX) on the DE-9.
    This makes your microcontroller a DCE (modem), as opposed to a DTE (terminal), and as such, you should connect this to a computer (which is a DTE) using a straight-through DE-9 cable, not a null-modem cable.
    With regard to level shifting, this board does not have a MAX232 or equivalent, so it does not comply with the classical RS232 spec (0 = Space = +12V, 1 = Mark = -12V). Instead, its input will accept RS232 voltages on the input and shift them (-12V [mark] -> VCC, +12V [space] -> GND). For its output, it merely inverts the signal (VCC->GND, GND->VCC) so you must be using a newer UART that will tolerate this.
    I believe this is accurate - if it's not, feel free to correct me.
    (Edited, accidentally referred to the TX-O pin as the TX-I pin.)

  • azrobbo / about 15 years ago / 3

    Are there any plans to make a "Pro Version" that will level-shift all RS232 I/O lines? Interfacing with many industrial devices via RS-232 requires using flow control.
    The Intersil ICL3243 IC would work perfectly for this, and provide complete serial port functionality.

    • nickwest / about 15 years ago / 2

      I second that request! A unit that supports ALL the handshaking lines would be fantastic! At the moment I'm trying to do this with some MAX232s and suffering from the afore-mentioned UART-dyslexia... Having a module to take care of this automagically would be great.

      • nickwest / about 15 years ago / 1

        Perhaps a Maxim MAX235 would also be suitable? It has the advantage of not requiring external capacitors which should allow smaller, more flexible installations...

  • Member #380819 / about 12 years ago / 2

    Didn't work with the IOIO board initially. It could receive from the PC but would not transmit. I finally did manage to get it to transmit by putting a 70K ohm resistor in series with pin 4. On the IOIO, tx connects to the rx of the shifter board.

    • Member #354052 / about 11 years ago / 1

      Could you please explain, what is the pin 4? On IOIO or on this board?

      • jgeating / about 10 years ago / 1

        Necropost, sorry, but I'm having a similar problem. Anyone solve it, with more detail?

  • terpaccount / about 15 years ago * / 2


  • KillerSpud / about 15 years ago / 2

    I just got mine up and running (only it's RX pin for now) and it works great with hyper terminal. I soldered on downward facing header pins and it slots right into my breadboard. THANKS!

  • Member #687427 / about 9 years ago / 1

    Will this allow RS232 control of a WAV Trigger from a PC or 3rd party serial control system? My plan is to use this in a home automation system which generally interfaces via a serial RS232 DB9 connection.

  • Member #615315 / about 10 years ago / 1

    I want to know what software is used to make the schematic so that I can make my own.

    • Kamiquasi / about 10 years ago / 1

      SparkFun primarily uses CadSoft's Eagle CAD for its schematic and board design:

      If you are looking for open source alternatives, try:

  • Member #534795 / about 10 years ago / 1

    Which transistor (U2) is used on the RS232 Shifter SMD v16 version? I bought around 10 of them. Now I have one broken, I would like to replace U2 but I do not know the part number. Thanks

  • ARMinator / about 10 years ago / 1

    What is the part number for U2 (dual transistor chip)?

  • Member #227718 / about 10 years ago / 1


    I have a maybe stupid question ... We have a product with a 2,8V UART + VCC going out from a jack, and we need to connect to an RS232 device : so, this shifter looks perfect, but I don't know where to find a plastic enclosure for it .. I would like to build a cable with one jack on one side, and this shifter on the other side ...

    Many thanks Thierry

  • RyanT / about 11 years ago / 1

    Are the PCB Board files available for this product?

  • Member #311109 / about 11 years ago / 1

    Ok, so what's the maximum supported voltage? It says that "[it] can run at any voltage", but unless it's made of some sort of otherworldly compounds there should be SOME limit...

  • Member #440613 / about 11 years ago / 1

    I want to use the board to connect with TTL,the TTL can sends datas to this board,but can't recives datas from the board,is anybody know why?

    • If you are only getting signals going one way, double check all of your connections between the board and cables. Also, you'll want to check the board with a multimeter. You may have a cold joint somewhere which is degrading signal flow.

  • Advancer / about 11 years ago / 1

    Any chance you can post instruction on how to use this with Hyper Terminal?

    • In Hyper Terminal (or any other terminal emulator), you just need to connect to the COM port this appears under on your computer. Check out this tutorial for more detailed information.

  • Member #397651 / about 12 years ago / 1

    How do a fast RS232 Shifter SMD unit test?

  • Member #397651 / about 12 years ago / 1

    Hello, i buy a RS232 Shifter SMD unit. Beguining with labwiev software, thoughtlessly, i short the transmit and receive lines together with a metal wire to do a test (wiout results). It is possible that the unit is damaged? Thanks.

  • Member #382867 / about 12 years ago / 1

    I have purchased this part. I have gnd and tx connected to the circuit board and the rs 232 connected to the pc. When powered, I am not getting any information through to the pc. Am I missing something?

  • rogeri / about 12 years ago / 1

    Works together with a National Instruments sbRIO-9606, perhaps other embedded NI boards as well.

  • ggonzalez / about 12 years ago / 1

    I have been successfully using this converter for a while on 3.3V and 5V boards, but today I struggled to get it working on a 1.8V board, the RX led is too weak and I don't see anything on the other side.

    Have anyone tried this on a low-voltage board? I just one to discard this before looking for errors anywhere else

    • Member #40615 / about 12 years ago * / 1

      You're not going to run a converter like this on 1.8 volts. The green LED doesn't light because they have a forward voltage of 2.2 volts. The 2.8 they say works is probably the lower limit.

  • Member #326348 / about 12 years ago / 1

    OK... I just recieved this item and in testing a loopback I cannot get anything to show in the terminal. The tx led stays lit constantly and if I wiggle or connect and disconnect the the loopback wire the rx led will flicker (as I assume it should)and I get randem characters in the terminal. Any help?

    Specs: I'm powering it on the same power supply that the meachine is running in connected to the +5v and ground on the molex connector. I've ensured the baud rate etc... have been set. What am I missing? Help???

    • It sounds like you may either have a loose cable connection or damaged board or something. Send us an email at and we can help you out. These are generally pretty reliable little boards, so if the loopback test isn't working for you, there could be a problem.

  • Member #212104 / about 12 years ago / 1

    Is there a good easy way to change the female db9 header to male. I am looking for a small profile adapter.

    • MikeGrusin / about 12 years ago * / 1

      You'd have to swap pins 2 and 3 which would involve a bit of trace-cutting. We do carry a kit version that may be more hackable. There are also low-profile gender changers available that might help...

  • jtallent / about 13 years ago / 1


    Has anyone successfully used this product (RS232 Shifter SMD) with the LS-Y201 TTL Camera ?

    Thanks for your Response.

  • Skye / about 13 years ago / 1

    I just spent several days trying to figure out a problem with a data communication project. It was traced back to this level converter. As mentioned/quoted by Paradoxial this type of "voltage stealing" converter may not work particularly well in all situations. Using a "real" level converter (using something like a Maxim 232 chip) might be a safer bet.
    I love Sparkfun products, but this is one I can't fully recommend. It worked OK on an Arduino but not on other projects.

    • nickwest / about 13 years ago / 1

      I'm having similar issues, glad I'm not the only one.

  • Member #3533 / about 13 years ago / 1

    Does anyone know the part number for the component U1, the Dual Opto-isolator shown on the schematic?

  • Member #226770 / about 13 years ago * / 1 shows the connections needed for this module to hookup an RS232 serial port on mbed. Note that TX goes to RX and RX goes to TX on the micro. The choice of the power supply (VCC pin) is critical if you have both 3.3V and 5V power on a system. It needs the same supply voltage as the logic levels on the micro's serial port.
    You might also need a mini DB9 null modem adapter and a M/M gender changer (or cable) - It depends on the external device. You can't just switch the TX and RX pins on the module to make a null modem connection since the circuits work only in one direction.
    Devices with a serial cable that plugs into the back of a PC typically need both the null modem and gender changer. A single M/M DB9 null modem mini adapter (i.e., is both a null modem and gender changer) could be used to minimize all of the connector clutter, if you can find one.

  • Member #204631 / about 13 years ago / 1

    I bought this along with the usb to rs232 converter (, thinking I would hook them up in series to do some microprocessor debugging. Transmitting from the computer to the board works great, but the computer doesn't receive what the board is transmitting. I can see the RX and TX LEDS on the SMD light up, but nothing is showing up on the computer terminal; shorting TX and RX does not work either. Is there a reason this will not work? Thanks!

  • Rob1232 / about 13 years ago / 1

    Is there any reason why this would not work at a baud rate lower than 300 bps?

    • adamj537 / about 12 years ago / 1

      Late reply, but it's worth noting that most PC COM port drivers do not support baud rates lower than 300 bps.

    • Member #40615 / about 12 years ago / 1

      Without a powered charge-pump, it'd have trouble keeping up the right negative voltages for really long marks.

  • omarsito12 / about 14 years ago / 1

    Ok I'm new in I have a couple of questions...1)Do I need the SMD's vcc port to the pic's 3v?. 2)I'm using the pic's RX2/ there a problem for this SMD? Thanks everybody!!

  • Timber Wolf / about 14 years ago / 1

    I finaly got arround to tinkering with this. I connected it to my openlog with a 5v regulator and heat sink to power the vcc on both and so far the results are amazing. It was a bit of a challange to build a box but I have replaced a serial printer on a phone system with the openlog a 2GB SD card this RS232 Shifter SMD, project case. I reccomend a 5v power regulator and heat sink even if you have a 5v power supply because a quick test of any power supply on a multimeter will show you they all lie and with the high side of the openlog at 5v there's just no point risking it all for a 2 dollar part.

  • BillPiep / about 15 years ago / 1

    jleslie48: Ok help!!!! EE 101 help needed. how in blazes does this thing convert the TTL tx signal to 12V??? If VCC is 5V, I can't see how it creates the 12V from the 5V VCC from the schematic.
    It doesn't really convert VCC to 12v. It simply pulls the output (pin 2 on the DB9) up to the level of VCC for "mark". To get the lower negative voltage for "space" it uses a clever little trick of stealing and storing the negative voltage from the connected host coming in on pin 3. This is done with the diode D1 and the capacitor C1 (note how the capacitor is installed with the + side connected to ground). This negative level is then just allowed to feed back out pin 2 via R1 to the connected device when not pulled up by Q1 for a "mark". If the connected devices does not supply a negative "space" signal then it probably doesn't require a negative "space" just a voltage level around 0v or below for "space" and above 3v (even as low as 1.5v will work, from my experience) for "mark" as per EIA-232 specification rather than the old RS232 spec of +/- 12v.
    BTW. I could be totally wrong on this too.

  • Ok help!!!! EE 101 help needed. how in blazes does this thing convert the TTL tx signal to 12V??? If VCC is 5V, I can't see how it creates the 12V from the 5V VCC from the schematic.

    • ColinB / about 14 years ago / 1

      It uses the transmitted signal input from the PC on the DE-9 connector ("RS-In" signal on the schematic) to charge a 10 uF capacitor (C1) through a diode (D1). The way it is connected, the capacitor will be charged produce a negative voltage with respect to ground. This voltage is made visible on the DE-9 transmit line ("RS-Out") through a weak (10 K ohm) pull up resistor. The PNP transistor in U1 (the transistor with its base connected to the TTL side RX-I line) overwhelms the weak pull up when RX-I is low, pulling the RS-Out line up to Vcc (+5 V, +3.3 V, or whatever the TTL side device provides).<br />
      <br />
      Therefore the "RS-232" outputs will range from, for a mark (1) bit, approximately 0.7 V above the negative voltage provided by the PC's output signal (0.7 V drop due to the diode forward voltage drop); and for a space (0) bit, the signal will be Vcc (5 V, 3.3 V, or whatever).<br />
      <br />
      I wonder if this will work reliably for 2.8 V target since RS-232 specifies that -3 V to +3 V is an invalid signal level.<br />
      <br />
      It's a clever little hack that uses so few components... kind of cool but perhaps not as reliable as a "proper" RS-232 level shifter?

    • plop / about 15 years ago / 1

      it might be using a dc-to-dc step up regulator.
      something like this:

  • madsci1016 / about 15 years ago / 1

    This is only a EIA-232 shifter is it not?

  • signal7 / about 15 years ago / 1

    I initially started with this device and later transitioned to the BlueSmirf Gold break-out. The great thing is that the pinout on this is mostly pin for pin compatible with the pins on the BlueSmirf. Actually, the BlueSmirf has an extra 2 pins on it with the extra pins being at each end, but that hasn't stopped me from using both interchangeably.
    It probably wasn't intentional, but I think it's great that I can choose a wired or wireless connection just by changing out one part!

  • terpaccount / about 15 years ago * / 1


Customer Reviews

4.4 out of 5

Based on 16 ratings:

Currently viewing all customer reviews.

1 of 1 found this helpful:


Works well. Too well, my co-workers are now using.

1 of 1 found this helpful:


Nothing I can find indicates what U2 is and who makes it??

2 of 2 found this helpful:

Works perfectly

Works great if you need your arduino to control a serial device.

1 of 1 found this helpful:


Handy device, does what needed. Won't take much space from ''toolbox''.

3 of 3 found this helpful:

Know what you're doing, or else purchase a MAX232 based converter

I was not able to get this converter to work in my application. Judging from the comments, many others were not able to either. I would suggest using a MAX232 based chip instead. This seems to shift the RS-232 15V logic down to 5V TTL, but I do not believe it shifts 5V TTL up to 15V logic. The MAX232 based boards will do this.

If you know more than me, go ahead and give it a shot. Otherwise, the MAX232 based boards work right out of the box. I believe the RS-232 shield available from SparkFun is such board, but there are cheaper, smaller converters available elsewhere.

2 of 2 found this helpful:

works just as described

Hooked this up direct to the UART and 3.3v pins on Raspberry Pi GPIO and it just worked fine. Depending on the serial cable/device you're connecting it to, you might have to swap over the TX and RX connections, per other comments. It doesn't harm anything if you get them the wrong way round - just doesn't work.

No Fuss just works

Using device with older RS232 terminal server to interface to serial console of Raspberrry Pi devices. Works as described with Vcc of 3.3 supplied by by Pi. Small receive led is helpful for gross level trouble shooting i.e. null/tx/rx swapping and such.

Works great, but no RTS/CTS lines

This works great for my pen-plotter project (, using a Teensy 2.0 to provide a USB serial interface, and this shifter for the RS-232 connection.

The only downside is: it doesn't break out the hardware flow control connections for RTS/CTS, so I needed to implement Xon/Xoff flow control in software.

0 of 1 found this helpful:

I bought this on the recommendation of a vendor for a work-related project. The price make it very tempting. Didn't realize that it has no built-in boost converter. It steals -12 V from the incoming data line and passes the Vcc of the UART side through as +12 V. This in my application was only 3.3 V and did not work. I almost missed a deadline and put my job at risk. At the last minute I used a lab power supply to boost the voltage to 3.5 V and made it work. This sort of shortcut should be disclosed in the advertising. The missing connector was at least obvious from the picture and not a surprise. The rest of it functioned as claimed.

Works great - High quality

The product worked as described. Same day shipment. Comes in the nifty Sparkfun red box! Sparkfun sets the bar for quality! I ended up using the MAX3232 breakout board because I like the charge-pump technique. Both worked great!

Small and simple

I use this to provide a Serial-to-WiFi adapter for my oldies. I appreciate the choice of 3 or 5 volts.

Awesome - it "just works".

I have a 2.7V system that has Tx/Rx exposed. Plugging this little guy got me talking between my Linux box and device in no time!

NOT a Max 232

Just a transistor based voltage reducer. Not as good as a MAX 232 based product for two way communication. Recommend internet search engine for better device.

It's the Bruce Frikin' Lee of RS232 Transcievers

If Old-Fat-Jiu-Jitsu-Wielding Elvis were an RS232 transceiver, this would be his embodiment. Transmitting from microprocessor to RS232 is as easy as a hip throw forward crane kick. Receiving and subduing those threatening +/-15v incoming RS232 dragons is accomplished via a reverse cross strangle. LED indicators are as welcoming as a rising sun, not seen on other boards. -The Current Source

Decent little shifter

Works as advertised. What I did not consider when ordering was how to get this thing fixed to my baseplate with no screw holes... Doh!

Great product!

This works well with micro-controllers operating from batteries. You can find similar circuits dating back to the 80's, but why bother? Here it is in a small form factor and very convenient to use. This is the best implementation of it I've seen anywhere.