I grew up in and around boats making wiring looms and control panels, and have a collection of gauges & dials that would normally be found connected to small marine diesel engines.
Today I work as a designer building interfaces to networking equipment. As such, I like re-using the old analogue gauges to display network information in a more human readable analogue form. Tying my past to the present to some degree.
I used a 3" rev counter, simple clean design, that came of one of the boats my dad owned when I was a kid and wired it in to a wireless router I had lying around at work.
The rev counter is a rough approximation of the traffic utilisation between my home network and the internet.
Step 1: Overview of How It Works
There are a number of ways to find out how much bandwidth is being used. This being the first pass at a digital to analogue conversion of the utilisation, I opted for simply using the uplink LED as an indication of the amount of traffic passing between my home and the internet.
This has some serious limitations. I do not know whether the hardware (broadcom chipset) or firmware (dd-wrt) contains the sampling algorythm that drives the LED, probably the chipset. Here's the first issue, an LED must be on for around 30mS for the human eye to register it properly. Networking packets are much much shorter than this. So the router must do a little math and translate real network traffic in to slower LED blinking. So there is a sampling loss, the LED is a rough approximation of the actual traffic.
Then, I must boost the 3.3V which drives the LED up to 14V required for the rev counter (most automotive dials and meters like this are linear 0-12 or 14V) For this I used a basic op-amp circuit. Without some swanky Digital to Analogue conversion I again loose a lot of resolution.
In the end, this is not a very good representation of the traffic bandwidth being used, but the further I got in to the project, the more it became an interesting object of art and less a solution to the original problem.
Note: I've been working with the guys from http://dd-wrt.com/dd-wrtv2/index.php I highly recommend you upgrade your current software to this feature rich open source firmware.
Step 2: Front Panel
I desoldered the LEDs from the router's pcb and routed them out to the front with a ribbon cable and header connector.
Designed an overlay in Omnigraffle on a MAC, printed on to overhead projector film with a laserjet, there's an inkjet equivalent. Chiseled out a channel for the overlay so it had a nice inset look.
I fell in love with a power switch from a piece of development hardware at work, unfortunately it was a momentary switch so I spent quite a lot of time retro fitting a N/O microswitch with a blue LED glued to the tip.
The edge of the large front panel section was routered.
Step 3: Op-amp Circuit
There are two stages between the LED on the main router board and the rev counter.
1) Isolate the op-amp circuit from the router board. This is done with a 'buffer' in the form of a 74HC04. An invertor that has gates which will not draw any current from the router and will output a signal based on the inverse of its input. This guy comes with 6 gates, so if you want to get the same output signal as the input signal you tie to gates back to back.
Missing Link) I had an intermediatary stage that was designed to smooth the square wave signal driving the LED to a nice analogue rising/falling charge to the rev counter, however the mechanics of the counter provided the smooth necessary. So, in some of the diagrams you'll see and RC Low pass filter.
2)The Op-amp. I choose a very old chip, the LM 741, which worked but came with a lot of limitations that drastically affected the design. Note how the rev counter never goes to zero, and the range seems to hover around the center of the dial. Limitations of the op-amp. Leason learned and over the coming weeks I'm going to improve this circuit to have a wider range output.
Step 4: Parts & Tools
Rev counter: This is the part I'm 're-using', a VDO meter, still have some fishing boat gunk on it. Testing showed its characteristics were that it liked to be fed a linear input of 0-12V
Router: The smallest PCB form factor in the market that I found was the Buffalo
Software: I installed the http://www.dd-wrt.com/dd-wrtv2/index.php This isnt strickly necessary but I cant prop this software enough.
Wood: Oak plank from local hardware supply (or home depot)
Bread board for testing and Protoboard for the final op-amp circuit
Op-amp: 741, will use a part better suited to this application in the next revision of the D to A circuit
Buffer: 74hc04 hex invertor
Decal: overhead projector sheet, suitable for your printer (laser/inkjet)
Electronics: Soldering iron, Multimeter and scope if you have one for fault testing
Carpentry: scroll saw, table saw, carving chisel, mortising tools, glue & dowels
Decal: any drawing application.
and most of your digits still attached
Step 5: The Case
This is a very agricultural way to make a case, the right way would be to use some cheap chipboard or pine and veneer it with a nicer wood. In the interests of unskilledness I layer caked the case up from individual sections cut form a plank.
Milled out the areas needed for the rev counter, router pcb board, op-amp protoboard and channel for the aerial coax to the rear.
I marked each section from a template, cut with the scroll saw, glued and sanded.
Finished with a dark stain and semi gloss.