Skip to main content

My PinePhone board tests

I have several PinePhones, from the first BraveHeart release to the last Mobian Community Edition. I also upgraded the BH and Ubports 2GB boards to the 1.2b 3GB version. A total of 9 PCB's. 

After experiencing the time jump problem I tested all the boards for stability.

There are two tests, compiling and memtester.

The first is compiling a project repeatedly for 24 hours. An endless loop of make && make clean.

The second test is memtester. I ran it for 20 passes for either 1.6GB or 2.6GB. 

    sudo memtester 1600m 20

I have a dedicated microSD card for each test. The compiler test is running Manjaro Phosh. memtester is running Arch Linux ARM barebones, which leaves more RAM available for testing.

Both Manjaro Phosh and Arch Linux ARM come with multiple u-boot bootloaders that let you change the RAM interface speed. I tested at the highest 624MHz and worked down to slower speeds if there were errors.

The results:

3 of the boards time travel. This seems to be a side effect of the RAM speed. For the affected boards the higher the RAM speed the more often the time jumps.

The Ubports upgrade board can not complete a boot cycle at 624MHz. It will time travel at 492MHz when the CPU is loaded.

The Postmarket OS board is stable at 492MHz, with just an occasional rcu error.

The Mobian 2GB board is mostly stable at 492MHz. It rarely time travels.

The rest of the boards are stable at 624MHz. I ran one for a full week compiling continuously.

Popular posts from this blog


I decided to take the worst performing PinePhone PCB and turn it into a hardware test bed. This is the 3GB 1.2b upgrade board that fails my compiler and memtester tests . It will time jump even with the RAM running at 492MHz. It is usable. With the serial adapter you can login to the serial console without an attached screen. Once WiFi/SSH is configured you can do everything remotely. I have also used wayvnc to remotely connect to the graphical desktop. I bought a large flat aluminum heatsink from Amazon to use as a base. I cut up a sheet of thermal pad material (sold for use with 3d printer glass hot beds). The pad is sticky and holds the PCB and battery to the heatsink. The battery is not the correct type/size for a PinePhone battery. It is an old battery I found in a drawer that has the same pinout, works fine. The micro USB breakout board has the VBUS and Ground soldered directly to the pogo pin pads. The loose orange wire at the bottom is soldered to a tiny pad next to the ke

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

Updating modem firmware

Updated to the latest available firmware. Instructions here: Command to clone the latest branch:   git clone --branch EG25GGBR07A08M2G_01.003.01.003 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: