Miniature USB to serial PCB

Description

A small FT232 USB to serial adapter built to fit directly in the USB port

Features

  • Integrated USB header
  • Standard FTDI cable pinout
  • Single sided PCB (easy to manufacture)
  • Rx,Tx led’s
  • Miniature size

Development

Lately I have been developing several projects that use a FTDI chip to provide USB interface to a computer. Instead of using a Sony Ericson dss-20 sync station all the time, I figured it was time to develop a dedicated solution that fits directly in the USB port. I have a bunch of FT232BL chips that I bought extremely cheap in Huaqiangbei last time I was there, so I based the layout around that chip. On the serial side I used the same pin-out as the de-facto standard FTDI cable (GND, CTS, VCC, TXD, RXD, RTS). It was a little challenging to manually route the traces (using this method), but I think it came out quite well. You can see the whole process here in 10 times the speed:


watch in full resolution

I could have avoided the single bridge wire by routing the 3,3v (pin6) signal under the 0603 1k5 resistor, but it would have increased the risk of short-circuit. After a bit of tuning I managed to fit everything within 35×18.5mm, which is smaller than most USB memories. I manufactured the PCB by milling it using the HTML CAM to generate the g-code, but toner transfer or UV mask should work just as great. I hope that this design can come to use for others as well!

Assembly

This is not a project for the very beginner since all components are SMD (surface mount) and the LQFT 32 package has a 0.8mm pitch. However if you have access to decent equipment they shouldn’t cause any problem (solder station with a narrow tip, tweezers and a microscope). Start with the 0603 components, then the chip and switch and solder the crystal, wire bridge and pin headers last.

Bill of Materials (BOM)

1x single sided USB2serial board 2mm thick (etch, mill or order)
1x FT232BL
1x 6×1 0.1” pin header (preferably angled)
2x 0603 0.1uF capacitor
1x 1206 10uF capacitor
1x 0603 33nF capacitor
1x 0603 green rx/tx led
1x 0603 220R resistor
1x 0603 470R resistor
1x 0603 1k5 resistor
1x SMD 6 MHz crystal
2x 0603 27pF decoupling caps

Specification

35.0 x 18.5 x 2.0 [mm]

Version tracker

0.1             First version
0.2             Added tx/rx led’s
0.3             FTDI cable compatible pin-out
0.4             Optimized size
0.5             Tweaked the USB header (current version)

Documents

Rhino project file (2D lines)
2D Vector export (svg)
2D Bitmap export (png @ 1200 dpi)

See also

Licensing
Creative Commons License

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.

Related posts:

30 thoughts on “Miniature USB to serial PCB

  1. Pingback: Build your own USB to Serial dongle - Hack a Day

  2. Nice! Just found a spare infrared USB adaptor here which uses one of these chips.

    One thing which might be useful is to add optoisolation, for motor drivers etc.

  3. That would definitely be useful in some applications. I thought of rs232 level conversion and other versions, but figured it would be best to keep it as simple as possible. It is always an option to customize the unit by connecting for example opto isolation directly to the ttl port. Since the board is single sided you can easily place the other board on the backside, or even make a double sided custom board…

  4. Pingback: Build your own USB to Serial dongle « Hackaday « Cool Internet Projects

  5. Pingback: Build your own USB to Serial dongle | CisforComputers

  6. Pingback: Build your own USB to Serial dongle | Free Plans Online

  7. where can I buy Miniature USB to serial PCB
    Can I err: cannot connect a usb modem to the arduino with the

  8. Many thanks for the reply, it will be good, with an improved single, double sided Arduino compatible

  9. ftdi chip ft 232 should use the driver in order to work, how do I install them, or are there codes for Arduino uno, or can they be installed on sd card in usbmodem

    • The need for drivers depend on your operating system. If your OS dosnt support the chip by default (you should see a new serial port) – download appropriate drivers here:
      http://www.ftdichip.com/FTDrivers.htm

      The arduino dosn’t need any special driver (just select right board and serial port). Don’t forget to program the arduino bootloader if you have a blank AVR…

  10. Thanks for the reply, but I think we are talking about different options, it is not between the pc os system and ft232 it works fine, what I would like is for linkage of huawei e180 usbmodem “gsm phone” to komnikation from the arduino uno through ft232

    • Ok, now I understand what you are trying to do. Unfortunately the FTDI does not have USB host support. Since the GSM USB modem act as a slave you will need a microcontroller that have USB host support. As far as I know, this is not so common among the baseline 8bit controllers and it is also quite tricky unless you are very familiar with USB enumeration etc.

      I would suggest looking at a serial GSM modem, like this one:
      http://www.sparkfun.com/products/9533

      The other option is to use a bit more powerful device with USB host support and Linux. There are several routers with USB ports. Personally I really like the tplink wr703 router (~15$) that has a serial port, for the Arduino and a USB port for the GSM modem. Just make sure that that GSM modem is supported by OpenWrt…

  11. Pingback: TPG Daily Links: Revenge Of The Clicks | True PC Gaming

  12. Pingback: Nanino – the DIY friendly Arduino | Johan von Konow

  13. Thanks for the reply, it gets too technical
    I think the idea of being able to connect Huawei Mobile USB to Arduino pin 2, 3, 4
    as rx, tx, igt and take 5 volts from the Arduino

    Example extension on your pcb to Nanino – the DIY friendly Arduino

    Sorry it was Danish

  14. Hello

    Thanks for answers

    Yes, I would like to be able to connect usb modem directly to your Nanino, because I have a lot of USB Huawai GSM, GSM using AT commands, like a serial GSM modem that ships with code from Arduino, so it is to split usb singnal up to serial RS232.

    • Then again – the answer is no (unless you can get direct access to the rx and tx lines in the modem).
      You need a USB host to enumerate the modem and arduino doesn’t support this :(

  15. Pingback: Миниатюрный USB2serial

  16. Nice work!
    Are you able to give each adapter a unique identity (UID), like a MAC address?
    Means if I plug it into a PC, the device driver should be able to read this UID and to make a decision what to do next, f.e. load the UID corresponding software to operate the RS232-connected machine.

    Thanks!

  17. Pingback: Nanino – the DIY friendly Arduino -Use Arduino for Projects

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>