Memoirs of the TP-Link TL-MR3020
Many friends and colleagues are well aware of my fondness for the TP-Link TL-MR3020. Ever since the US had stronger intentions for a ban1 on TP-Link routers, I felt it appropriate to reflect upon some of its history and significance.
Released back in 2011, the TL-MR3020 was originally designed fulfil a fairly simple role as a portable 3G/4G wireless router. However, its compatibility with alternative firmwares, such as the open-source OpenWRT, cemented its popularity as an extremely versatile platform for geeks, hobbyists and makers alike. Along with similar devices such as the TL-WR702N and TL-WR703N, never had it been easier and more affordable to have a full Linux environment in the palm of your hand!
The TL-MR3020 was released in 2011 - the year prior to the first Raspberry Pi that captivated the world’s attention.
Unfortunately, while the Raspberry Pi 1 Model B would be launched in Q1 of 2012, global demand significantly delayed its availability in certain geographical regions, including 🇿🇦 South Africa. Regardless, if one really needed a compact/embedded Linux environment then flashing an OpenWRT image onto any supported device was easibly doable.
The TL-MR3020’s OpenWRT support and smaller-than-most-hands portability made it an extremely attractive target for various firmwares/projects, including PirateBox and LibraryBox. But the increased love also meant increased competition with other buyers.

Me whenever I entered a tech store that distributed TP-Link
Across the lifetime of the TL-MR3020 product, models were categorised into two major versions (v1.x and v3.x), but I’ve only owned instances of the former with my most common model being v1.9.
Nonetheless, although fairly minor, there were some differences between the two primary TL-MR3020 hardware revisions:
| Version(s) | v1.x | v3.x |
|---|---|---|
| SoC/Wireless | Atheros AR9331 | MediaTek MT7628NN |
| CPU (both MIPS 24Kc) | 400MHz | 575MHz |
| RAM | 32MB | 64MB |
| Flash/Storage | 4MB | 8MB |
The v3.x model’s faster MHz was a nicety but it was actually the RAM and flash bump that contributed to the model’s continued OpenWRT support, even up until (current stable) v24.10.0.
On the other hand, the v1.x model was a victim of OpenWRT’s fairly necessary 4/32 culling2.
Following the OpenWRT community’s work on usb_gadget drivers, it was most interesting that the hardware similarities between the TL-WR703N and the TL-MR3020 boards were so close that a near-identical hardware modification (originally performed on TL-WR703N) would switch the TL-MR3020’s USB controller into device mode as well.
After replicating these modifications, my horde of TL-MR3020 devices become a common foundation for much of my early usb_gadget endeavours.
On a separate note, back in 2019, I acknowledged that my addiction for USB “device mode”-enabled TL-MR3020 devices had become problematic when I found myself on alone on business travel, in a foreign hotel, performing the hardware modification with the only precision tool at my disposal, a butter knife…

My removal of R3 from a TL-MR3020 with buttery precision
… but I’m happy to confirm that all butter knife surgeries were successful and no TL-MR3020 were harmed 😄
Over the years, I’ve seen many gadgets launched with obsolete hardware while others were essentially glorified e-waste. With that in mind, I honestly believe that the TL-MR3020 had a really good run for its time considering all the checkboxes that it advertently ticked.
However, as hardware innovated and economies of scale shifted, the TL-MR3020 naturally lost ground to more performant and cheaper alternatives. Overlooking microprocessors entirely, the modern microcontroller market is no longer confined to 16-20MHz AVRs but rather now also includes commonly available options with CPU frequencies ranging even upto 600MHz.