Build a Professional Prototype Case for a Linksys WRT54G Series Router in Three Weeks




Introduction: Build a Professional Prototype Case for a Linksys WRT54G Series Router in Three Weeks

Since this is my first Instructable and the first 3D printed prototype I have ever made I have tried to explain in as much detail as possible what I have done and have tried to provide as many pictures as I could. If you have any questions please ask and I will try to answer them ASAP.

Warnings and Legalities: modifying a router as I have done will VOID the factory warranty. There is a possibility that if not done correctly you could BRICK your router. It is up to the user of this Instructable to check all state and federal laws before using high gain antennas or boosting output power.

With that out of the way I am going to show you how I:

  • came up with my project requirements
  • reverse engineered an existing product to acquire needed dimensions
  • sourced hardware and software
  • designed a new case to incorporate new product requirements
  • rapid prototyped an ABS plastic case
  • prepped and finished plastic parts
  • overcame unexpected delays

Due to the complexity and length of instructions I will be covering the following in an additional Instructable:

  • wiring of electronics
  • heatsinks and thermal adhesive
  • antenna selection
  • power supply upgrade
  • installing third party software
  • designing a breakout board
  • micro controllers and integrated circuits
  • diagnostics and trouble shooting

This is what I was able to accomplish in three weeks!

Step 1: Assessing Project Requirements

The first and most important thing to do on any project is to define the requirements. A failure to list the exact features to be added can and most often will lead to feature creep. For this project I decided to use a Linksys WRT54GL router due to its low price point, availability and hackability. Below are the features I decided to add to this project and our reasoning:

New Case
The main goal of this project was to develop and prototype a manufacturable case that worked with a factory WRT54GL router's internal components and that maintained a “factory feel” while integrating additional components.

Duel db9 Serial Ports
Since I wanted to be able to connect my router to things such as GPS serial ports were a must.

SD/MMC(Secure Digital Multi Media Card) Reader
Due to the routers limited memory capacity (4 MB of flash) an SD/MMC reader was also a necessity.

High Gain Antennas
I wanted the WiFi signal to reach throughout the house and into the backyard. To help achieve this I decided on a set of high gain omnidirectional antennas. Depending on your need, directional antennas can be used and can extend the range several miles!

Heatsinks and Fan
Heatsinks and a cooling fan would also be needed to help remove excess heat produced by over clocking the CPU and boosting the outgoing signal strength. A 28x28x15mm heatsink and a 70x70x15mm 43 cfm fan were chosen. A 3 watt 100 ohm potentiometer was required to adjust the speed of the fan. This allows the user to not only control the amount of airflow but also to reduce the noise the fan makes when operating at high rpm.

LCD Screen
As an added bonus (and just to see if I could do it) I decided to add a 16x2 LCD screen to view statistics and code as the router is running.

Firmware Upgrade
None of these hacks would be possible without upgrading the firmware so I decided to upgrade it to DD-WRT.

Even though I will not be getting into the electronics and modding portion in this Instructable you will notice that we have listed all components I am planning on using for this project. It is important to know what will be used so you can plan, layout and adjust for clearance and visual appearance (no point in making something ugly).

Step 2: Sourcing the Components

Below is a list of only the items that were needed to design the case and check for fit and clearance.

Category Part Number Description Supplier Qty Price/ea Total
Electronics 15748DB9 Male Connector, Solder Jameco 1 $0.75     $0.75
Electronics 15771DB9 Female Connector, Solder Jameco 1 $0.75     $0.75
Electronics 6140964-40 Hex Jack Screw Set Jameco 2 $1.95     $3.90
Electronics 00204SD/MMC Breakout Board sparkfun 1 $9.95     $9.95
Electronics 61800316 X 2 LCD Display Jameco 1 $8.95     $8.95
Electronics 212556170 X 70 X 15 Fan Jameco 1 $6.95     $6.95
Electronics PTL-1003 Watt 100 OHM Linear POT All Electronic 1 $1.00     $1.00
Electronics HG2409RD-RTP2.4 GHz 9 dBi Antenna (RP-TNC Connector) L-com 2 $18.99   $37.98
Electronics N82E16833124190Linksys WRT54GL Wireless Router Newegg 1 $49.99   $49.99
Electronics HS-2728 X 28 X 15mm Heatsink All Electronic 1 $0.45     $0.45
Total $120.67

Step 3: Tools

For this Instructable since I am only focusing on the case design, a handful of tools are all that are needed to reverse engineer the factory case and give me a base for my mods.

In my opinion a caliper is one of the two most important tools for reverse engineering a router case like the Linksys WRT54GL. Calipers range in price and for the most part you get what you pay for, but for this project I am using an inexpensive digital caliper that was purchased at Harbor Freight for less than $35.

It's a good idea to have a decent micrometer on hand in case you encounter a situation where a caliper will not work. Again, generally higher quality and more accurate tools cost a lot more but due to the type of project we are working on a 1” micrometer from Harbor Freight will work just fine.

This one is pretty self explanatory, I prefer a ruler with a 1/32” scale breakdown but a 12” ruler with 1/16” accuracy in combination with caliper and a micrometer will work.

3D CAD Software
A good 3D CAD (Computer-Aided Design) software is an absolute must and is the other most important tool. Without the ability to design in 3D and export to STL (stereolithography) it is impossible (to my knowledge) to rapid prototype a 3D model. I used CATIA V5 for this project because it's what I work with on a daily basis and it's what I had access to. Google SketchUp should work fine for most hobbyists. A SketchUp plugin will be required in order to export files to STL format. I have listed one below that is free and seems to work quite well. There are several other pieces of software out there such as Autodesk Inventor, SolidWorks, Rhinoceros and TurboCAD. Software requirements differ depending on project need, budget and preference.

3D Mesh Editor
I use MeshLab to view, convert and simplify STL and Mesh data on a fairly regular basis. It is open source and is a pretty powerful piece of software.

Tool Description Part Number Supplier Price
6" Digital Caliper 47257 Harbor Freight $29.99
1" Micrometer 895 Harbor Freight $20.99
12" Stainless Steel Ruler 66199 Harbor Freight   $1.99
Google SketchUp N/A Google   $0.00
Sketchup SKP files to DXF or STL N/A guitar-list   $0.00
MeshLab N/A MeshLab   $0.00
Total $52.97

Step 4: Reverse Engineering and Modding

When reverse engineering and modifying any product it helps to know how the existing object was manufactured and how the modded one will be made. For example I know that the factory Linksys case was injection molded from visible ques such as parting lines and injection locations.

Since I know these are injection molded pieces there are a few assumptions I can make.
  1. Most likely wall thickness will be between 0.040" and 0.120" (depending on the size of the part).
  2. That the part will have draft angles of no less than 1º opening in the pulling direction.
I found that the draft angles on my parts were roughly 3º which means the part gets larger as I move from front to back. This is important because if it were reversed (part got smaller from front to back) the part would not be able to be pulled from its mold. You will notice from the images that the part varies almost 0.030" from front to back, although this might not seem like a lot it can and most likely will mean the difference between parts fitting or not.

In order to "double check" my accuracy I decided that I would reverse engineer and model an exact copy of the original Linksys case and I would make "envelope" 3D CAD models of all the components that were to go inside the case. After about four days I had finished all of the models and was able to assemble them in CATIA. Believe it or not all of the models lined up perfectly with the exception of one antenna hole which was off by roughly 0.025". After a little investigation I discovered that I had keyed in a dimension incorrectly and I was able to resolve the issue in a few minutes.

Note: The key to making an accurate 3D model is to take your time and A LOT of measurements! Double, triple even quadruple check your measurements! I know from experience that it is easy to misread a measurement and you will spend hours trying to figure out why everything doesn't line up.

In the images you will see a hideous first attempt at modifying the case to house the LCD screen and fan. I went through about a half dozen versions before we came up with a design I liked and went with. Remember, designing is generally an evolutionary process; one change leads to another, some features stay, some go, some change and some stay the same. My final model has subtle features from almost every version I came up with.

In the end I wound up raising the upper surface 0.750" and flowing it back down to the original upper side edges of the factory case. This allowed me to keep a somewhat factory shape to the case. I then flowed the surface down to the original front edge giving it a nice organic shape. I extended a pad out of the front to house the LCD screen and louvered the upper surface to allow for heat exhaust. The rear of the case remained almost stock with the exception of the upper section where the DB9 connecters are mounted. You will see these in an image of our router nested on top of a factory Linksys router.

Once I was satisfied with the modifications I had made I sent the CAD models off to be 3D printed out of ABS plastic.

Step 5: Rapid Prototyping and Cleaning Up 3D Prints

After I had finished tweaking my models I exported them to STL format and uploaded them to ZoomRP's website for an instant 3D printing quote. Now I'll be honest, it wasn't cheap but when it comes to prototyping the turnaround time is worth the money. ZoomRP started printing my models at 9:00 in the morning and since they are located in Valencia, CA (only 30 miles from me) I decided to drive and pickup the prints instead of waiting for the one day shipping. I had my prototypes in my hands by 12:30 the same day, ask anyone on the planet... THAT'S AMAZING!!!

Since I have never rapid prototyped anything before I wasn't quite sure what to expect but I was extremely pleased once I saw the models. They were rough but very accurate, due to manufacturing tolerance the parts didn't fit together right out of the printer but with just a little sanding at the contact points I was able to test fit the parts within an hour.

When I was snapping the front cover onto the case I accidentally applied too much pressure and caused a small crack on the side of the faceplate. Since these models are printed in layers they appear to have a tendency to crack where the layers meet. Because I wasn't sure what to use to fix the crack and since there is a hobby shop within walking distance of my house I decided to go pick the shop owners brain. When I explained what my problem was he immediately walked over and pulled a small bottle of Plasti-Zap from the shelf. I went home and applied the adhesive to the crack and within minutes it was fixed and the adhesive was hard. I was able to sand the spot smooth and no one will ever be able to tell that it had a crack.

Since the prints were too rough to paint I started out by sanding them down with 150 grit sandpaper. After I got most of the ridges out I sprayed the parts with a thick coat of automotive primer and let them dry. I sanded the parts one more time with 150 grit to get out the rest of the ridges before re-priming them. Since I had foreseen a possible problem with low spots I picked up a tube of filler putty while I was at the hobby store getting the adhesive. Before I applied the second coat of primer I filled any low spots and sanded them smooth. You will notice that I put a fairly heavy coat of filler putty on the bottom cover (this was by far the roughest piece), most of the putty ended up being sanded off.

After the second coat of primer dried I sanded everything down with 400 grit sandpaper and the parts were ready for painting. It should be noted that the sanding and prepping of these parts took about a day and a half to complete. It's important to remember that a paint job is only as good as the surface it's painted on. In other words if the surface of your model is rough, wavy, chipped or otherwise not perfect even the most expensive paint job will look horrible.

Note: any imperfection in the surface of your model(s) will be magnified greatly when glossy paint is applied. Lighter colors are better for hiding imperfections so if you're painting your model white you can get away with a less than perfect finish. BUT, if you are painting with a dark color such as black your surfaces should be perfectly smooth.

Step 6: Painting, Finishing and Assembly

When painting make sure to wear a mask to filter out fumes and to avoid any chance of a headache. Also make sure that you are painting in a well ventilated area and things like cars, boats, walls and kids are not down wind (I have seen a few cars with over spray on them and it's not a good thing).

I painted the inside of my parts first, the thought process behind this was that if there was any over spray it wouldn't ruin a nicely painted exterior. I hit the inside pretty heavy since I was not concerned with getting a high quality finish. after the interior was dry I moved to the exterior of the parts.

The exterior was sprayed with thin layers of paint (not even enough to cover the whole part with color) and left to dry for about ten minutes in between coats. After enough thin coats had been applied to completely cover the parts I let them dry for about 30 minutes. After the parts were dry I sanded them lightly with 600 grit wet sandpaper, dried and cleaned them off then we re-coated them. This time I covered them with a heavy layer of paint and let them dry for about an hour.

After the paint had dried I wet sanded the parts again, smoothing out any imperfections in the surfaces, Once I was convinced that the paint was as smooth as it was going to get I again dried and cleaned the parts. This time instead of covering them with another layer of paint I coated them with a thick layer of clear, let it dry, wet sanded and re-coated a second time. After a final drying I was happy with the results I had achieved. I let the parts cure over night before I assembled them.

I could have gone one step further to assure a perfect finish, this would have involved sanding down "cutting" the final layer of clear with 1200 grit wet sand paper and then buffing it out with a good buffing compound. I have done this before and the end results are amazing (show car quality amazing!!!) but it seemed a little overkill for this project.

A couple of good tips to remember when painting anything with spray paint are:

  • never start spraying on top of your part, always start off to one side and sweep across the part at a constant speed while maintaining a constant distance from the piece.
  • coat inside edges prior to painting the entire part
  • you want the paint to be almost to the point of running to get a nice glossy finish
Paint Description Part Number Supplier Price
Rust-Oleum Light Gray Automobile Primer 2081 Home Depot $3.98
Rust-Oleum Cobalt Blue Metallic 7251 Home Depot $5.98
Rust-Oleum Black Night Metallic 7250 Home Depot $5.98
Rust-Oleum Crystal Clear Enamel 7701 Home Depot $3.98

The assembly process was pretty straight forward (not taking into account the electronics). Due to paint buildup the DB9 connectors, antenna jacks and the front POT wouldn't fit so I had to file out the openings a bit. I also filed a little bit off the tabs that clip the faceplate to the case so the fit wouldn't be too tight.

For those of you interested in the electronics portion of this project I will be posting an Instructable on that very soon. Please let me know what you think of my projects, I look forward to your feedback.

Step 7: Unexpected Delays

SO, as I was finishing up the painting late Thursday night (just five days before the Make it Real deadline) I stepped outside to apply a layer of Rust-Oleum Crystal Clear Enamel to finish off the rear cover. The second I applied the clear I knew I was in trouble, the base paint crazed instantaneously!

Instead of losing my heads I decided to pack everything in for the night and start fresh the next morning. I kept running through scenarios in my head trying to figure out what went wrong. Had I accidentally applied a lacquer clear over an enamel base? Was it a chemical reaction from incompatible products? It was driving me crazy.

The next morning I grabbed all the products I had used (primer, paint and clear) and I called Rust-Oleum's 1-800 number listed on the back of every can. Let me just tell you, they have the best customer service I have ever dealt with! I explained my problem to the the rep, gave her my product numbers and within ten minutes she had me straightened out.

When painting pay very close attention to the directions on the back of EACH can. I had grabbed a can of black enamel instead of lacquer and the problem was due to a drying time error on my part. Here are a few pointers when it comes to painting:

  • Always stick with the same brand products whenever possible (primer, paint and clear coat)
  • Enamel over Lacquer = GOOD
  • Lacquer over Enamel = BAD

Enamel Paints: dry or cure through a chemical reaction that combines individual molecules to form larger molecules. Once this reaction has taken place the new film will not re-dissolve in its original solvent. This is why enamels take much longer to dry then lacquer based paints. In general enamels are very durable and provide a high gloss finish. Enamel paints have a very specific re-coat window and it is important to adhere to these time frames (or you will get crazing like I did).

Lacquer Paints: dry entirely by their solvent being evaporated. Unlike enamels no chemical reaction takes place during the curing process. Therefore lacquers will re-dissolve in their original solvent for an indefinite period of time. Lacquer paints are easy to use, fast drying, durable, easy to buff and have a high gloss finish. They also have no re-coat window so are ideal when working within a limited time frame.

Now, after telling you that Lacquer over Enamel is a NO-NO I'm going to admit that after the paint cured I sanded down the crazed surface to a smooth finish and re-coated with a lacquer paint that allowed me to work a lot faster. This is generally not a good idea but I knew that I had sanded about 95% of the enamel paint off and had let it cure long enough and just to be safe I applied several extremely thin layers of paint before hitting the part with a heavy coat.

In the photos you can see what the part looked like once the paint crazed and how it turned out after I refinished it.

Step 8: Glossary

Brick: describes a situation where a device is unable to function even when the device does have potential to be recovered later to a working state. In this sense, the damage may be reversible; it is only during the period that it's unable to function that the device is deemed "bricked."

Crazing: describes small cracks that appear in the finish. Generally, these cracks are quite numerous and have random axis, resembling a dry lake bed. They are akin to the crazing seen in pottery glazes.

Draft: is the amount of taper for molded or cast parts perpendicular to the parting line.

Envelope Model: is an extremely accurate but dumbed down model. Generally these models are lacking details such as fillets, chamfers and internal features. They are used to represent an object without the complexity of irrelevant features when checking for fit and clearance of parts.

Feature Creep: Feature creep (sometimes referred to as requirements creep or scope creep) is a tendency for product or project requirements to increase during development beyond those originally foreseen, leading to features that weren't originally planned.

Parting Line: in mold making is the place where two or more parts of the mold meet. Parting lines occur due to minute inherit gaps between two mating faces of halves of the die. The material filling into these gaps is generally called molding flash or simply flashing. Parting lines generally show up as a raised line around the product (witness mark) on commodity products such as toys.

Re-coat window: is the time period during which a second coat of paint may be applied and is generally for enamel based paints.

STL (STereoLithography): is a file format native to the stereolithography CAD software created by 3D Systems. STL is also called as Standard Tessellation Language. This file format is supported by many other software packages; it is widely used for rapid prototyping and computer-aided manufacturing. STL files describe only the surface geometry of a three dimensional object without any representation of color, texture or other common CAD model attributes. The STL format specifies both ASCII and binary representations. Binary files are more common, since they are more compact.

Make It Real Challenge

Participated in the
Make It Real Challenge

Be the First to Share


    • Puzzles Speed Challenge

      Puzzles Speed Challenge
    • CNC Contest 2020

      CNC Contest 2020
    • Secret Compartment Challenge

      Secret Compartment Challenge

    23 Discussions


    2 years ago

    Hey, great Instructable! Could you put the 3D printing files or didn't I see them?

    The Lost Puppy
    The Lost Puppy

    4 years ago

    Hello are you ever going to make the instructable on the electronics for this project? I would like to see what you do so that I can adapt parts of it for my own router that I am going to mod. Nice instructable by the way, I was drawn in by that awesome looking router that you have for the first image. Hope you continue to do mods like this in the future.


    6 years ago on Introduction

    So so so inspiring and instructive !
    Thank you _very_ much


    7 years ago on Introduction

    If you put a temp sensor on the cpu, you could pwm the fan automatically with an arduino.


    7 years ago on Introduction

    Very professionally done! You utilized a 3D printer in the exact way (I believe IMHO) it was meant to be used, to create/enhance something. Very nice instructable and thanks for the nice images as well.


    8 years ago on Introduction

    I can not wait to be able to order one, how exciting that you took a great product and made it superior.

    When can it be pre-ordered.


    Reply 7 years ago on Introduction

    I've actually gotten a lot or requests from people wanting to purchase this as a kit so I am looking into the feasibility of putting one together. If it looks like something that is doable and if I have enough interest I will let you know.


    8 years ago on Introduction

    awesome :)
    any information about how to install a LCD, would be a nice addition to the one i have :)


    Reply 7 years ago on Introduction

    I was originally going to use a PIC16F84A to send code to the LCD but I will most likely be going with a PIC18F2550 now. I am currently changing my breakout board configuration for this project. Ideally I would like to have everything (LCD, serial and fan speed controller) integrated onto one board. You can follow me on twitter @shanevadnais for updates.


    8 years ago on Introduction

    can't wait to get some pcb or something to start testing!


    Reply 8 years ago on Introduction

    Sorry it's taking me so long, I'm a ME not an EE so sorting out the electronics is a bit rough. I'm hoping I can get it figured out soon. The SD and serial ports are finished, that was easy but the LCD is holding me up. :-)


    8 years ago on Step 6

    Man, dude, that router looks EPIC.


    8 years ago on Introduction

    Is there a final instruction set, specially the wiring? Which firmware did you use from DDWRT?

    This is great, I would really like to experiment with my router!


    Reply 8 years ago on Introduction

    I am in the process of designing a PCB that will hold all of the components tor the DB9 ports, fan speed controller and LCD driver. Once I have that done and have tested it I will upload more content.

    As for DDWRT I have flashed my router with this distro:


    8 years ago on Introduction

    WOW! This is a really well detailed instructable and a great concept. I actually feel I could start building this today. Thank you for sharing!


    8 years ago on Introduction

    I just wanted to give you props for the design and thought of reusing older technology and the way you took the time to lay every thing out on the site. Its just a really good design and look forward to the update version for the electronics. I also know this is one of the best routers I've ever owned. The only reason i don't use it now is it didn't have wireless N. Even though I am thinking of going back to it because it never drops signal. I was wondering if you are doing all these upgrades if there's a way to include Wireless N technology or if there's not.


    Reply 8 years ago on Introduction

    I started looking into the possibility of adding wireless N, I don't think it's impossible but it doesn't appear to be a simple process. I will continue to research it and see what I can come up with.