A WIFI spectrum analyzer and Talk-Talk routers suck A$$

A close relative of mine has been having lots of wifi connection issues over the last few months but just on a couple of devices. A scan of the wifi neighborhood showed only a couple of signals from adjacent houses which were too weak to cause a problem.

I tried changing the channels, 150 or 300 bandwidth modes and even tried dropping to 54G compatibility. The problem would be fixed but return a few days later. I tried disabling the wifi adaptor in one of the affected laptops and used a USB adaptor instead. I couldn’t swap the router as this was needed for IPTV (talk talk) and my replacement didn’t support it. Same problem with different adaptors. What was going on? Mobile phones and tablets were fine; just the two Windows 7 / 10 devices refused to work. I needed to scan for interference and here’s where the Arduino came in.

Spectrum analyzers cost a lot of money and the apps you can get for your phone only show wifi signals. The 2.4Ghz band is shared with other devices such as cordless phones, wireless doorbells and microwave ovens to name a few. I came across a couple of analyzer projects which this one by vwlowen.co.uk caught my eye as it showed any 2.4Ghz signal and it’s frequency on a small graphical LCD display just like the expensive commercial devices but at a fraction of the cost.

I quickly found out that the CYWM6935 wifi chip was obsolete and I could not find one for sale anywhere. I could have used an alternative, wrote a library for it and modified the code but that’s above my skill level and would take too long for me to learn and build a working gadget. Hence google turned up this the ‘poor man’s wifi scanner’ which looked simple but the drawback was it wasn’t standalone and needed to be connected to a laptop running a terminal emulator to display the results. Well, I’d only need it once but I decided to make it into a decent case:-

Completed Arduino wifi scanner (image)
Completed Arduino wifi scanner

It looks kind of like a walkie-talkie but it did the job. The Arduino Nano was mounted to a PCB along with the wireless module and slid into groves on either side of the case and holes cut into the end caps. A power and RX light provided indication the unit is working.

The problem turned out to be a couple of things; first of all the wifi would disconnect whenever the microwave was on and secondly the wireless weather station in the house was causing a LOT of interference. The real reason was that the talk-talk router was just crap; replacing it with a netgear sorted all the problems but no IPTV. The router refused to play ball as a wireless bridge to allow the IPTV to go via the original talktalk router. This had me going round in circles thinking external devices were the problem and just needed re-positioning.

The displayed output of the scanner in a terminal window

However many weeks of frustration later the solution was to use powerline adaptors to connect the IPTV box to the router’s ethernet ports, disable the wifi on the talk-talk router and use a netgear router as in access point mode to provide the wireless.

Geez, all the rumours about talk-talk routers (A HG633 in this case) being crap are true. But that Arduino did aid in fault finding.