Unbricking A Router With A Raspi

About a decade ago, [Mansour] learned of the Linksys WRT54G, a wireless router that’s been shoved into just about every project under the sun. After learning of this device’s power, he decided a firmware upgrade was in order. Unfortunately, he accidentally bricked this router and left it sitting on a shelf for a few years.

Idle devices are the devil’s playthings, and when [Mansour] discovered a Samsung hard drive with a an SDRAM that was compatible with the WRT54G, he decided he would have a go at repairing this ancient router. There was only one problem: the most popular utility for programming the router through the JTAG header required a PC parallel port.

No problem, then, as [Mansour] had a Raspberry Pi on hand. The parallel port utility bit-banged the new firmware over to the router, something the GPIO port on the Pi could do in spades. By adding Pi support to the debricking utility, [Mansour] had a functional WRT54G with just a little bit of patience and a few wires connecting the GPIO and JTAG header.

Arduino Astronomic Clock Automates Lights

ardAst

[Paulo’s] garden lights are probably a bit more accurately automated than anyone else’s on the block, because they use latitude and longitude clock to decide when to flip the switch. [Ed Note from the far future: this page no longer exists, but you can still read it on the Wayback Machine. The TimeLord library has also been superceded, so you’ll have some porting to do.]

Most commercial options (and hobbiest creations) rely on mechanical on/off timers that click on an off every day at the same time, or they use a photosensitive element to decide it’s dark enough. Neither is very accurate. One misplaced leaf obscuring your light-dependent resistor can turn things on unnecessarily, and considering the actual time of sunset fluctuates over the year, mechanical switches require constant adjustment.

[Paulo’s] solution addresses all of these problems by instead relying on an algorithm to calculate both sunrise and sunset times, explained here, combined with swiftek’s Timelord library for the Arduino. The build features 4 7-segment displays that cycle through indicating the current time, time of sunset and of sunrise. Inside is a RTC (real time clock) with battery backup for timekeeping along with an Omron 5V relay to drive the garden lamps themselves. This particular relay comes with a switch that can force the lights on, just in case.

Check out [Paulo’s] project blog for the full write-up, links to code and more details, then take a look at some other home automation projects, like the SMS-based heater controller or occupancy-controlled room lighting.

Recreate A PCB With A Scanner And Inkscape

turnsig

[John] has managed to replace a broken turn signal PCB by scanning it and converting to Gerber format. [John] purchased a Triumph Spitfire with toggle switch wired up for turn signal control. The “official” replacement part worked better than the toggle switch, but it didn’t cancel after turning. He was able to get the original switch, only to find it had a hole completely burned through the phenolic board. This isn’t completely surprising, as Triumph used a Lucas Industries electrical system. As anyone who has owned a car with a Lucas “prince of darkness” electrical system will tell you, Lucas systems were not known for quality. A quick Google search brings up plenty of pages attesting to this.

Phenolic resin/paper was a common early PCB material.  The FR-4 fiberglass boards most commonly used today could be considered descendants of FR-1 and FR-2 phenolic. (The FR in this case stands for Fiber Reinforced). The standardization worked in [John’s] favor, as his burned board was 31 mils thick, which is still a standard PCB thickness. Re-creating an odd sized board such as this isn’t a hard job. It would however mean spending quite a bit of time with a ruler and a caliper. Rather than spend all that time measuring and re-drawing, [John] scanned his PCB on a flatbed scanner. He used graph paper as a background to verify the image wasn’t being stretched or skewed.

[John] brought his scan into inkscape, and traced both the outline and copper areas. The outline and copper had to be exported as two separate files, so he added corner marks outside the board outline as fiducials.  He then used pstoedit to convert inkscape’s eps output files to gEDA pcb format. The two files were rejoined in gEDA. From there [John] exported a Gerber, and ran it on his home PCB milling machine.  The results look good. [John] plans to make another revision of the board from a professional PCB house with vias to hold the copper to the substrate.

Collective Pitch Thrust Vectoring On A RC Plane

The RC plane shown above is hovering in that position. And that’s about the least impressive thing it can do. This is the power of Collective Pitch Thrust Vectoring… on a plane.

So what exactly is Collective Pitch Thrust Vectoring anyway? Put simply, it’s like strapping a helicopter rotor to the front of a plane. We think the basic mechanism behind this is called a Swashplate (as found on a helicopter rotor), which allows for thrust vectoring, meaning the propeller blades can actually change their pitch cyclically, while still spinning at high speeds! This is what allows helicopters to do crazy tricks like barrel rolls.

A normal RC plane can only increase or decrease thrust with the speed of the engine. But with this, the thrust can be changed cyclically as the blades spin allowing for thrust vectoring (advanced steering). Couple that with some huge control surfaces and wing stabilizers and that means some seriously crazy aerodynamic feats.

Watch the video after the break, it’s amazing.

Continue reading “Collective Pitch Thrust Vectoring On A RC Plane”

Cloning The Trinket For A USB Volume Knob

A while back, [Rupert] wrote a blog post on using V-USB with the very small, 8-pin ATtiny85. Since then, the space of dev boards for 8-pin micros with USB has exploded, the most recent being Adafruit’s Trinket. [Rupert] liked what he saw with the Trinket bootloader and decided to clone the circuit into a useful package. Thus was born an awesome looking USB volume knob complete with a heavy aluminum knob, rotary encoder, and RGB LED strip.

[Rupert] got his V-USB/ATtiny85/rotary encoder circuit working, and at the expense of a ‘mute’ control, also added an awesome looking RGB LED ring powered by Adafruit’s Neopixels. The PCB [Rupert] fabbed is pretty well suited for being manufactured one-sided. If you’ve ever wanted an awesome volume knob for your computer, all the files are available form [Rupert]’s blog.

Just as an aside, [Rupert] has been working on getting the Trinket bootloader working on the ATtiny84, a very similar microcontroller to the ’85, but with eight analog pins. It’s a neat device that I’ve made a small V-USB breakout board for, but like [Rupert], I’m stuck on porting the bootloader. If anyone has the Trinket/Gemma firmware running on an ATtiny84, send that in. We’ll put it up.

Long-distance High Frequency APRS Tracking Using The FreeTrak63

FT63_857_etrex

If you dabble in the ham radio hobby we’re sure you’ve heard of GPS position monitoring or tracking using APRS packet data commonly transmitting over the VHF ham band and FM modulated. One of the issues you’ll face using this common method is range limitations of VHF. [Mike Berg] a.k.a [N0QBH ] tipped us off to his latest project to greatly increase the range of a standalone APRS system utilizing the HF bands on single-sideband (SSB).

There are some unique challenges transmitting packet data using SSB over HF bands.  High Frequency APRS has been around for decades utilizing FSK AX.25 packet transmissions at 300 baud, but it was quite susceptible to noise and propagation aberrations. More recently PSK-31 at the slower 31 baud speed helped alleviate many of these issues. [Mike] utilized the somewhat updated APRS with PSK-63 and the “APRS Messenger” program to overcome these challenges. [Mike’s] hardware solution consists of a PIC 16F690 micro which is coded to receive data from a GPS receiver, convert it into PSK-63 and then transmit on 30 meters over an attached HF radio. A second receiving station or stations at great distances can pick up and decode the transmission using the “APRS Messenger” program connected to the receiving radio over the computer’s soundcard. The program can then forward the tracking information, if good, to tracking websites like FindU.com and APRS.FI.

You can build your own FreeTrak63 by downloading [Mike’s] parts list, assembly code, HEX file, manual and schematic. The PCB is available on OSH Park if you don’t want to make your own or wire point-to-point. Let’s not forget to mention how hackable this hardware is, being really just an eight bit DAC, micro, serial in and radio out. One could reprogram this hardware to do other modulation schemes like AX.25 packet or MFSK16, the sky’s the limit. If short-distance on VHF with existing Internet linked receiver networks using an Arduino compatible platform is more to your taste, then checkout the Trackuino open source APRS Tracker.

Commodore 64 Power Glove Is So Bad

The Nintendo Power Glove was terrible. Really, really terrible. Thanks to modern components, though, it’s possible to recreate the Power Glove experience in a way that doesn’t suck so much. That’s what [Leif] did with his motion sensing glove for the Commodore 64.

Instead of rolling his own IMU and putting it in a glove, [Leif] is using SonicWear SoMo, a glove originally designed to generate MIDI data for performance pieces. Inside this glove is a 9 DOF gyro/accelerometer/magnetometer, uC, battery, and XBee that can be easily reprogrammed to do something a little more (or less) useful than simply sending MIDI notes and commands.

[Leif] reprogrammed the XBees to use I/O line passing instead of sending serial data, and connected the recieving XBee to the C64 joystick port through a very simple circuit with a hex inverter.

All the code to turn a SonicWear glove into a C64 controller is available on the Github, and there’s a neat demo video of [Leif] demoing his glove at the VCF Midwest late last month.