The TP-Link TL-WR703n is the WRT54G for the modern era – extremely hackable, cheap, and available just about everywhere. Loaded up with OpenWRT, it’s capable of bridging networks: turning Ethernet into WiFi and vice versa. This requires reconfiguring the router, and after doing this enough times, [Martin] was looking for a better solution. The SOC inside the WR703n has two exposed GPIO pins, allowing [Martin] to choose between WiFi access point or client and between bridged or NAT/DHCP.
According to the OpenWRT wiki, there are a few GPIOs available, and after connecting these pins to a DIP switch, [Martin] could access these switches through the firmware. The hard part of this build is building the script to change the settings when the system boots. This script looks at the state of the GPIOs and changes the WiFi into client or access point mode and tries not to muck about with the DHCP somewhere off in the cloud. Yes, we just used cloud in its proper context.
The only other hardware to complete this build was a simple USB to serial converter that should be shoved into the corner of everyone’s workbench. Not bad for an extremely minimal soldering and configuration required for a something that’s extremely useful.
More and more clubs are going digital. When you go out to hear a band, they’re plugging into an ADC (analog-to-digital converter) box on stage, and the digitized audio data is transmitted to the mixing console over Ethernet. This saves the venue having to run many audio cables over long distances, but it’s a lot harder to hack on. So [Michael] trained popular network analysis tools on his ProCo Momentum gear to see just what the data looks like.
[Michael]’s writeup of the process is a little sparse, but he name-drops all the components you’d need to get the job done. First, he simply looks at the raw data using Wireshark. Once he figured out how the eight channels were split up, he used the command-line version (tshark) and a standard Unix command-line tool (cut) to pull the data apart. Now he’s got a text representation for eight channels of audio data.
Using xxd to convert the data from text to binary, he then played it using sox to see what it sounded like. No dice, yet. After a bit more trial and error, he realized that the data was unsigned, big-endian integers. He tried again, and everything sounded good. Success!
While this is not a complete reverse-engineering tutorial like this one, we think that it hits the high points: using a bunch of the right tools and some good hunches to figure out an obscure protocol.
[Cnlohr] just published an ingenious but dangerous way to send Ethernet packets using an ATTiny85. The ATtiny directly drives one pair of differential TX wires of a standard Ethernet cable. Doing so will force the TX signal ground to be the same as the ATTiny’s and in some cases may put 48V on your AVR if your cable is plugged into a Power Over Ethernet switch… which may be a problem.
In the video embedded below [cnlhor] explains that the microcontroller is clocked at 20Mhz to bit-bang the Manchester encoded electrical signals. Using a neat trick his home switch will detect his platform as a 10MBit Ethernet switch which can then send hard-coded packets to his computer. As you can guess, each of this packets takes quite a bit of space inside the ATTiny’s flash memory: 2+Kbytes. All of the code used may be downloaded on the creator’s GitHub repository, though he constantly warned us that it shouldn’t be used for real life applications.
Edit: One of our readers also let us know of a similar awesome project called the IgorPlug-UDP. Make sure to check it out!
Continue reading “Bit-banging Ethernet On An ATTiny85”
Here’s a great example of thinking big while keeping it simple. [Radu Motisan‘s] putting together a global radiation monitoring network as his entry in The Hackaday Prize.
The simplicity comes in the silver box pictured above. This houses the Geiger tube which measures radiation levels. The box does three things: hangs on a wall somewhere, plugs into Ethernet and power, and reports measurements so that the data can be combined with info from all other functioning units.
After seeing the idea we wanted to know more about [Radu]. His answers to our slate of queries are found below.
Continue reading “THP Hacker Bio: radu.motisan”
There is nothing better than a project that you can put on display for all to see. [Tristan’s] most recent project, a Decorative LED Matrix Frame, containing 12×10 big square pixels that can display any color, is really cool.
Having been built around a cheap IKEA photo frame this project is very doable, at least for those of you with a 3D printer. The 3D printer is needed to create the pixel grid, which ends up looking very clean in the final frame. From an electronics perspective, the main components are a set of Adafruit Neopixel LED strips, and an Arduino Uno with an Ethernet shield. The main controller even contains a battery backup for the real time clock (RTC) when the frame is unplugged; a nice touch. Given that the frame is connected to the local network, [Tristan] designed the frame to be controlled by a simple HTML5 interface (code available on GitHub). This allows any locally connected device to control the frame.
Be sure to check out the build details, they are very well done. If you are still not convinced how cool this project is, be sure to check out a video of it in action after the break! It makes us wish that you could play Tetris on this frame. Very nice job [Tristan]!
Continue reading “Network Controlled Decorative LED Matrix Frame”
[kgsws] is working on a small project that requires some audio and a display of some sort. While this project can be easily completed with a bigish microcontroller or ARM board, he’s taking a much simpler route: the entire project is built around a cheap router module, giving this project amazing expandability for a very meager price.
The router module in question is the HLK-RM04 from Hi-Link, commonly found via the usual Chinese resellers for about $25. On board this module is a UART, Ethernet, and a WiFi adapter along with a few GPIO pins for interfacing with the outside world.
[kgsws] is using the native SPI pins on this module to control the clock and data lines for the tiny LCD, with a GPIO pin toggling the chip select. I2S audio is also implemented, decoded with an 8-bit DAC, the MCP4801.
It’s an extremely inexpensive solution for putting audio and video in a project, and since this board has Ethernet, WiFi, and a few more GPIO pins, it’s can do much more than whatever [kgsws] is planning next.
Being able to use one of your old projects to make a new one better can be quite satisfying. [Steve] from Hackshed did just this: he integrated an Arduino based webserver into a new network controllable RGB lamp.
The overall result is an amazing color changing lamp that works perfectly. All that is left to do is create a case for it, or integrate it into an existing lamp. This is a great way to use an LED strip that would have otherwise gone to waste. If you can’t find a scanner with a color wand like this one, you can always start with an RGB strip.
Continue reading “Building a Network Controllable RGB LED Lamp from an Old Scanner”