New Official Raspberry Pi WiFi Dongle 3-way testing Vs ThePiHut and Edimax
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.
Really good analysis. Certainly provides food-for-thought!
Hello. One question:
How do you do the Ralink dongle works with Raspian?
Do you need to install a module?
That was already answered on this page.
Should you really trust the self reported signal strength? Maybe some chipsets fudge those numbers to look better. Maybe better to look at data transfer rates and pack loss fractions as well.
I don’t fully trust those, which is why I haven’t made much of them. But I do trust the ones on my phone, and when the dongle values are very similar to the ones on my phone, it lends credibility to the results. I did consider doing some more numerical analysis, but to be honest with you, having spent 2 days on this already, I’m happy to leave something for the next guy. ;)
The fact that I was able to stream YT video in all the locations where I got a connection was good enough for me. If you want more quantitative than that, feel free to make some measurements and share them with us. :)
I would have really appreciated some bar charts for easy pattern finding.
Have you tested in the reverse mode yet, or do you have plans to?
I.e., use the adapter in Access Point mode and see how far away your phone can see the signal and connect or what the signal level is reported as at various distances.
Or, if the adapter is not useable in AP mode.
Because that would also be very good data to have.
That’s a really good idea, and might be possible. :)
I believe that the chip in the dongle is the same one that is in the usb hub/wifi combo that broadcom released er last year for the raspi? i probably shouldn’t admit to such activities but i tried both it and a edimax on x86 kali and the edimax worked better for nefarious activities (airmon-ng, wash, reaver, aircrack-ng etc., the broadcom dongle didn’t work well/at all in windows (drivers) & the edimax worked better in raspbian, found more AP in the area incl. the dunkin donuts 50 yards away where as the broadcom only reached 2 oe 3 houses away but did find one AP that the edimax & laptop wifi didn’t. of course my “tests” weren’t in depth so YMMV & Alex did his using normal current accepted scientific practices
That’s interesting. I have one of those, but not currently with me. There’s not many wifi access points near here. The airwaves are relatively uncrowded. I can usually spot one or two other networks on my phone when in the garden.
It’s interesting that different dongles can detect different access points with differing ranges. I wonder if this might be an orientation issue or simply a compatibility issue? WJDK. Clearly the new Pi dongle has a hulking great chunk of metal for the antenna, whereas a lot of dongles seem to have just a printed squiggly track on a PCB. I haven’t smashed open the Edimax or PiHut ones to have a look inside. I was able to open the Pi one with my thumbnail.
Yes Russell, the dongle and the USB hub/Wifi combo have the same chipset and are the only currently working devices for the Windows 10 IoT.
The audience for AP usability is probably very small, but not having to use a modified version of hostapd would be a plus for the ones considering doing a AP:
“AP mode (via hostapd) support for wifi chips that identify themselves as RTL8188CUS (or variants thereof). If you’ve seen or heard someone claim that a certain wifi chip works with a special version of hostapd driver called rtl871xdrv, this is it.”
Yes, actual packet loss / latency / transfer rates would have been the most useful measurements I think; without them your results basically say they all use about the same power, and have about the same range, not providing any useful difference between the dongles.
Given that the analysis was based on range and power, the fact that they are all ‘about the same’ is a useful result. “Not much difference” is still a useful conclusion. If there isn’t much difference, surely that’s useful information?
Do any of these adapters support 5GHz? I’m fairly certain my edimax does not.
Maybe to check the power you can use also the CLI app “wavemon”.
I’ll look into that. Always up for improving methodology going forwards. I’ve also just discovered iperf and might use that for some quantitative throughput tests.
Tried wavemon. It only reports the information provided by the WiFi chip driver, so in the case of the Edimax, it doesn’t report the dBm as it does with the RPi dongle. So it doesn’t seem to advance our cause very much, except to say that it does give a nice way to monitor things in real time. :)
Interesting read. I’ve always used the Edimax dongles as any other seems to get a bit buggy for me (Don’t get me started on the WiPi dongle!!). The Edimax always seems to connect when others mess me around.
Does the RPi Foundation dongle have an indication light? I find that really useful with the Edimax – it has a certain flashing pattern when ‘idle’ and then flashes a lot faster when connected and pulling/pushing data. Whilst that’s possibly not the best way to troubleshoot a connection, it’s an easy way to get a idea of what is going on at a glance.
I haven’t spotted one. I’ll have a proper look later on. :)
Many thanks for this Alex.