List of Tomato Compatible Routers

This is a comprehensive list of routers that are compatible with Tomato firmware.  The two active communities supporting continuing work on Tomato firmware are Tomato by Shibby and AdvancedTomato.  Both are great and have passionate developers contributing to each mod.

I recently upgraded my router and I found it difficult to find a good router that was readily available, compatible with Tomato, and had the features I needed.  I decided to make a list of all of the Tomato compatible routers, their features, and the firmwares they are compatible with.  I thought this would be helpful for anyone looking for a Tomato router.

Many of these routers are very similar in features and many of the older versions are no longer available.  Shibby supports a lot of routers! A word of caution, many of these routers have different hardware versions and some are not compatible with specific Tomato builds.  Before you buy make sure you double-check the build compatibility!

I was interested in a recent mid-range router that had dual band coverage, a fast processor, and Gigabit LAN ports.  A fast processor is handy when using the router for VPN tunneling, often the processor speed will be the bottleneck for traffic.  I settled on the Asus RT-AC68U but a few routers will fit the bill.

I would also recommend the Linksys EA6900 and Netgear R6400.

List of Tomato Routers

Router Band CPU (MHz) LAN Speed Shibby Advanced Tomato
Asus RT-N10 300 100 Mbps Shibby
Asus RT-N10P 300 100 Mbps Shibby
Asus RT-N10U Single 300 100 Mbps Shibby Advanced Tomato
Asus RT-N12 300 100 Mbps Shibby
Asus RT-N15U 500 1 Gbps Shibby
Asus RT-N16 Single 480 1 Gbps Shibby Advanced Tomato
Asus RT-N18U Single 800 1 Gbps Shibby Advanced Tomato
Asus RT-N53 Dual 300 100 Mbps Shibby Advanced Tomato
Asus RT-N66U Dual 600 1 Gbps Shibby Advanced Tomato
Asus RT-AC56U Dual 2x 800 1 Gbps Shibby Advanced Tomato
Asus RT-AC66U Dual 600 1 Gbps Shibby Advanced Tomato
Asus RT-AC68U/R Dual 2x 800 1 Gbps Shibby Advanced Tomato
Asus RT-AC3200 Dual 2x 1000 1 Gbps Shibby
Asus WL-330gE 240 100 Mbps Shibby
Asus WL500GP 240 100 Mbps Shibby
Asus WL500W 264 100 Mbps Shibby
Asus WL520GU 240 100 Mbps Shibby
Buffalo WHR-G54S 200 100 Mbps Shibby
Buffalo WHR-G125 240 100 Mbps Shibby
Buffalo WHR-HP-G54 200 100 Mbps Shibby
Cisco M10 v2 100 Mbps Shibby
D-Link DIR-320 240 100 Mbps Shibby
D-Link DIR-620 C1 530 100 Mbps Shibby
D-Link DIR-868L Dual 2x 800 1 Gbps Shibby Advanced Tomato
Fiboom HG320 533 100 Mbps Shibby
Huawei WS880 Dual 2x 800 1 Gbps Shibby Advanced Tomato
Linksys E800 300 100 Mbps Shibby
Linksys E900 300 100 Mbps Shibby
Linksys E1000 300 100 Mbps Shibby
Linksys E1200 300 100 Mbps Shibby
Linksys E1500 300 100 Mbps Shibby
Linksys E1550 Single 300 100 Mbps Shibby Advanced Tomato
Linksys E2000 354 1 Gbps Shibby
Linksys E2500 Dual 300 100 Mbps Shibby Advanced Tomato
Linksys E3000 480 1 Gbps Shibby
Linksys E3200 Dual 500 1 Gbps Shibby Advanced Tomato
Linksys E4200 Dual 480 1 Gbps Shibby Advanced Tomato
Linksys WRT160N 300 100 Mbps Shibby
Linksys WRT300N 264 100 Mbps Shibby
Linksys WRT310N 300 1 Gbps Shibby
Linksys WRT320N 354 1 Gbps Shibby
Linksys WRT54G 240 100 Mbps Shibby
Linksys WRT610N 480 1 Gbps Shibby
Linksys WRTSL54GS 266 100 Mbps Shibby
Linksys EA6500 Dual 2x 800 1 Gbps Shibby Advanced Tomato
Linksys EA6700 Dual 2x 800 1 Gbps Shibby Advanced Tomato
Linksys EA6900 2x 800 1 Gbps Shibby
Netgear WNR2000 300 100 Mbps Shibby
Netgear WNR3500L Dual 500 1 Gbps Shibby Advanced Tomato
Netgear R6250 Dual 2x 800 1 Gbps Shibby Advanced Tomato
Netgear R6300 Dual 2x 800 1 Gbps Shibby Advanced Tomato
Netgear R6400 Dual 2x 800 1 Gbps Shibby Advanced Tomato
Netgear R7000 Dual 2x 1000 1 Gbps Shibby Advanced Tomato
Netgear R8000 Dual 2x 1000 1 Gbps Shibby
Ovislink WL1600GL 240 100 Mbps Shibby
Tenda N6 Dual 300 100 Mbps Shibby Advanced Tomato
Tenda N60 Dual 500 1 Gbps Shibby Advanced Tomato
Tenda W1800R Dual 600 1 Gbps Shibby Advanced Tomato
ZTE ZXV10 H618B 240 100 Mbps Shibby
ZTE H218N 500 1 Gbps Shibby

Dollar Bill Macro Photography

Check out these amazing macro shots of US currency.  The printing and detail on these is nothing short of astounding.  Can you see the microprinting security features?  How about the patterned  fiber paper?  Pull a bill out of your wallet and compare it with these photos.  It’s incredible how small the printing is.










These were sent to me but originally taken on a Canon 5D with some custom macro rig.  I am getting more details.

Trading Up – Used Canon DSLR’s in 2016


I like photography.  My father enjoyed it as a hobby and it always seemed like an interesting blend of technology and art. In college I had the opportunity in my senior year to take a digital photography class to fulfill an arts elective.

I learned how to shoot on a Canon 40D and excelled with the technical side of photography.  We were required to shoot 100% manually and I found the process very rewarding.  I improved my composition and became interested in photography with very short and very long exposures.

After graduation I wanted to continue with photography so I picked up an entry level Canon T1i.  I took some great photos with the camera but I was always frustrated with the tiny view finder – it was a world of difference from the 40D.  I found the view finder impossible to use manual focus, especially in low light.  Everything in the view finder appeared tiny and blurry.  Manually focusing through the view finder would just adjust the blurriness – it was impossible to tell where sharp focus was in the scene.

Poor focus through the T1i view finder made photography a frustrating hobby.  Manual focus seemed like a core reason to own an DSLR and I was disappointed the camera made it so difficult.

Trading Up

After living with the T1i for a few years I wanted to trade up for something nicer.  I started looking at used Canons and I was surprised that many great cameras were surprisingly affordable. I had a budget of about $500 and planned to buy a used body.

My primary requirement was to find a much larger view finder, presumably in a larger body camera.  I also wanted to maintain all of the features I had in the T1i, namely the ability to shoot video.

The switch to a full frame sensor was tempting. I didn’t have a large investment in glass so I was open to switching to all EF lenses but this would also have a large impact on my budget.  I was happy with the quality of my T1i shots but a switch to a better sensor would make sense.  I was never limited by the capability of the T1i but an improvement in low light shooting would have been welcome.

Evaluating the Used Canon Market

I was never familiar with Canon’s whole line of cameras.  I heard a lot about the 5D series over the years  but I didn’t know a whole lot about the interim series.  I learned on the 40D but I didn’t know how that fit into the product range.

Wikipedia has a great timeline and comparison of the EOS range.  This was a great starting point.  I boiled the comparison chart down to a few key features and I started added used market prices.

Camera Used Price Sensor Lens Max Iso Max Shutter Card 1080p FPS 720p FPS
t1i $200 APS-C EF-S 3200 1/4000 SD 20 30
5D $400 Full EF 1600 1/8000 CF NONE NONE
5D Mk ii $800 Full EF 6400 1/8000 CF 30 30
7D $500 APS-C EF-S 6400 1/8000 CF 30 60
50D $300 APS-C EF-S 3200 1/8000 CF NONE NONE
60D $400 APS-C EF-S 6400 1/8000 SD 30 60
70D $700 APS-C EF-S 12800 1/8000 SD 30 60

This was the basis for my comparison. If a camera isn’t in there it was deemed too expensive (such as the 6D).  I read reviews for each camera and developed some further thoughts.



5D and 5D Mark II

I was tempted to jump to a full frame sensor but buying new glass with a new body would blow my budget.  The 5D doesn’t shoot video, the Mark II is clunky with video and the body alone was over my budget.



The sensor wasn’t a huge improvement over the T1i but it had a much nicer body and good controls.  This hit the sweet spot for my budget.



The next camera after the 40D I learned on.  A cheap option but it doesn’t shoot video.



A slight upgrade from T1i in all the right places.  Shoots video and it came in slightly under my budget. Plus it takes SD cards!



A more dramatic upgrade from the T1i but slightly above my budget.  This camera was a substantial update of the 60D and introduced some new features.  Has some nifty autofocus and higher ISO range.

The Finalists – 7D vs 60D

The 7D and 60D were both within my budget and both seem like a great option.  Their lifespans overlapped in Canon’s product range and they share similar features.  Both offered an improvement over the T1i in body size, max shutter speed, and max ISO.

The 7D only takes CF cards which is annoying because I already had a stack of SD cards.


The Winner – 70D


In a surprising upset the 70D is the winner.  I was dead set on the 7D but found a great price on a used 70D.  The body and build quality may not be as good at the 7D but they’re more than enough for me.  The camera has a great feature set and the video autofocus with the STM lenses are amazing.  I’m happy I chose to spend a little bit more and get something slightly better than the 60D.

Review coming soon!


Building a VFIO PC

What is VFIO?

I’ve been hearing about VFIO PCs for a little while now and have been intrigued.  VFIO (Virtual Function I/O) allows a virtual machine to have full access to a dedicated GPU.  This makes gaming in a Windows VM easy and offers great performance.  Dual booting an OS is longer necessary!

I have been seeking a new project and I figured a VFIO build would be fun.  After going down the rabbit hole I wanted to share my findings and detail my build.

The VFIO Build

CPU Intel i7-6800K with cooler – This has VT-d/-x and will work fine.  More cores are better for virtualization so go with six.

Motherboard – ASUS ROG MAXIMUS VIII – Solid LGA 1151 motherboard, a favorite of a few VFIO builds I researched.  Should be easy to configure. Integrated GPU support so the host has a GPU to work with.

RAM – Corsair LPX 32GB – Not messing around here. Again with virtualization, more is better.  You should be OK with 16 GB to start, this is always easy to upgrade later.

GPU – MSI Radeon RX 480 – This is the pass-through card that will do the heavy lifting.  An AMD card should be easier to configure than nVidia but still may need some tweaking.

HDD – Samsung 850 EVO 500GB – These haven’t let me down yet.

Case – Corsair Obsidian Series Black 450D – I’m partial to Corsair cases, clean and high quality for the price.

PSUCorsair CX750M 750W – Plenty of juice.  Modular.

Wrap Up

That should be everything you need for a nice VFIO machine.  I’m running Arch and the RX 480 pass through works great.  To get it to unbind from amdgpu I needed to blacklist amdgpu and reboot. Arch gets the integrated GPU.

/r/VFIO is your friend for getting this all working.





Solidworks Icon

The Best Solidworks PC – 2017 Edition

EDIT: This article has been updated in Building a Solidworks PC – 2018 Edition

Dassault has shuffled out another release of Solidworks.  I have become pessimistic with upgrades and none of the new 2017 features seem to be game changers.  Maybe something clever will warm my crusty engineer heart.

This article is a refresh from my workstation build last year.  Not a whole lot has changed regarding a workstation build but by now you should be on Windows 10 and be considering a ridiculous amount of RAM and a beefier CAD GPU.  Overall there have been minimal performance relevant changes in 2017 and most of the hardware remains the same.

The core of a good Solidworks workstation is still a fast CPU, lots of RAM, and a Solidworks approved workstation graphics card.  A thread on Reddit has a great breakdown on Solidworks performance and how component selection will improve performance.

Solidworks performance is limited by the CPU and unfortunately only runs single-core for everything except simulation and rendering.  An Intel I7-6700 processor will provide good performance for the price even if you’re using only a single core on the chip.

16GB of RAM is a minimum and important for dealing with large assemblies.  This stuff is cheap and can easily be expanded in the future.

A basic CAD workstation graphics card should be sufficient and won’t hinder performance.  They key here is stability and performance with Solidworks which is why you want something like the Quadro K4000.  Workstations graphics cards are essentially glorified gaming cards but they have extremely stable drivers.

Those are the important bits, the following list covers the complete build.  All components are from Amazon because they have fairly competitive prices and good customer service.  Shop around though, your experience may vary.

The system price at time of writing is is $1880.  Part prices are not listed here because they seem to change week to week.  Expect the system price to trend downward in the next few months.

Processor – Intel I7-6700K – great performance for the price, LGA 1151 processor

Motherboard – MSI Z97 LGA – feature-rich motherboard to provide flexibility in the future, has a fancy BIOS and will support up to 32gb of RAM

Graphics CardQuadro K4000 – pricey but you’re paying for stability here

Memory – Kingston 16GB – fast and cost effective

Storage – Samsung SSD 850 EVO-Series 1TB – a nice solid state drive for speedy performance, I think it’s important to stick with a name brand here to ensure good performance over the life of the drive

DVD LG Electronics Super Multi Drive – sigh, can’t quite escape physical discs yet, I can’t tell you the number of times I get files mailed to me on a DVD.  With writing feature for all of your documentation purposes!

Case – Corsair Carbide Series 200R – a nice clean case that’s easy to work on

Power Supply – Rosewill 80 PLUS BRONZE 550W – Solid power supply with more than enough wattage, will support expansion in the future

OS Windows 10 Pro OEM – The new supported standard, if you don’t upgrade now you may be forced into it soon

That’s everything you need for a complete build!  The case comes with all necessary hardware and fans, the power supply has all the cables, and the CPU has it’s own cooler and heatsink.

Need monitors?  I’m a big fan of the 24-inch Dell Ultrasharp because of the positioning flexibility.  It’s easy to setup your dual monitor view in any configuration.  Ergonomics are a big deal if you’re sitting in front of monitors for 8+ hours a day.

Solidworks in 4K

I was recently awarded with a pair of 4K Acer B286HK monitors at work for my Solidworks workstation.  I was told there was an ordering mix up and they couldn’t be returned.  Not sure if that was the complete story but I was not going to complain.

Right off the bat, Solidworks looks great in 4K.  Assemblies look crisp and detailed, drawings appear sharp with annotations and dimensions crystal clear.  It took a few days to adjust to a higher DPI and I ended up making a few tweaks along the road to reduce eyestrain.  I wanted to share what I had learned to make things easier for other users going through the same transition.

First, adjust global scaling for Windows.  This seems like a necessity for all 4K monitors.  The actual text scale without increased scaling is a recipe for headaches and eye strain.  I settled on 175% after experimenting with a few different scale factors.  You can adjust this in Windows Display Settings – make sure you restart Windows afterwords.  This scaling adjusts text and program scaling globally but there are some strange scaling issues when programs don’t follow Window’s lead.

4K Display Scaling


Second, scale your Solidworks icons to make them usable.  I am a fan of the tiny icons without text but there’s a limit to how small I will go.  The adjustment for this is right at the top of the screen in Solidworks.

4K Solidworks Icon


Third, make sure both of your monitors are running at the same resolution.  The DisplayPort cables included with the new monitors were on the short side and one of the cables couldn’t reach from my desk to my tower on the floor.  For a week I was running the second monitor with a DVI cable and could only display a 1080p image through the cable.  The consequence was terrible graphics glitches in Solidworks due to the resolution mismatch.  My Solidworks viewport would flicker and have strange image buffer artifacts.

Lastly, buy longer DisplayPort cables ahead of time and avoid issue number three.



Ode to the TI-83

You were required by an algebra class in high school.  Vague equations were brought to life and visualized in your graphs.  You helped to make sense of newly taught concepts and fostered a connection between math and the real world.  You were a bonafide educational tool.

You were indestructible.  This alone is one of your most outstanding features.  You took countless drops to tile floors without the slightest hint of damage.  I can still recall the clattering sound you make after being pushed off a desk.  No other electronic device I had owned has ever taken this much abuse.

You taught me the basics of programming.  Crude games written in TI-Basic were open for anyone to tinker with.  I would manually enter games line by line from and slowly absorb programming concepts.  Modifying existing games quickly led to writing new ones.  You were a computer and you taught me program structure, loops, and logic.

You provided hours of entertainment.  Boring study halls were spent playing games that could be easily traded and modified with a little ingenuity.

You were useful into later years.  I had to replace your memory battery at some point but you did not falter.  Today your role is to perform the most basic arithmetic and you do so cheerfully.

TI-83, we remember you…