A few weeks ago, Raspberry Pi launched a new official WiFi dongle with the following specs…
- 802.11 b/g/n
- USB 2.0
- BCM43143 chipset
- 150Mbps maximum throughput
- Supports Access Point/Infrastructure mode
- Works with Raspbian out of the box (other OS yet to be supported)
It’s been designed by the Raspberry Pi hardware team, uses a Broadcom chip and has a larger antenna than the other two dongles I’m testing it against. This makes it a little longer than the other two, but how does it stack up against them in terms of performance? That’s what we’re here to find out.
I spent quite some time testing all three different USB wifi dongles that I own…
- Raspberry Pi – the newest kid on the block – (Broadcom chipset)
- Edimax – an old favourite – (Realtek chipset)
- ThePiHut – a recent favourite – (Ralink chipset)
I wanted to test both range and power consumption in as ‘real-world’ a way as I could, but still being a scientifically valid comparison.
Where Was The Testing Done?
I decided I’d need to do testing in several locations relative to the WiFi router (a TP-Link TL-WR340G). This should give me different signal strengths. So I got out my trusty Nexus 5 phone, fired up WiFi analyser, and scouted out various locations around the house and garden.
We’re in a house with thick internal brick walls and solid reinforced concrete floors at the moment. The router is on the first floor at RasPi.TV Polska HQ. My phone told me I had a signal strength of…
- -42 dBm in the first floor office (about 3.5m from the router)
- -56 dBm on the ground floor (1 thick concrete ceiling and a thick brick wall away)
- -87 dBm in the basement (2 thick concrete ceilings + 1 brick wall from the router)
- -89 dBm in the workshop at the end of the garden (thick brick walls + distance)
…these were also measured at the time of doing the experiments for comparison with the WiFi dongle results.
How Was The Testing Done?
In each location the Pi was placed in such a way that it would be possible to exchange the wifi dongle without moving the Pi. This is quite important because the orientation of the dongle can make a large difference to the reported signal strength. I wanted all the results to be truly comparable. You can test this with your phone and WiFi Analyser. If you flip it from horizontal to vertical, I can almost guarantee you’ll get a change in signal strength.
I used my eMeter (which has a calibrated shunt and measures current to two decimal places) to measure the voltage and current during the various tests.
I used a Raspberry Pi 2 model B, connected to an HDMI screen and a USB keyboard dongle.
This was powered by a lipo and regulator connected via the eMeter’s shunt.
A blank baseline value of voltage and current consumption with no WiFi dongle attached was measured.
The WiFi signal strength was measured using my Nexus 5 and WiFi Analyser.
For each dongle, in each location, I went through the following procedures…
1. Baseline Measurements
- Starting with power off, insert wifi dongle in top right USB port
- Power on
- Login and Start LXDE
- Open Epiphany browser and browse to the RasPiO GPIO Ruler KS page
- Open LXTerminal
- Wait for current reading to stabilise
- Read Vidle and Iidle – the idle voltage and current
2. Scanning For WiFi Networks
Scan for WiFi networks using this command in LXTerminal
sudo iwlist wlan0 scan and note the voltage VWiFi and IWiFi peak current during the scan. This was done three times.
For each of the above scans, the reported signal strength and quality was noted. The Edimax dongle, unfortunately, gave a different set of results (different drivers?) so may not be directly comparable for this test. The other two gave signal strength readings (in dBm) and an indication of signal quality x/70.
3. Browsing and YouTube Streaming
Then we browsed to the RasPi.TV Youtube channel in Epiphany and noted the peak current while that, “fairly busy” page was loading, this was labelled Iytp (ytp = YouTube Peak)
Then the RasPiO Duino Tutorial #2 video was selected and allowed to play for a minute or so. This was used to measure the stable current during sustained heavy internet use Iyts (yts = YouTube Stable) which was usually a range spanning about 0.03 to 0.04A.
What About The Results?
A few preliminary comments. I was using a freshly flashed SD card with the latest Raspbian and was delighted to find that all three dongles worked perfectly straight out of the box. All I had to do was tell the Pi the wifi access point password (just once) and thereafter, connection was completely automatic. That was delightful, and shows how far the software side of things has come. (I still remember how we all used to wait for “MrEngman” to recompile the Edimax drivers into the kernel every time there was a kernel change.)
What Does That Lot Mean?
Well firstly, Edimax signal strength data can’t be compared with the others, which is a bit of a nuisance. Edimax was my favourite wifi dongle for a long time because it had the lowest power consumption in my tests.
All three dongles worked well enough, out of the box, to be able to stream Youtube videos acceptably in the basement, where the weakest connection was made. So in terms of usability, there was nothing between them.
I’ve never done range testing before, but one interesting thing to come out of these tests was the Workshop tests, which I didn’t tabulate. Why not? Simply because none of the devices could connect that far out.
My Nexus 5 could “see” the wifi router and reported -89 dBm signal strength. The Official Raspberry Pi dongle could also “see” the router and reported -85 dBm strength and 25/70 quality. But neither of them could connect in that location.
Having said that, neither ThePiHut nor Edimax dongles could even “see” the router in that location. So there’s no doubting that the RPF dongle has better range, but I have yet to be able to quantify it in a useful way.
So Where Does That Leave Us?
If you look at the power consumption data, Iidle, IWiFi and specifically Iyts you can see that the official Raspberry Pi dongle has more or less the same power consumption as the Edimax, but remember its slightly better range. ThePiHut dongle consistently uses about 40 mA more than the other two. This is not a lot, but if you’re running from batteries, it all counts and could be an issue in some applications.
What Else Should We Consider?
Well there’s always the cost isn’t there? Both the offical Raspberry Pi WiFi dongle and ThePiHut dongle are £6, but the best price I can find for an Edimax is £8.23 from Amazon.
Chuck into the equation that the manufacturer’s profit on your £6 RPF dongle goes to an educational charity, and it has slightly better range as well (although yet to be usefully quantified), leads me to rank these three dongles as follows…
- Official Raspberry Pi WiFi dongle – good range, good power consumption, good price. Perfect for Raspbian
- ThePihut WiFi dongle – good price, good performance for most applications. Supported by most Pi OSes
- Edimax WiFi dongle – good power consumption, good performance for most applications, but the others make it start to look expensive – it also has its own, non-standard way of reporting signal strength, which has annoyed me in this testing process
It seems that the Swag Store is out of stock of the official dongles at the moment, but ThePiHut also sells these official dongles (in fact Jamie gave me the one I have for testing) and does currently have stock at £6.
If you need a WiFi dongle for your Pi you can get one here for £6.