Skip to main content

Flexible GPS Antenna

I added a flexible passive GPS antenna to one of my PinePhones. These antennas are meant to be adhered directly to the inside of a plastic enclosure, far from any metal or ground planes. The datasheets I have read for similar antenna recommend at least 12mm distance to the ground plane. This particular antenna I got off of eBay from China, and has no datasheet. It does work quite well though.

I taped the antenna to a piece of plastic from a SIM card to make it more rigid. It is paper thin, except for the area where the cable is soldered.

Like on the Franken-Phone I removed the U.FL connector from the end of the cable and soldered it in place. This time I removed the spring contacts so that it would not make contact with the existing antenna in the mid-frame. I left the spring contact for the WiFi antenna intact.

I shaved some of the plastic from the mid-frame so that the cable would fit between it and the metal shield of the modem. I also cut a slot in the back case with a Dremel cut off wheel.

The antenna mounted like this, sticking out the top, gives the best reception. I tried several locations on the back, but they gave a much weaker signal, though still much better than the stock antenna.

Example cgps output from 3 different PinePhones. Left is the Franken-Phone with the 15mm Adafruit passive ceramic patch antenna. The middle is the flexible passive antenna from eBay. Right is a stock PinePhone. All three were sitting next to each other on a table, in a room with a concrete ceiling.

The flexible antenna gives the best performance, the stock never gets a lock.

I have a few more antennas coming. One is designed to be placed directly on a metal surface. Hopefully one will work well enough not to have to have it stick out the top of the phone. Also, the fingerprint reader/wireless charging back looks like it might work well with an antenna. It's thicker and has more space inside to hide the cable.

NMEA/AGPS

By default the GNSS settings on the Quectel EG25-G are set to receive signals from GPS, GLONASS, BeiDou and Galileo. Even if it is not outputting NMEA for the specific GNSS it is still using it to calculate position. Section 2.1.8 of the Quectel Manual covers the GNSS selection.

I tried enabling NMEA output for all the GNSS simultaneously but the gpsd clients don't know how to parse the multiple output sentences. I could see in the raw NMEA output lists of satellites for both GPS and GLONASS, but the clients would only list GPS or GLONASS, somewhat randomly. I ended up leaving only GPS NMEA output on.

In the AGPS proof of concept script you should change xtra.bin to xtra2.bin. xtra2.bin includes GLONASS data as well as GPS. This is explained in section 1.3 of the Quectel Manual. Should also set the time before uploading data according to section 2.8.

Popular posts from this blog

Updating modem firmware

Updated to the latest available firmware. Instructions here: https://github.com/Biktorgj/quectel_eg25_recovery#readme Command to clone the latest branch:   git clone --branch EG25GGBR07A08M2G_01.003.01.003 https://github.com/Biktorgj/quectel_eg25_recovery.git Change directory and run update: cd quectel_eg25_recovery/ sudo ./qfirehose -f ./ To check the currently installed firmware: sudo mmcli -m any --command='AT+QGMR' Output of the entire process here: https://gist.github.com/8bitgc/247da58dd6bd53a6864d5afe091616c5

veracrypt

I installed veracrypt on some of my PinePhones. There are no pre-compiled binaries for aarch64. Installation is from source. The process is simple and mostly follows the instructions on git . This has been tested on Manjaro Phosh and Arm Arch Linux. I compiled it as a cli only application. If you omit the NOGUI=1 it will compile the version with both cli/gui. It takes much longer to compile and the interface is not optimized for a mobile device. Install the required packages sudo pacman -S fuse2 yasm cppunit pkg-config Download the source for wxWidgets . The current stable is v3.0.5. wget https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.5/wxWidgets-3.0.5.tar.bz2 Extract and move to /usr/src tar -xf wxWidgets-3.0.5.tar.bz2 sudo mv wxWidgets-3.0.5 /usr/src/ Download the current stable veracrypt source wget https://github.com/veracrypt/VeraCrypt/archive/refs/tags/VeraCrypt_1.24-Update7.tar.gz Extract the files and change to the src directory tar -xf VeraCrypt_1.24-Update7.t...