TL-WR703N Serial Port




About: An avid robotics enthusiast who is fuelled by insatiable curiosity!

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!

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1:

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.

Step 2:

Remove the blade from your hobby knife and put in the drill bit. Drill two holes, 0.1” apart, beside two existing holes by the LED. I found that manually drilling was quite easy with a sharp drill bit. The existing holes were for a through-hole LED, but we’ll repurpose them. Remove the solder from the existing holes and confirm that the 0.1” header fits.

Step 3:

Put the blade back into the hobby knife and carefully cut a couple of pads from the PCB’s ground pad as pictured. Again, a sharp blade really helps here. I suggest that you scratch away enough silkscreen prior to cutting the pads.

Using the knife cut the traces from the LED to the existing plated through holes.

Slowly and carefully enlarge one of the holes you just drilled by twirling the tip of the blade in it. Leave the one that designated for ground alone! You’ll need to enlarge the opening especially on the top layer of the PCB. The router’s PCB is multi-layered, so you want to make sure the newly made through hole pads don’t short to ground. Check this by dry-fitting the header and checking whether there is any resistance between the pads and ground with your DMM. Solder the header and confirm that the only pin that is shorted to ground is the one that is meant to be!

Step 4:

Grind a small slot in the PCB for the wires to go into. This is to prevent the wires being accidently guillotined.

Tin the serial port pads which you are going to bring out. Strip the wire-wrap wire and tin it as well. Now carefully solder the wires to the pads. After doing this fasten the wire to the PCB with hot melt glue as I have done.

Step 5:

Solder the other ends of the wires to the header pin ends. Also solder the power wire as shown (red one in diagram).

You’re almost done! Do one last resistance check with the DMM. Now power-up the device and with a bit of luck you’ll get a serial based console from the router. I’ll tell you how to re-purpose that for other things in a subsequent tutorial.

Happy hacking!


Be the First to Share


    • CNC Contest

      CNC Contest
    • Make it Move

      Make it Move
    • Teacher Contest

      Teacher Contest

    11 Discussions


    Reply 5 years ago on Introduction

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


    Reply 5 years ago on Introduction

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


    Reply 5 years ago on Introduction

    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?


    Reply 5 years ago on Introduction

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


    6 years ago on Step 5

    Solder to the 3 copper stripes below TP-LINK and you safe tons of cable ;)

    1 reply

    6 years ago on Introduction

    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?

    1 reply

    Reply 6 years ago on Introduction

    Yea, I have been meaning to get around to writing an instructable on this. Stay tuned!


    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.