Category Archives: Gadgets

Compatible Android OTG Devices

Android has a little known feature that provides built-in support for USB hardware devices.  Provided you have the right adapter, you can plug in a keyboard, mouse, gaming controller, or USB drive and it will just work.  This is due to a USB specification called USB On-The-Go (OTG) and it’s an amazing piece of functionality.

My Frankenstein tablet project generated a lot of interest for OTG with Android and I wanted to explore the idea further.  I couldn’t find an official  list of hardware that would work with Android via OTG beyond some details on the InputDevice class so I figured I should make my own list.

After rummaging through my box of computer hardware and with a little bit of testing I have generated the following list of USB devices compatible with Android.

Tests performed with a Nexus 9 and a Micro USB adapter.

Device Compatible Notes
Android Phone Yes Select "Transfer Files" from the slave phone
Borescope Yes Requires app
Card Reader – SD Yes Format card with Android
DVD Drive No Tried a few apps that claimed support
Flash Drive Yes Format with Android
Game Controller – N64 Yes
Game Controller – SNES Yes
Game Controller – xBox "S" Yes
Hard Drive Yes Format disk with Android
Keyboard Yes
Mouse Yes
Printer Yes Requires app
Webcam Yes Requires app

Stay tuned, I’ll update this list with new devices! I would like to test more output devices including a USB monitor.

Overall it seems like most mass storage devices, cameras, and game controllers are compatible. I was surprised at the extent of native support and the prevalence of apps offering third party support.

Android has a ton of functionality when you consider the full list of both Bluetooth and USB devices.  Some of the tested USB devices have some questionable usability when there’s a Bluetooth alternative but I’m still amazed that there’s any USB support available.

I thought about my own historical use of my Nexus tablet and I do extend it with external devices quite frequently.  My top use cases are as follows:

  1. Flash drive – I have a USB drive filled with movies and TV shows that makes the tablet perfect for travel.  Nothing like having a full 128 GB media library for long flights or hotel stays.  I highly recommend MX Player, it has better codec support than VLC.
  2. Bluetooth mouse – I hate the mobile version of most websites but my fat fingers can’t click the tiny links when I request the desktop version.  Having a mouse input provides so much more precision when web browsing, it’s like night and day.  Perfect for web surfing while watching football or a movie.
  3. N64 controller – 99% of my tablet gaming is through the Mega N64 emulator.  I’m still amazed at the performance, playing these games on a tablet really makes me feel like we’re living in the future.  Nothing like a quick round of Super Smash for some fun!

Building a Frankenstein Tablet

Lately I have been fascinated with Android’s built-in support for USB hardware devices.  Provided you have the right adapter, you can plug in a keyboard, mouse, gaming controller, or USB drive and it will just work.  This is due to a USB specification called USB On-The-Go (OTG) and it’s pretty amazing.

I had an older Nexus 9 tablet laying around and I wanted to see if I could extend its functionality with some bolt-on upgrades.  This is a small project that I had been thinking about for awhile and I thought adding a USB hub to a tablet would be the key to its upgrade potential.

First and foremost, I think many tablets are limited in their hand free usability – you either have to hold them or prop them up in some sort of folding case, a tenuous solution that provides limited viewing angles.  Adding a proper tripod base is a little unorthodox but provides a very stable base with a lot of flexibility.

The tripod will be the legs of this project but a silicone case will be the backbone.  An inexpensive case will allow me to easily attach things to the tablet without ruining it.  I can always remove the tablet and switch it to another case if I need to travel with it.

A USB hub glued to the back will be the key to extending usability and will support all sorts of USB devices.  At a minimum I planned to use a USB drive, a mouse, and a USB microscope with the tablet on a regular basis.

I went searching on Amazon and found all of my key ingredients.

Started off with a nice silicone case.  I like the blue color, it’s nice and grippy, and seemed rugged enough to take some tumbles off the work bench.

Next was the tripod.  This was a cheap bendy tripod made for phones.  The selling point here was the orientation of the phone mount, it was a perfect match for the layout I had planned.

There were plenty of USB hubs to choose from.  This one was inexpensive and I liked the yellow color to contrast with the case.

Last was this right angle USB adapter I found.  This would allow for a low profile connection between the hub and tablet.  I’m amazed I found the exact adapter I wanted, I guess the market for USB connectivity is pretty saturated.

Once I had all of the parts in hand the next step was to lay everything out on the case.  The tripod mounting piece was slated for the lower-center of the case and I wanted to make sure the USB hub could reach the adapter on the side.  Everything seemed to fit well.

Used some silicone adhesive on the back of the USB hub and tripod mount.  A little bit goes a long way.  The grooves on the case did a good job of meshing with the adhesive.  I let everything cure overnight.

The moment of truth!  I attached the tripod and it held the tablet well.  The legs took some adjustment to support the tablet’s center of gravity but worked very well.  I was pleasantly surprised with the stability and the flexibility of the tablet’s viewing angle.

I then rushed to plug in as many USB devices as possible!

A nice shot of the populated USB hub.  Of the all of the devices plugged in, the Lexar USB drive and the mouse are by far the most useful.  It’s a little strange to use a mouse with Android to start but it provides so much more precision than my fat fingers.  Web browsing is so much easier when you can finely locate and click links.

I’m a little concerned long term about the USB connection with the right angle connector.  I would love to find a better way to protect the adapter so the tablet port doesn’t take the full brunt of a fall.  The adapter is nice and low profile but it is a weak part of the layout.

The best use case for the tablet will be in the workshop.  The tripod base frees up table space and improves screen viewing angles substantially.  Perfect for viewing manuals, diagrams, or other reference material.

Add a USB borescope or microscope and you have a multi-functional shop tool!

Overall I’m happy with this project.  The concept seems sound and I’m pleased with the execution.

If I had to do it again I would pick a better tripod, the bendy one I selected is just OK.  I also need to find a better way to protect or strain relief the USB connection to the tablet.

At worst I now have a more stable platform for watching Netflix.  At best I have a very utilitarian computer for use in the workshop!

World’s Largest Calculator

This is a Nexus 9 tablet running the Graph 89 emulator with a TI89 ROM.

A friend recently showed me the joy of having a TI emulator on your phone, a very nice upgrade over the stock Android calculator.  The phone is one thing, the tablet is plain silly.

The scale makes it seem like a Fisher Price toy for engineers and scientists. The funny thing is that when blown up on a tablet the calculator is almost 1:1 scale with the real thing.

Build Your Own SNES Classic – the Easy Way

The SNES Classic has been eagerly anticipated since it was announced. The preceding NES Classic was a runaway success and set the stage for any following retro game consoles.  Limited availability hampered the NES but also made it extremely desirable. Has Nintendo learned their lesson and accounted for a high level of demand? Probably not, but don’t worry.

You can build your own version of the SNES Classic for much less than the $80 retail price.  And the word “build” is used in the loosest sense.  You can achieve all of the functionality of the SNES classic (and more) with a simple Android TV box and some USB controllers.  It’s as simple as ordering some stuff from Amazon and plugging in a few cables.

The key here is emulator software written for the Android OS.  An emulator is basically a virtual software version of a game console.  It’s an app that acts like a SNES.  The virtual console runs virtual game files called ROMs.

There are plenty of free SNES emulators available for Android and ROMs can be easily found for free.  ROMs exist in a bit of an ethical grey area, they’re essentially copies of game cartridges that may or may not be covered by copyright that’s nearly 30 years old.  If you want to feel better about the situation, only download ROMs for cartridges you own.

Here’s what you’ll need to get started:

Android TV Box

TV Box

This is the key part in this whole equation, it’s essentially a tiny computer running a version of the Android phone OS.  The box plugs directly into your TV and will run any app you download through the Google store.  People typically use these to stream Netflix but in our case we’ll use it to run a SNES emulator.

There are many different varieties and versions of these boxes from different vendors but they’re all pretty much the same.  They’re all made in China, come with a remote, have WiFi , and cost between $30 and $50.  Make sure yours has two USB ports.  Some have Bluetooth, some don’t.  A lot of these fall out of stock quickly and a new one will take its place.

I bought something on the cheaper side and it was a little slow. I would recommend one with slightly higher specs.


SNES USB Controller

This is the magic in the whole setup, you can buy SNES controllers that come with a USB plug.  And they work with Android!  Plug them in and they work!

Emulator App

SNESDroid is a free SNES emulator and perfect for everything we need to do!  Highly recommended.  There are plenty of other emulators out there so choose your favorite.


Search Google for SNES ROMs and you’ll be all set.  Wait until you actually have your device setup to start downloading.

Set Up Your SNES

First thing to do, plug in your box. Should be a simple setup, just power to the box and HDMI to your TV.

SNES Setup

Protip for the next few steps, if you have a USB keyboard and mouse, plug them in now! The input through the remote keypad is a little slow, especially when dealing with the on screen keyboard.

Android Setup

The next few steps will be initializing the box. Each unit will be a little different but you’ll likely connect to your WiFi network and connect your Google account. Don’t try to skip this step, you’ll need to connect your account before accessing Google’s app store.

When everything is setup you can access the Google Play Store and download SNESDroid.

While the app is installing you can go ahead and find some ROMs.  Again, a quick Google search should be all you need.  Downloading the files on the box should be simple, the default directory will be fine and the emulator can play zipped files.

We’re almost there. Load up  SNESDroid and go to the Options menu.

Disable “Show touch input.”

Next, go to “Configure Key Gamepad Input.”

You’ll need to select each button on the screen (A, B, Start, …) and then press the same button on your controller. There’s a chance each button is set correctly when you plug the controller in but probably not.

That’s it for setup, time to load your ROMs!  Go to the “Load ROM” screen and navigate up a few levels to find your Android’s “Download” folder.  Pick your game and play!


Overall the Android box was a little slower than I expected but still very functional for emulation. Much of the slowness was due to the poor android launcher and overall software bloat of the box.  Next time around I would try to find a better performing unit.

The great thing is this same setup can be used for other game systems, all you need are the USB controllers and emulators.  NES, Sega Genesis, even N64!

N64 on Android

It’s possible to play N64 games on any Android device.  In fact it’s easy.  It’s made possible by the magic of Android N64 emulation and Android’s extensive USB support that works with USB controllers.

To make it happen you’ll need:

  1. USB N64 controller
  2. USB adapter dongle
  3. N64 emulation app
  4. Your favorite N64 ROMs

It’s as easy as plugging in some cables.  I had to remap my controller buttons in the emulator to get started.  You can connect 4 controllers with a USB hub for some nostalgic multiplayer action.

Building the Lego Technic Compact Tracked Loader

I loved Lego as kid, it’s one of the primary reasons I’m a mechanical engineer.  The Technic line really ignited a mechanical interest in me and I have many fond memories of assembling complicated sets in record time on Christmas Day.  My interest in Lego took a nose dive sometime early in high school.

It’s been over 10 years since I’ve touched a Lego, let alone purchase a set.  I thought it would be interesting (and fun) to build a Lego set as a grown-ass man.  I figured it would be a fun exercise for the blog now that I have a different perspective on things as an actual engineer.  I thought that was a pretty good excuse to purchase something I saw a children’s toy.

I took a few minutes looking at the selection on Amazon and settled on a Technic Tracked Loader (set 42032) that looked interesting and wasn’t too expensive.  Two days later the set was on my desk and ready to go.


Here are my reflections on building a Lego set as an adult engineer:

  • The box does a very nice job of selling the product.  Premium glossy packaging!
  • I forgot about the 2-sets-in-1 bonus of the Technic line, they include a second set of instructions to build something different with the same parts.
  • Weren’t these boxes noisier?  I remember a distinct Lego rattling sound from my childhood that only comes from unopened Lego boxes
  • Box is jammed full of stuff, that may have dampened the noise
  • What is this red thing? They changed the color on a lot of the smaller connector pieces to make them easier to identify and differentiate.  There are unique parts with red, blue, and tan colors that I remember as only being black.
  • What are these shafts with end stops?  That doesn’t seem convenient, this is definitely a new part.
  • These instructions are still excellent.  Very clear steps for assembly sequences with no written descriptions!
  • Assembling a set is really about the journey.  The picture on the box tells me where I’m going but I have no idea where I started from.  It’s interesting to start with a tiny piece of the machine with no context and then build out from there.
  • These 1:1 scales on the page for measuring shaft lengths are great.  I think these existed back in the day but I can’t remember.
  • Building these sets from the instructions was always a lot of fun but a completely different kind of fun than the creative building when using the same pieces.  Interesting the same set can really exercise both halves of your brain.
  • Lego taught me what a subassembly is before I knew anything about assemblies
  • These tracks are very tedious to assemble
  • Done!  Took about 90 minutes.

The tracker loader is pretty neat.  It uses a worm gear in the back to lift the bucket and two four bar linkages to actuate the bucket tilt and front jaw piece.


Building the set was fun and a nice burst of nostalgia but it’s not something I need to do again soon.  I thought it was a little tedious towards the end and I was slightly underwhelmed with the finished loader.  I am looking forward to tearing this thing apart and messing around with the pieces though!


Canon 70D Review

I recently upgraded and replaced my Canon T1i with a 70D. The primary impetus for the upgrade was the terrible viewfinder on the T1i which was small, dark, and made manual focus close to impossible. Overall the viewfinder made the camera frustrating to deal with and I neglected proper photography for a few years. The T1i sat in a drawer and was only occasionally pulled out to grab an interesting shot around the house.

The 70D has been amazing in comparison. I learned photography on similar camera, the 40D which has a similar sized body. The body is only slightly larger than the T1i but feels much more solid. Overall I’ve been very happy with the upgrade and I wanted to share my thoughts.

  • The viewfinder on the 70D is an amazing upgrade.  Having the 70D side by side with the T1i is like night and day.  The 70D viewfinder is bright and clear and makes manually focusing much easier.  Physically the viewfinder is larger and relies on a pentaprism which is much brighter than the T1i
  • The shutter on the 70D can actuate as quickly as 1/8000 sec which is double the T1i shutter 1/4000 sec.  This is great for photgraphing splashing water or birds.
  • The 70D has built in wifi which can be used as a remote viewing tool and remote shutter when paired with a cell phone.  I’ve only played around with it a little bit but it should make wildlife photography a little easier.  The range seemed short though, even with a clear line of site.
  • I found a 70D with the included STM 18-55 kit lens.  The lens is pretty amazing in autofocus, mostly because it’s completely silent.  The dual-pixel autofocus overall is pretty amazing in the camera.
  • The articulating touch screen on the camera is a great upgrade from my T1i.  I though it was a bit of a gimmick but it’s very utilitarian.  The articulation is great for shooting video and the touch screen makes adjusting settings a breeze.

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!