Picture of TL-WR703N serial port
The TL-WR703N is a handy bit of electronics for a hacker to have. It is an extremely compact wireless router that ticks all the boxes:

* Supported by OpenWrt.
* Cheap and easy to buy ($20 USD from eBay).
* Has a USB host.
* With a little work, it has a serial port.
* Small form factor.

What follows is a simple hack to add a serial port to your WR703N device. In essence, you just need to solder a couple of wires to some pads onto its PCB. I’ve decided to elaborate and show you how to do this properly.

For this hack you’ll need the following:

* A couple of strands of insulated wire-wrap wire and a heavier duty wire.
* A hobby knife.
* A sharp 0.8mm drill bit.
* A jewellery file.
* A hot glue gun.
* A 4 way 0.1” male header.
* A fine tipped soldering iron, solder, and a solder wick.
* A multi-meter (DMM).
* Reasonable soldering skills and good eyes!

This instructable is aimed for electronics and robotics enthusiasts. Exposing the serial port is only useful if you plan to custom firmware (i.e., OpenWrt on it) and do some hacking. This mod will void your router's warrant and I take no responsibility if something goes wrong!

Step 1:

Picture of
Open up the device’s case. It is cunningly snap-locked together and can be tricky to prise apart. The latches are in the corners as shown below. I used a couple of small flat-head screw drivers for this task.
ezar1 year ago


How can I know what is port address of newly added serial port???

robotang (author)  ezar1 year ago

For me, after putting OpenWRT on it, it comes under '/dev/ttyATH0'

ezar robotang1 year ago

You are using it as a console port. Can I disable console on this port?

robotang (author)  ezar1 year ago

ezar, after I've put OpenWrt on it I disable the console output on this port. To do this, edit the file "/etc/inittab" and comment out the line "ttyATH0::askfirst: ...". Also edit the file "/etc/sysctl.conf" and add the line "kernel.sysrq = 0". Note that the initial boot messages still come out of this port. I guess one could make a custom image and direct this output to a different (/dev/null ?) to avoid this problem?

robotang (author)  robotang1 year ago

I should mention that before doing the above, make sure you are able to get an console. For me I use SSH (install "dropbear", fix IP and set passwd).

ianmcmill2 years ago
Solder to the 3 copper stripes below TP-LINK and you safe tons of cable ;)
GND of corz
paulareno2 years ago
Hi, I'm glad i found your instructable! Would it be possiblefor you to write up one showing how to control devices over wifi through the TL-WR703N with an arduino like you have said?
robotang (author)  paulareno2 years ago
Yea, I have been meaning to get around to writing an instructable on this. Stay tuned!
what are you using this serial port for?
robotang (author)  amandaghassaei2 years ago
Most of my robotics-related projects usually involve connecting low level electronics (microcontrollers controlling motors and reading encoders, rangefinders etc) with a computer. This is relatively straight forward using a serial port. Because I put OpenWrt on the router, I can write software to run on the router and talk to things like an Arduino. I have also used the serial port to get the router to log data from a GPS module, and also streamed the serial back (via the ser2net serial to network daemon) to a host computer so I can control my robots economically via wifi.