[Squonk] is rather famous in the world of repurposed routers, having reverse engineered the TL-WR703N wireless router from TP-Link a few years ago. With that knowledge, he’s developed an open platform for Things on the Internet called Domino. It’s pretty much exactly what you would get by cracking open a router bought on AliBaba, only in a much more convenient package with many more pins broken out.
The Domino builds on [Squonk]’s reverse engineering efforts of the TP-Link TL-WR703N wireless router, the router that has stolen the thunder from the Linksys WRT54G for all those sweet, sweet, embedded hacks. Both the 703N and the Domino are built around the Atheros AR9331. While the router version of this chipset only breaks out a few GPIOs and other interesting pins, the Domino breaks out just about everything – GPIO, JTAG, I2S, UART, SPI, USB, and Ethernet can be found on the device.
The basic Domino can hopefully be had with a $25 pledge to the Kickstarter campaign. That’s a little less than the normal price for a WR-703N, and if you’re putting a router in a hat it might be worth your while. There are a few advanced versions that include an ATMega32u4 microcontroller, making it compatible with the Arduino Yun as well.
Low-cost wireless routers are a dime a dozen these days — but what happens if you need to flash the firmware? Normally you’d have to solder in a serial connection in order to access it, but [Luka Mustafa] had another idea — pogo-pins!
It’s actually quite easy to make a small PCB with pogo-pins and then use a 3D printed bracket or alignment jig in order to make connection. They currently only have designs for a few TP-Links (WR740 and WR741ND) on their GitHub, but more will be added soon. They’ve also included instructions on how to restore firmware on any of these devices with their handy-dandy pogo-pin PCB.
[Luka] is one of the guys behind IRNAS (the acronym is in Slovenian), a non-profit open-source company that makes lots of cool projects. They believe in open-source and sharing technology in order to empower the world.
And if you’ve royally bricked your router it could be possible to unbrick it with a Raspberry Pi!
The cost of an Ethernet shield for an Arduino isn’t horrible; generally between $17 and $32 depending on which one you buy. But have you seen the cost of a WiFi shield? Those are running North of $70! [Martin Melchior] has a solution that provides your choice of Ethernet or WiFi at a low-cost and it’ll work for most applications. He’s using a WiFi router as an Arduino Internet shield.
This is the TP-Link WR703N which has been very popular with hackers because of its combination of low price (easy to find at $25 or less) and many features: the USB is super hand and, well, it’s a WiFi router! The Arduino Pro Mini shown dead-bug style is talking to the router using its serial port. [Martin] wires a pin socket to the router, which makes the rest of assembly as easy as plugging the two together. The rest of his post deals with handling bi-directional communications with Arduino code.
If you really just need that direct Ethernet pipe consider building an ENC28J60 chip into your designs.
The members of Shackspace continue to put up impressive hacks based around the tiny TP-Link routers. This time around [Timm] has shoehorned a DALI controller inside the router case. This is a protocol we don’t remember hearing about before. The Digital Addressable Lighting Interface is a control network for commercial lighting. That way people responsible for taking care of large buildings can shut off all the lights at night (to name just one use). The new room at Shackspace has this style of controllers in its lights.
The two brown wires coming into the router make up the data bus for the DALI system. It connects to the add-on PCB which uses an Atmel AT90PWM316 microcontroller. The chip is specifically designed for DALI networks which made the rest of the project quite easy. It talks to the lights, the router talks to it, bob’s your uncle, and you’ve got network controlled lighting. Get this in a big enough building and you can play some Tetris.
In case you were wondering. Yes, this project has already been added to their TP-Link firmware generator.
[Dominic] decided to take control of his cloud storage by switching to OwnCloud. Unlike most cloud storage solutions, this isn’t a company offering you free space. It’s an open source software package which your run on your own machine. [Dom] didn’t want to leave his box running 24/7 as it would be unused the majority of the time. So he hacked this router to switch on the computer whenever he tries to access the storage.
Obviously this is a Wake-On-Lan type of situation, but the hardware he has chosen to use doesn’t include those features. Since he already had this TP-Link 703n on hand he decided to use it as a controller for the computer. His method is quite clever. The router is running a script that monitors the computer and the bandwidth it’s using. When traffic from the network stops, the router will issue a shutdown command within just a few minutes. It then assigns itself the computer’s IP address so that it can listen for incoming requests and use the relay on that breadboard to turn the box back on. Obviously running the embedded system is much more efficient than having an entire computer turned on all the time, and it’s WiFi capabilities mean no cords to run to the home network.
Seen at the center of this image is a TP-Link TL-MR3020 which is basically a TL-WR703N wireless router with a few extra LEDs. We’ve seen a lot of projects using this hardware and that’s because it’s cheap and ripe for hacking. The devices can run OpenWRT, a Linux distro for routers that greatly extends the functionality when compared to the stock firmware. Now a couple of members of Shackspace — a hackerspace in Stuttgart, Germany — have written a script that automatically generates specialized firmware for the router. That link goes to their wiki page about the script, but you may find this overview post to be an easier read.
The concept is that gathering specialized hacks into easy to flash packages does away with a lot of configuration headaches. For example, if you just want to play around with an NFC reader for a day-long event you can connect hardware like what is seen above and use the NFC-gate option of the script to flash firmware meant to drive it. So far there’s also support for streaming a USB webcam, serving as a USB network bridge, and a few others. But the whole point of this is to make it simple to roll new firmware mods into the script that make it easy to preserve the work for use at a later time.
Routers running embedded Linux offer quite a bit of power depending on what you need to do. To extend the usefulness of his TP-Link router [Roman] built a rig that adds an LCD screen to display the terminal. But it ended up being quite a bit more powerful than that.
The first portion of the project was to build a USB video card for the display. [Roman] went with an STM32 development board which resolves the USB device end with the QVGA screen driver (translated). This seems like it would be the lion’s share of the project, but he still needed a driver on the router to interface with the device. This thrust him into the world of USB-class drivers (translated). It even included building graphics support into the kernel of OpenWRT. The final piece of the puzzle was to write a frame buffer (translated) that would help regulate the output to the screen. The result works so well he is even able to play games using ScummVM. See for yourself in the clip after the break.
Continue reading “Adding an LCD screen terminal for TP-Link routers”