Saturday 11 May 2013

Add a pin-to-pin compatible FTDI console on your TP-Link TL-WR703N

TP-Link routers are dirt-cheap and they run openwrt, a linux distribution especially made for routers. The TL-WR703N has only 2 MB of ROM, if you start hacking it and do not pay close attention to the memory usage, you will brick it.

While many mods propose to add a the serial connection to the micro USB connector, you then need to use an adapted micro USB cable (or risk to brick your router) and I did not want that.

This guide is quite simple and is intended for Arduino enthusiasts who already use Arduino Pro Mini and own the FTDI adapter to program it.

Since the FTDI adapter is basically a USB to serial adapter and the TL-WR703N has a built-in serial port waiting to be used, this guide shows how to add a FTDI connector to the TP-Link router.
Warning: I'm not responsible four you breaking your own stuff. The description here is how I did it and not a 100% guarantee of success.

Parts needed

  • A TP-Link TL-WR703N (of course)
  • An FTDI adapter (costs about 6 EUR on eBay)
  • A 6-pin female pin header
    The FTDI aldready has a female header! So why female? I find it sturdier and use it with a male header as adapter. A male pin header would be a perfecly viable option.
  • Some wire
6pin Female header
FTDI adapter

Tools needed

  • A soldering iron with a thin tip (contacts are very small) + solder
  • A hot glue gun: very handy to secure and insulate delicate connections & glue the connector
  • A small flat screw driver: to open the plastic case
  • A drill press (ideally) or alternatively a rotary tool or even a small metal file: make the notch for the connector (pin header)

Step 1: Open the case

The image here shows you where to insert your screw driver to open the case. I find this quite difficult and was worried to make dents in the plastic. It eventually went fine.

Step 2: solder the wires to the router's PCB

Solder two wires to the pads labelled TP_IN and TP_OUT. You should be careful, these pads are delicate and easy to rip off (i.e. by pulling on the wire you just soldered). See the picture below.

Solder two additional wires to the GND and 5v connections of the micro USB connector. GND and 5v are the left and rightmost pins sticking out of the micro USB connector (see picture below).

Step 3: solder the wires to your pin header

Below, you will find how to connect the cables you just soldered to the FTDI adapter:

Now with the wires connected to the female pin header:

Important note: if you want to connect your TP-Link directly to an Arduino Mini Pro (e.g. to send commands directly to the console), you should swap the TP_OUT and TP_IN wires on the pin header.

Using the male pin header, you should now test it to make sure it works (careful with the polarity, i.e. do not put it the wrong way around):

Step 4: Secure your connections and close it

Once tested, put some hot glue to secure your connections:

Using a drill press (ideally), alternatively a rotary tool or even a small metal file: make the notch for the connector (pin header) and hot-glue it. 

Note: if you want it to be easy to reopen do not hot-glue the pin header directly to the router's lid.