Creative Commons images are CC BY-NC-SA 3.0

13.95

added to your
shopping cart

quantity
In stock 130 in stock
13.95 1+ units
12.56 10+ units
11.16 100+ units

Description: 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.

Documents:

Comments 58 comments

  • 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.

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

    • 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.

    • 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???

  • 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.)

  • 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.

    • 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.

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

  • 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.

    FYI:

    • 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.

  • 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.

  • 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.

  • As a UART dyslexia suffer, can I can match the TX-O silk to the RX pin of my uC and the RX-I silk to the TX pin of the micro and expect success with a normal serial cable and hypertermal?

  • 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!

  • Hello

    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

  • Are the PCB Board files available for this product?

  • 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…

  • 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.

  • 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.

  • How do a fast RS232 Shifter SMD unit test?

  • 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.

  • 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?

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

  • 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

    • 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.

  • 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 techsupport@sparkfun.com 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.

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

  • Hello,

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

    Thanks for your Response.

  • 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.

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

  • http://mbed.org/forum/news-announcements/topic/1050/ 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.

  • I bought this along with the usb to rs232 converter (http://www.sparkfun.com/products/10270), 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!

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

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

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

  • Ok I’m new in this…so 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/TX2…is there a problem for this SMD? Thanks everybody!!

  • 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.

  • 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.

    • 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?

    • it might be using a dc-to-dc step up regulator.
      something like this: http://www.sparkfun.com/commerce/product_info.php?products_id=8249

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

  • 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!

  • I just got around to using this guy and he works great. RX-I is, indeed, an input to the PCB and TX-O is the output. Simply wire your uC TX to RX-I on this product and your uC RX to TX-O on this product and you are good to go. Thanks for another good product from SFE.


Related Products