Pyra WLAN external antenna


Very Active Member
Jun 3, 2019
I notice that Sparkfun are selling high-gain (8dbi) dual-band 2.4 / 5GHz wifi PCB antennas for only $2. I made a quick risk assessment; then disregarded it and powered up the soldering iron instead.


The Pyra has two dual band AVX M830520 chip antenna on the right edge of the motherboard. These are small but low-gain:
2400 – 2485 MHz = 1.0 dBi
5150 – 5825 MHz = 2.6 dBi

They are connected to a TI WL1837 MOD wifi module.

The Pyra motherboard looks to follow the design recommendations in the WL1837 datasheet, though two points have been compromised on because of space constraints:
  • Its better if one antenna is rotated 90deg from the other.
  • Its better if the two antenna are separated by more than half a wavelength (>63mm for 2.4GHz)
Both antenna are dual band.
ANT1 (I think this is the top one) is the primary antenna.
ANT2 (the bottom one?) is for "5G ANT diversity TX/RX, 2.4G secondary antenna MRC/MMO only"

WL1837 block diagram.png

Connecting an External Antenna
There isn't a connector on the motherboard for an external wifi antenna. The modem does have GPS and 4G antenna connectors, but unfortunately we don't get the same for wifi / bluetooth. Instead, I had to remove one of the chip antenna using a hot air soldering station. I chose what I think is ANT1 because its the primary antenna.

The chip antennas have 6 pins. The top two under the blue line are the useful ones. Looking from above the motherboard, the top-left pin is feed, top-right is ground.
M830520 pin out.png

With radio signals, it is important to maintain the same impedance along the signal path. Whenever there is a change in impedance, some of the signal reflects and we lose it or detune the antenna say. In this case the impedance is 50ohm. In an ideal world, we'd find a 50ohm U.FL connector that fits between pin #1 and #2 to match the motherboard and antenna.

For my quick experiment I opted to solder the new antenna directly to the pads and create some strain-relief for the cable. As long as the unshielded soldered part of the cable is kept short, the losses are not so bad. I separated the outer shield braid from the core of the antenna and kept the bare length at a couple of millimeters total. Soldering this to the pads is very weak so you need to give the wire 'strain-relief' by wrapping it around something, or passing it through the screwhole in the pcb, or clamping it in the case. I wrapped it round the cold-finger of my heat-sink.


After putting the case back together, I've just stuck the antenna to the back of the display. Perhaps I'll get round to putting it in the display case or more likely just paint it with black enamel. Will you replace yours with an external wifi connector?


It works! Before the hack, both 2.4G and 5G stopped after one room plus one corridor plus one room and external wall (10m). I now get a minimal signal on 2.4G or 5G from 20m outside of the house. My router is good linksys router with 4 dual band antenna arranged at various angles.

Last edited:
Thinking about this some more, the solder attachment would have been stronger if I'd made use of the chip antenna dummy pins. As long as the antenna cable feed and braid stayed straight I could have ran the core along the left three pins, and the braid along the right 3 pins. That would have been much stronger
Very impressive. Also, there are GSM and GPS ext connector on the motherboard!? I wonder if theres space in case for a ufl to sma connector. A project for the future . . .
Did the Download speed improve as well with this setup?
I'm getting 84Mbits/s on 5GHz wifi to a rasp pi gigabit ethernet connection.
Its less reliable on 2.4GHz but goes up to 43Mbits/s.
This is when sitting 3m from the router.

I didn't test this before replacing the antenna. How does this compare to other pyra?

me@pyra:~$ iperf -c rasppi
Client connecting to rasppi, TCP port 5001
TCP window size: 43.8 KByte (default)
[  3] local port 42232 connected with port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   100 MBytes  83.9 Mbits/sec

[ ID] Interval       Transfer     Bandwidth
[ 3]  0.0-10.0 sec  51.6 MBytes  43.3 Mbits/sec
According to the speeds I'm getting are as expected for 802.11n:
Below is a breakdown of actual real-life average speeds you can expect from wireless routers within a reasonable distance, with low interference and small number of simultaneous clients:
802.11b - 2-3 Mbps downstream, up to 5-6 Mbps with some vendor-specific extensions.
802.11g - ~20 Mbps downstream
802.11n - 40-50 Mbps typical, varying greatly depending on configuration, whether it is mixed or N-only network, the number of bonded channels, etc. Specifying a channel, and using 40MHz channels can help achieve 70-80Mbps with some newer routers. Up to 100 Mbps achievable with more expensive commercial equipment with 8x8 arrays, gigabit ports, etc.
802.11ac - 100+ Mbps typical, higher speeds (300+ Mbps) possible over short distances without many obstacles, with newer generation 802.11ac routers, and client adapters capable of multiple streams.
Post automatically merged:

me@pyra:~$ sudo iwconfig wlan0
wlan0     IEEE 802.11  ESSID:"5GHz" 
          Mode:Managed  Frequency:5.745 GHz  Access Point: 00:00:00:00:00:00   
          Bit Rate=150 Mb/s   Tx-Power=20 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:on
          Link Quality=55/70  Signal level=-55 dBm