<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.pine64.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Wibble</id>
	<title>PINE64 - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.pine64.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Wibble"/>
	<link rel="alternate" type="text/html" href="https://wiki.pine64.org/wiki/Special:Contributions/Wibble"/>
	<updated>2026-04-21T15:40:37Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=ROCKPro64_Hardware_compatibility&amp;diff=21460</id>
		<title>ROCKPro64 Hardware compatibility</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=ROCKPro64_Hardware_compatibility&amp;diff=21460"/>
		<updated>2024-06-19T12:18:42Z</updated>

		<summary type="html">&lt;p&gt;Wibble: /* PCIe devices */  add Marain Clara E Dante audio interface with link to manufacturer driver page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hardware accessory compatibility for the [[ROCKPro64]]. Please contribute to the hardware compatibility page, which lists hardware which has been tested with the rockpro64, whether successful or not.&lt;br /&gt;
&lt;br /&gt;
== Hardware compatibility ==&lt;br /&gt;
=== PCIe devices ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Type || Make/Model || Hardware IDs || Kernel || Result || Notes || Tester&lt;br /&gt;
|-&lt;br /&gt;
| NIC || Intel I350 Dual Port ||  || Mainline-5.4 || style=&amp;quot;background:PaleGreen;&amp;quot; | good || SR-IOV fails&lt;br /&gt;
|-&lt;br /&gt;
| NIC || Intel I350 Quad Port ||  ||  || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| NIC || Intel X520 Dual Port || 8086:10fb || Mainline-5.6 || style=&amp;quot;background:PaleGreen;&amp;quot; | good || SR-IOV fails&lt;br /&gt;
|-&lt;br /&gt;
| NIC || Intel X550-T2 Dual Port || 8086:1563 || 5.15.0-trunk-arm64 (Debian) || style=&amp;quot;background:PaleGreen;&amp;quot; | good || netperf throughput in FW mode, 20 streams:  between 4136-6613mb/s across use cases.&lt;br /&gt;
|-&lt;br /&gt;
| NIC || Intel 82571EB Dual Port (HP NC360T) ||  || Mainline-5.6 || style=&amp;quot;background:#F99;&amp;quot; | crash || kernel crash on boot&lt;br /&gt;
|-&lt;br /&gt;
| NIC || Intel 82575EB Dual Port (AOC-SG-I2) ||  || Mainline-5.10 || style=&amp;quot;background:#F99;&amp;quot; | crash || kernel crash on boot&lt;br /&gt;
|-&lt;br /&gt;
| NIC || Intel 82575/82576 || 8086:1521 || OpenWrt 21.02-rc1 ; 5.4.111-1 || style=&amp;quot;background:PaleGreen;&amp;quot; | good ||opkg: kmod-igb ; [https://wiki.pine64.org/wiki/ROCKPro64_Software_Release#OpenWrt_21.02 OpenWrt 21.02-rc1] 5.4.111-1 ; ~92.8 KB ; Kernel modules for Intel(R) 82575/82576 PCI-Express Gigabit Ethernet adapters.&lt;br /&gt;
|-&lt;br /&gt;
| NIC || Aquantia 10GBps AQC107 || 1d6a:07b1 || Mainline 5.16 || style=&amp;quot;background:PaleGreen;&amp;quot; | good || Works perfectly out of the box.&lt;br /&gt;
|-&lt;br /&gt;
| GPU || nVidia GTX-645 ||  || Mainline-5.4 || style=&amp;quot;background:#F99;&amp;quot; | crash || BAR size too small, triggers PCIe error handling bug&lt;br /&gt;
|-&lt;br /&gt;
| PCIe Switch || PCIE-EUX1-04 Ver.002 ||  || Mainline-5.4 || style=&amp;quot;background:PaleGreen;&amp;quot; | good || &lt;br /&gt;
|-&lt;br /&gt;
| SATA Controller || ASM1062 4-Port ||  || Mainline-5.6 || style=&amp;quot;background:PaleGreen;&amp;quot; | good || tested only with one disk attached&lt;br /&gt;
|-hw&lt;br /&gt;
| SATA Controller || ASM1062 (rev 02) 4-Port ||1d87:0100|| Ayufan-4.4.190 || style=&amp;quot;background:PaleGreen;&amp;quot; | good || tested with four disks, 3 in raid 5 &lt;br /&gt;
|-&lt;br /&gt;
| SATA Controller || IOCrest (Same as Syba?) SI-PEX40063 4-port, Marvell 88SE9235 chip || 1b4b:9235 || Debian unstable 5.7, 5.8 || style=&amp;quot;background:PaleGreen;&amp;quot; | good || Tested with two disks. SATA errors occurred with a WD Red drive in a cheap enclosure; resolved by connecting the same drive directly to the card.&lt;br /&gt;
|-&lt;br /&gt;
| SATA Controller || Ziyituod SATA Card ASM 1062+1093 6-Port || 1b21:0625 || Mainline-4.4 (armbian) || style=&amp;quot;background:PaleGreen;&amp;quot; | good || tested with 6 disks ||&lt;br /&gt;
|-&lt;br /&gt;
| SATA Controller || BEYMEI RAID 4-Port, Marvell 88SE9230 chip || 1b4b:9230 || Ayufan-5.6.0-1137 || style=&amp;quot;background:PaleGreen;&amp;quot; | good || Tested with 3 disks in RAID 5. I added pci=nomsi to /boot/extlinux/extlinux.conf kernel parameters and an udev rule before the disks were recognized: ACTION==&amp;quot;add&amp;quot;, SUBSYSTEM==&amp;quot;pci&amp;quot;, ATTR{vendor}==&amp;quot;0x1b4b&amp;quot;, ATTR{device}==&amp;quot;0x9230&amp;quot;, RUN+=&amp;quot;/bin/bash -c 'echo %k &amp;gt; /sys/bus/pci/drivers/ahci/bind'&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| SATA Controller || BEYIMEI SATA Card 6-Port, ASM1166 chip ||   || 5.10.0-16-arm64 (Debian) || style=&amp;quot;background:PaleGreen;&amp;quot; | good || Tested with 4 disks. Built 2 separate software RAID-1 arrays without errors. Performance seems good enough for a NAS on gigabit LAN.&lt;br /&gt;
|-&lt;br /&gt;
| SATA Controller || PCE8SAT-A02 VER006S&amp;lt;br/&amp;gt; 2 Lanes, 8-Port, ASM1166 chip &amp;lt;br/&amp;gt; Odd because chip got only 6 ports?|| 1b21:1166 || 6.1.50-current-rockchip64 &amp;lt;br&amp;gt;Armbian 23.8.1 Bookworm || style=&amp;quot;background:#F99;&amp;quot; | unstable || Tested with 3 disks in SW-RAID 5. After 10 hours of burn in test one disk dropped from system *and* RAID. Hotplug does not work. || [[User:JPT|JPT]]&lt;br /&gt;
|-&lt;br /&gt;
| SATA Controller || BEYIMEI SATA Card 2-Port, ASM1062 chip || 1b21:0612 || 5.10.0-19-arm64 (Debian) || style=&amp;quot;background:PaleGreen;&amp;quot; | good || Using with 2 SSDs in a software RAID-1 array (~190MB/sec for reading and writing)&lt;br /&gt;
|-&lt;br /&gt;
| SATA Controller || QNINE 4-Port, Marvell 88SE9215 chip || || Ayufan-5.6.0-1137 || style=&amp;quot;background:LightYellow;&amp;quot; | very slow || Tested with 3 disks in RAID 5. Top speeds were around 50 MiB/s but quickly dropped to below 2 MiB/s due to SATA CRC errors&lt;br /&gt;
|-&lt;br /&gt;
| SATA Controller || DELOCK 90498, JMicron Technology Corp. JMB58x AHCI SATA controller || 197b:0585 || 5.18.0-0.bpo.1-arm64 (Debian bullseye + backports) || style=&amp;quot;background:LightYellow;&amp;quot; | good, but…&lt;br /&gt;
|| Tested with 3 disks, two in RAID1, one standalone.&lt;br /&gt;
u-boot-rockchip_2023.07 cannot initialize the controller to boot off it.&lt;br /&gt;
&lt;br /&gt;
|| [[User:Lrissman|Lrissman?]]&lt;br /&gt;
&lt;br /&gt;
[[User:ChriChri|ChriChri(u-boot)]]&lt;br /&gt;
|-&lt;br /&gt;
| Host Bus Adapter || LSI SAS 9211-4i &amp;lt;br/&amp;gt; SAS2008 chip, 4-Port SAS/SATA, PCI 2.0, 8 lanes || 1000:0070 || Ayufan-4.4.197 || style=&amp;quot;background:PaleGreen;&amp;quot; | good || tested with four disks attached&lt;br /&gt;
|-&lt;br /&gt;
| Host Bus Adapter || Fujitsu SAS MEGARAID LSI 2008B2 &amp;lt;br/&amp;gt; SAS2008 chip, 8-Port SAS/SATA, PCI 2.0, 8 lanes || TODO ||  6.1.50-current-rockchip64 &amp;lt;br&amp;gt;Armbian 23.8.1 Bookworm  || style=&amp;quot;background:PaleGreen;&amp;quot; | TODO || needs special MicroSAS cables. Must be flashed to HBA mode? &amp;lt;br/&amp;gt; ordered, not yet received || [[User:JPT|JPT]]&lt;br /&gt;
|-&lt;br /&gt;
| USB Controller || ASMedia Technology Inc. ASM1142 USB 3.1 Host Controller || 1b21:1242 || Mainline-5.15.0-rc5 || style=&amp;quot;background:PaleGreen;&amp;quot; | good ||&lt;br /&gt;
|-&lt;br /&gt;
| DTMB Quad Tuner || TBS Technologies || TSS6514 || Mainline-5.10.21 || style=&amp;quot;background:PaleGreen;&amp;quot; | good || TV -&amp;gt; LAN streaming server, 7W idle, 8-10W with one FHD channel streaming&lt;br /&gt;
|-&lt;br /&gt;
| DVB-T2/C Quad Tuner || TBS Technologies || TBS6205 || 5.10.0-16-arm64 (Debian) || style=&amp;quot;background:PaleGreen;&amp;quot; | good || Working well with Tvheadend&lt;br /&gt;
|-&lt;br /&gt;
| DVB-S2 Dual Tuner || Digital Devices || Octopus CI S2 Pro || 6.1.42-rockchip64 (armbian) || style=&amp;quot;background:PaleGreen;&amp;quot; | good || All features are working flawlessly with the latest drivers from Digital Devices &lt;br /&gt;
|-&lt;br /&gt;
| Audio interface || MARIAN GmbH || Clara E || Armbian 23.8.3, Kernel 6.1 || ? || Dante interface. [https://www.marian.de/updates/linux-support-starting-now/?lang=en Manufacturer driver page] claims it is tested on ROCKPro64/Armbian&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== NVMe SSD drives ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Type || Make/Model || Size || Hardware IDs || Kernel || Result || Notes || Power options&amp;lt;br/&amp;gt;Active only || Save&amp;lt;br/&amp;gt;power&amp;lt;br/&amp;gt;setting?&lt;br /&gt;
|-&lt;br /&gt;
| NVMe || Samsung 970 Evo || 500 GB || || Mainline 5.6 || style=&amp;quot;background:PaleGreen;&amp;quot; | good || - || defaults || defaults&lt;br /&gt;
|-&lt;br /&gt;
| NVMe || Samsung 960 Evo || 500 GB || 144d:a804 || Mainline 5.13-rc4 || style=&amp;quot;background:#F99;&amp;quot; | doesn't work || Likely due to 64/32 BAR mismatch issue on Linux 5.11+ || defaults || defaults&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== USB hardware ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Type || Make/Model || Hardware IDs || Kernel || Result || Notes || Tester&lt;br /&gt;
|-&lt;br /&gt;
||Zigbee Bridge || Conbee II  || 1cf1:0030 || 6.1.50-current-rockchip64 &amp;lt;br/&amp;gt; Armbian 23.8.1 Bookworm || style=&amp;quot;background:PaleGreen;&amp;quot; | good || seems to work fine || [[User:JPT|JPT]] ([[User talk:JPT|talk]])&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== USB C alternate mode DP ===&lt;br /&gt;
&lt;br /&gt;
Note that only USB C alternate mode Display Port will pass video. Any HDMI, DVI or VGA port must be converted internally by the device from Display Port - or the device won't work for video.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Type || Make/Model || Hardware IDs || Kernel || Result || Notes&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== eMMC / SD drives ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Type || Make/Model || Hardware IDs || Kernel || Read Speed || Write Speed ||Result || Notes &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Other hardware ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Type || Make/Model || Hardware IDs || Kernel || Result || Notes &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
&lt;br /&gt;
=== Older firmware overwrites actively used memory ===&lt;br /&gt;
&lt;br /&gt;
Some people get system freeze when:&lt;br /&gt;
&lt;br /&gt;
* use SATA disk with ROCKPro64 PCIe card. (maybe on newer PCIe card ASM1062 vs ASM1061)&lt;br /&gt;
* or do read or write 4GB to the flash. (not using PCIe)&lt;br /&gt;
&lt;br /&gt;
If you connect the serial console you will see a Linux kernel oops: (a)synchronous external abort.&lt;br /&gt;
&lt;br /&gt;
Both issues are in fact the same software BUG. There is no hardware problem. Currently, most OS do use uboot with a rockpro blob FW which use memory that Linux kernel is not aware of. &lt;br /&gt;
&lt;br /&gt;
People are currently fixing this BUG, but it may take some time. In the mean time, you can fix it manually.&lt;br /&gt;
&lt;br /&gt;
The latest u-boot can boot the rockpro64 without any blobs from rockchip.&lt;br /&gt;
&lt;br /&gt;
Install first arm-none-eabi-gcc and aarch64-linux-gnu-gcc compiler, then run the following commands:&lt;br /&gt;
&lt;br /&gt;
Prerequisite packages (Debian/Ubuntu): &amp;lt;code&amp;gt;device-tree-compiler python gcc-arm-non-eabi flex bison gcc-aarch64-linux-gnu gcc make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/ARM-software/arm-trusted-firmware.git atf&lt;br /&gt;
 make -C atf CROSS_COMPILE=aarch64-linux-gnu- PLAT=rk3399 bl31&lt;br /&gt;
 git clone https://gitlab.denx.de/u-boot/u-boot.git u-boot&lt;br /&gt;
 cd u-boot/&lt;br /&gt;
 git checkout v2020.01-rc5&lt;br /&gt;
 make rockpro64-rk3399_defconfig&lt;br /&gt;
 BL31=../atf/build/rk3399/release/bl31/bl31.elf make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-&lt;br /&gt;
&lt;br /&gt;
Which gives you idbloader.img and u-boot.itb. Copy them to the rockpro64, and run the following: (Or put your SD card into your PC)&lt;br /&gt;
&lt;br /&gt;
 sudo dd if=idbloader.img of=/dev/mmcblk0 seek=64&lt;br /&gt;
 sudo dd if=u-boot.itb of=/dev/mmcblk0 seek=16384&lt;br /&gt;
 sync&lt;br /&gt;
&lt;br /&gt;
=== PCIe Controller Hardware Error Handling Bug ===&lt;br /&gt;
&lt;br /&gt;
There is an issue with the rk3399 pcie controller that is currently unmitigated:&lt;br /&gt;
&lt;br /&gt;
* [https://lore.kernel.org/linux-pci/CAMdYzYoTwjKz4EN8PtD5pZfu3+SX+68JL+dfvmCrSnLL=K6Few@mail.gmail.com/ LKML Original Thread]&lt;br /&gt;
* [https://lkml.org/lkml/2020/4/6/320 LKML Additional Information]&lt;br /&gt;
&lt;br /&gt;
The rk3399 pcie controller throws either a synchronous abort or a SError when a pcie device sends an unknown message.&lt;br /&gt;
&lt;br /&gt;
The error type is determined by which cpu cluster handles the message.&lt;br /&gt;
&lt;br /&gt;
=== Virtualization ===&lt;br /&gt;
&lt;br /&gt;
The PCIe controller on the rk3399 is not behind an IOMMU. This means it is not possible to safely pass through PCIe devices to a virtual machine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:ROCKPro64]]&lt;/div&gt;</summary>
		<author><name>Wibble</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PinePhone_Installation_Instructions&amp;diff=14775</id>
		<title>PinePhone Installation Instructions</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PinePhone_Installation_Instructions&amp;diff=14775"/>
		<updated>2022-11-24T17:52:01Z</updated>

		<summary type="html">&lt;p&gt;Wibble: /* Using Tow-Boot */  clarification about needing tow-boot to have been installed first&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This section has generic installation instructions. &lt;br /&gt;
&lt;br /&gt;
For specific installation instructions for each distribution please see the software releases pages:&lt;br /&gt;
&lt;br /&gt;
* for the '''PinePhone''': [[PinePhone Software Releases]]&lt;br /&gt;
* for the '''PinePhone Pro''': [[PinePhone Pro Software Releases]]&lt;br /&gt;
&lt;br /&gt;
== Boot priority ==&lt;br /&gt;
&lt;br /&gt;
=== PinePhone Pro ===&lt;br /&gt;
&lt;br /&gt;
For details regarding the boot priority on the PinePhone Pro see [[PinePhone Pro#Boot order]].&lt;br /&gt;
&lt;br /&gt;
=== PinePhone ===&lt;br /&gt;
&lt;br /&gt;
The PinePhone always boots from the microSD card first. It is therefore recommended to have a microSD card handy. It is '''not''' possible to lock themself out of the phone when the installation on the internal storage (the eMMC) fails, as a correctly flashed microSD card will always boot. Note: Booting from USB is not supported by the hardware, a live USB stick will not boot.&lt;br /&gt;
&lt;br /&gt;
The phone will also try to boot from microSD cards, which were previously flashed with an OS and formatted later, causing the phone to fail to boot. See [[#Reuse SD card for data storage on system booting from eMMC|reuse SD card]] on how to format the microSD card properly, including wiping the residues of u-boot.&lt;br /&gt;
&lt;br /&gt;
== Installation to the microSD ==&lt;br /&gt;
&lt;br /&gt;
To install an image to the microSD card:&lt;br /&gt;
&lt;br /&gt;
# Download your chosen image from [[PinePhone Software Releases]] for the regular '''PinePhone''' and [[PinePhone Pro Software Releases]] for the '''PinePhone Pro'''&lt;br /&gt;
# Extract the compressed file&lt;br /&gt;
# Write the image to your microSD card, see below&lt;br /&gt;
# Plug microSD card into phone (make sure to use the top slot, not the bottom slot)&lt;br /&gt;
# On the '''PinePhone Pro''': The eMMC might have to be disconnected to boot from the microSD card, see [[PinePhone Pro#Boot order]]&lt;br /&gt;
# Boot phone&lt;br /&gt;
&lt;br /&gt;
[[File:Pinephone slots.png|600px|thumb|none|The microSD belongs in the upper slot, the micro-SIM in the lower slot.]]&lt;br /&gt;
&lt;br /&gt;
=== Flashing the microSD ===&lt;br /&gt;
==== Using dd ====&lt;br /&gt;
Make sure to select the correct device using &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt;. Then run &amp;lt;code&amp;gt;dd&amp;lt;/code&amp;gt; with the selected device:&lt;br /&gt;
&lt;br /&gt;
 sudo dd if='''IMAGE.img''' of=/dev/'''[DEVICE]''' bs=1M status=progress conv=fsync&lt;br /&gt;
&lt;br /&gt;
{{Info|The image needs to be written to the whole device, not to partition 1. Make sure you're NOT selecting ''/dev/sda1'' or ''/dev/mmcblk0p1'' as target.}}&lt;br /&gt;
&lt;br /&gt;
==== Using bmaptool ====&lt;br /&gt;
Make sure to select the correct device using &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt;. Then run bmaptool with the correct device:&lt;br /&gt;
&lt;br /&gt;
Download the ''IMAGE.xz'' and the ''IMAGE.bmap'' files, then run &amp;lt;code&amp;gt;bmaptool copy --bmap '''IMAGE.bmap''' '''IMAGE.xz''' /dev/'''[DEVICE]'''&amp;lt;/code&amp;gt;. This takes around 2.5 minutes to flash a 4 Gb file.&lt;br /&gt;
&lt;br /&gt;
==== Using graphical tools ====&lt;br /&gt;
GUI applications such as Etcher and GNOME Disks can be used to flash the microSD too.&lt;br /&gt;
&lt;br /&gt;
== Installation to the eMMC ==&lt;br /&gt;
&lt;br /&gt;
=== Using Tow-Boot ===&lt;br /&gt;
&lt;br /&gt;
This method requires the tow-boot bootloader to be present on your boot device already, usually from an earlier OS install.&lt;br /&gt;
&lt;br /&gt;
The eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing an OS to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
=== Using JumpDrive ===&lt;br /&gt;
&lt;br /&gt;
{{Info|This only applies to the regular '''PinePhone''', not the '''PinePhone Pro'''.}}&lt;br /&gt;
&lt;br /&gt;
[[File:jumpdrive.jpg|400px|thumb|right|Jumpdrive running on the PinePhone]]&lt;br /&gt;
The internal eMMC flash storage can be flashed using the Jumpdrive utility by Danct12 and Martijn from postmarketOS.&lt;br /&gt;
This utility boots from micro SD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
The process of flashing an OS to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
Latest Jumpdrive can be found [https://github.com/dreemurrs-embedded/Jumpdrive/releases/ here].&lt;br /&gt;
&lt;br /&gt;
# Download and extract [https://github.com/dreemurrs-embedded/Jumpdrive/releases the Jumpdrive image]&lt;br /&gt;
# Flash the Jumpdrive image to a microSD card&lt;br /&gt;
# Boot the PinePhone from the Jumpdrive microSD card&lt;br /&gt;
# Connect the PinePhone to your computer using USB-A -&amp;gt; USB-C cable&lt;br /&gt;
# Flash the exposed PinePhone drive (e.g. ''/dev/mm...'', check for the right device in &amp;lt;code&amp;gt;dmesg&amp;lt;/code&amp;gt;, GNOME disks, or similar, and make sure it's unmounted) with your chosen OS image&lt;br /&gt;
# Once the flashing process is complete, disconnect the PinePhone from your PC, power it down and remove the Jumpdrive microSD card&lt;br /&gt;
# The process is now finished, and you can boot from eMMC&lt;br /&gt;
&lt;br /&gt;
The Jumpdrive image is smaller than 50MB. You can keep an microSD card specifically for using Jumpdrive, and there are 64MB microSD cards sold cheaply that will suffice. Jumpdrive also acts as a rescue image in case if you messed up your installation. To do so, you can telnet to '''172.16.42.1''', mount rootfs and fix it!&lt;br /&gt;
&lt;br /&gt;
=== From the booted microSD OS ===&lt;br /&gt;
# Flash an OS to the microSD card (and optionally resize the partition, see below)&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the desired OS' image on the booted OS or transfer it to the microSD card&lt;br /&gt;
# Extract the image file if it is archived&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if='''IMAGE.img''' of=/dev/'''mmcblkX''' bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is ''/dev/mmcblk0'' and the eMMC is ''/dev/mmcblk2'' but as always with ''dd'' be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
=== SD to eMMC via installer ===&lt;br /&gt;
&lt;br /&gt;
postmarketOS and Mobian installer images booted from microSD card will simply ask the user, if they want to install to eMMC. The feature lives in the distribution-agnostic calamares-extensions repository (see [https://github.com/calamares/calamares-extensions/pull/7 calamares-extensions#7]), so other distributions might adopt this in the future.&lt;br /&gt;
&lt;br /&gt;
== Resize partition to fit disk space ==&lt;br /&gt;
&lt;br /&gt;
{{Info|Many OSes already include a script, which is resizing the partition on first boot, where this step is not required.}}&lt;br /&gt;
&lt;br /&gt;
Once you've flashed the OS to your microSD card or eMMC storage, you may also need to expand the partition to fill all the available space.&lt;br /&gt;
&lt;br /&gt;
=== Resize SD card's partition using computer ===&lt;br /&gt;
&lt;br /&gt;
For microSD cards, insert the microSD card and resize the partitions through the computer. For eMMC, insert the phone cable and use Jumpdrive to access the eMMC directly, and resize the partition after flashing the image. To do the flashing you have two options:&lt;br /&gt;
&lt;br /&gt;
==== Using Growpart ====&lt;br /&gt;
&lt;br /&gt;
Install &amp;lt;i&amp;gt;growpart&amp;lt;/i&amp;gt; and run:&lt;br /&gt;
 growpart /dev/'''mmcblkX''' '''Y'''&lt;br /&gt;
 resize2fs /dev/'''mmcblkXpY'''&lt;br /&gt;
where ''X'' is the storage device and ''Y'' is the partition number (viewable from &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
If you get any errors about missing or unknown commands, use &amp;lt;code&amp;gt;apt-cache search&amp;lt;/code&amp;gt; to find and install the needed software. Also don't forget to use &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Using Parted ====&lt;br /&gt;
&lt;br /&gt;
Parted's interactive mode and resize work well together. Do this before you put your microSD card into the PinePhone for the first time for best results.&lt;br /&gt;
&lt;br /&gt;
 sudo parted /dev/'''&amp;lt;your_sd_card_device&amp;gt;'''&lt;br /&gt;
 (parted) resizepart 2 100%&lt;br /&gt;
 (parted) quit&lt;br /&gt;
 sudo resize2fs /dev/'''&amp;lt;the_second_sd_card_PARTITION&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
=== Resize from within the PinePhone ===&lt;br /&gt;
&lt;br /&gt;
eMMC: you would need to resize the partition on eMMC (flashed with the operating system) by booting another image from the microSD card: that way, the eMMC will be unmounted. It is '''not recommended''' to resize eMMC while booted from eMMC! Resizing a currently mounted partition can have weird results. If you booted from the microSD card, you can follow the above guidelines on how to resize from a computer. &lt;br /&gt;
&lt;br /&gt;
MicroSD card: It is generally not possible to boot from eMMC to partition the unmounted microSD card, because of the boot order - you would have to write the image to the empty microSD card first, then resize partition, all without rebooting. It is also '''not recommended''' to resize the microSD card while booted from microSD card! Resizing a currently mounted partition can have weird results.&lt;br /&gt;
&lt;br /&gt;
== Reuse SD card for data storage on system booting from eMMC==&lt;br /&gt;
Once you have installed your release of choice to eMMC, you may wish to use an microSD card for data storage. If you choose to re-use a card you have previously used to boot from, you will find your phone will not boot if you just reformat the card and insert it. This is because the Allwinner firmware in the PinePhone uses some (normally) unused space at the front of the microSD card to store boot software, which you need to clear.&lt;br /&gt;
&lt;br /&gt;
This can be done as follows on any Linux system:&lt;br /&gt;
 lsblk&lt;br /&gt;
to check the device of your microSD card – as an example lets assume it is /dev/mmcblk0&lt;br /&gt;
then&lt;br /&gt;
 sudo dd if=/dev/zero of=/dev/'''[DEVICE]''' bs=8k seek=1 count=4&lt;br /&gt;
will clear the relevant sectors of your card.&lt;br /&gt;
&lt;br /&gt;
Since Danctnix (arch) switched to a gpt partition table from mbr in May of 2022 it installs u-boot at an offset of 128k instead of 8k, which means this command must be used instead&lt;br /&gt;
 sudo dd if=/dev/zero of=/dev/'''[DEVICE]''' bs=32k seek=4 count=1&lt;br /&gt;
&lt;br /&gt;
== Web resources ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.youtube.com/watch?v=7HMkU43P9hw Youtube video on how to flash OS images on the Pinephone (SD or eMMC) by Tech Pills]&lt;br /&gt;
* [https://www.youtube.com/watch?v=u65dofYFAPY Youtube video on How to install different OSes On the PinePhone plus an Mobian overview by Elatronion]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:PinePhone]][[Category:Guide]]&lt;/div&gt;</summary>
		<author><name>Wibble</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PinePhone_Hardware_Accessory_Compatibility&amp;diff=14714</id>
		<title>PinePhone Hardware Accessory Compatibility</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PinePhone_Hardware_Accessory_Compatibility&amp;diff=14714"/>
		<updated>2022-11-19T12:58:46Z</updated>

		<summary type="html">&lt;p&gt;Wibble: /* Case */  add otterbox case info with forum link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''PinePhone''' and '''PinePhone Pro''' is compatible with a wide variety of accessories. A selection can be found here.&lt;br /&gt;
&lt;br /&gt;
== Protection ==&lt;br /&gt;
=== Screen protector ===&lt;br /&gt;
The official screen protector can be found in the Pine64 store under [https://pine64.com/product/pinephone-tempered-glass-screen-protector/?v=0446c16e2e66 PinePhone Tempered Glass Screen Protector].&lt;br /&gt;
&lt;br /&gt;
Most screen protectors for the iPhone 11 Pro Max, iPhone XS Max and Huawei Y7 (2018) fit the PinePhone if the top notch is not obscured by a black foil or a similar obstruction.&lt;br /&gt;
&lt;br /&gt;
=== Case ===&lt;br /&gt;
The Pine store has official cases:&lt;br /&gt;
&lt;br /&gt;
* [https://pine64.com/?product=pinephone-hard-protective-case&amp;amp;v=0446c16e2e66 PinePhone Hard Protective Case]&lt;br /&gt;
* [https://pine64.com/product/pinephone-soft-tpu-protective-case PinePhone Soft TPU Protective Case]&lt;br /&gt;
&lt;br /&gt;
Tight-fit cases of other phones can't be used with the PinePhone because most times the proportions and/or camera notch won't fit. The phone can however be used with most &amp;quot;phone sleeves&amp;quot;, such as those from fitBAG. The sleeve from fitBAG for the Xiaomi Redmi Note 8 Pro fits the PinePhone tightly.&lt;br /&gt;
&lt;br /&gt;
The OtterBox uniVERSE Case for Samsung Galaxy XCover Pro is [https://forum.pine64.org/showthread.php?tid=17580&amp;amp;pid=114227 reported to fit well] without much modification.&lt;br /&gt;
&lt;br /&gt;
== Add-ons ==&lt;br /&gt;
The PinePhone and PinePhone Pro can be extended by replacing the default back cover with custom accessory connecting to the pogo pins on the phone's midsection. Currently the keyboard case, the fingerprint reader, the wireless charging case and the PineDio LoRa case is available. Details can be found under:&lt;br /&gt;
&lt;br /&gt;
* [[PinePhone (Pro) Add-ons]]&lt;br /&gt;
* [[PinePhone (Pro) Keyboard]]&lt;br /&gt;
&lt;br /&gt;
== Community-built accessory ==&lt;br /&gt;
&lt;br /&gt;
The following accessory is made by the community:&lt;br /&gt;
&lt;br /&gt;
* [https://www.thingiverse.com/thing:4654013 PinePhone Development Stand at Thingverse]&lt;br /&gt;
* [https://www.thingiverse.com/thing:4658870 PinePhone Hard Case by _The3DmaN_ at Thingverse]&lt;br /&gt;
* [https://www.thingiverse.com/thing:5238124 PinePhone TPU Case by _The3DmaN_ at Thingverse]&lt;br /&gt;
* [https://www.thingiverse.com/thing:4651177 PinePhone Hard Case by blitzaxt at Thingverse]&lt;br /&gt;
&lt;br /&gt;
== Peripheral equipment ==&lt;br /&gt;
=== Hubs ===&lt;br /&gt;
USB hubs do not require a custom driver and are therefore expected to be compatible with the PinePhone, as long as they are within the USB specification. On revisions the PinePhone mainboard revisions v1.1 and v1.2 the VCONN fix is required, on v1.2a and later the USB hub should work out of the box, see [[PinePhone#Hardware revisions]].&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth devices ===&lt;br /&gt;
In general, Bluetooth should be working. However, due to the audio setup on the PinePhone and PinePhone Pro being complicated due to the dynamic rerouting needed for phone calls.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Name || Product type || Bluetooth version || Result || Tested OS || Kernel version || Notes&lt;br /&gt;
|-&lt;br /&gt;
| Beats Powerbeats Pro || Headset || TBD || Works || Ubuntu Touch || 5.6 || Working&lt;br /&gt;
|-&lt;br /&gt;
| Sony WH-CH510 || Headset || TBD || Works || Mobian || 5.9 || Audio works with A2DP profile, when using HSP/HFP only loud noise appears, unable to make calls and talk via headphones microphone&lt;br /&gt;
|-&lt;br /&gt;
| Sony WH-1000XM3 || Headset || TBD || Works || Manjaro || 5.11.3-1 || Audio works. Have not tested yet to make calls and talk via headphones microphone&lt;br /&gt;
|-&lt;br /&gt;
| Sony WH-1000XM4 || Headset || TBD || Works || Manjaro || 5.14.17-1 || Audio works with A2DP profile, LDAC profile does not showup. Have not tested yet to make calls and talk via headphones microphone &lt;br /&gt;
|-&lt;br /&gt;
| MPOW-059 || Headset || TBD || Works || Ubuntu Touch || 5.6 || Works fine most of the time, but occasionally disconnects when the phone is doing a CPU intensive task&lt;br /&gt;
|-&lt;br /&gt;
| Apple Airpods Pro || Headset || TBD || Works || Mobian || 5.9 || Works fine, but when you are only using one ear bud and decide to use the other one, it'll disconnect and will start sending audio through the internal speaker. It also doesnt work for phone calls&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:PinePhone]]&lt;/div&gt;</summary>
		<author><name>Wibble</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PinePhone_APN_Settings&amp;diff=13202</id>
		<title>PinePhone APN Settings</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PinePhone_APN_Settings&amp;diff=13202"/>
		<updated>2022-06-20T09:24:32Z</updated>

		<summary type="html">&lt;p&gt;Wibble: /* External links */  update lineageos link to latest branch&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [https://en.wikipedia.org/wiki/Access_Point_Name APN] setting is the gateway between your carrier's cellular network and the '''public Internet'''. The APN setting - if not set automatically by the user's OS -  has to be set by the user to enable the use of the mobile Internet on the phone.&lt;br /&gt;
&lt;br /&gt;
= Setting the APN =&lt;br /&gt;
&lt;br /&gt;
The location of the APN setting depend on the user interface the distribution is using.&lt;br /&gt;
&lt;br /&gt;
== Distributions with Phosh ==&lt;br /&gt;
&lt;br /&gt;
APN settings are either located in &amp;lt;code&amp;gt;Settings &amp;gt; Mobile &amp;gt; Access Point Names&amp;lt;/code&amp;gt; (Arch Linux ARM, PureOS, Debian + Phosh) or &amp;lt;code&amp;gt; Settings &amp;gt; Network &amp;gt; Network Dropdown &amp;gt; Add new connection&amp;lt;/code&amp;gt; (pmOS, Fedora).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--== Distributions with Plasma Mobile ==&lt;br /&gt;
&lt;br /&gt;
Todo--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= List of tested carriers =&lt;br /&gt;
&lt;br /&gt;
Disclaimer: Go to the websites of or speak to the customer support lines of those carriers which you want to use. No guarantees. This list is simply user-generated and serves to demonstrate examples of what worked for them. This list is not exhaustive, does not cover all possible carriers.&lt;br /&gt;
&lt;br /&gt;
== 4ka (Slovakia) ==&lt;br /&gt;
 Name: 4ka Internet&lt;br /&gt;
 APN: internet&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Source: https://www.4ka.sk/vitajte/navody-a-nastavenia/detail-navodu&lt;br /&gt;
&lt;br /&gt;
== AT&amp;amp;T-based ==&lt;br /&gt;
&lt;br /&gt;
=== AT&amp;amp;T (USA) ===&lt;br /&gt;
  APN: NXTGENPHONE&lt;br /&gt;
  MMSC: http://mmsc.mobile.att.net&lt;br /&gt;
  MMS proxy: proxy.mobile.att.net&lt;br /&gt;
&lt;br /&gt;
APN: &amp;lt;code&amp;gt;phone&amp;lt;/code&amp;gt; may alternatively work. (see &lt;br /&gt;
&lt;br /&gt;
Source: https://www.att.com/support/article/wireless/KM1218306/&lt;br /&gt;
&lt;br /&gt;
=== AT&amp;amp;T Mexico (Mexico) ===&lt;br /&gt;
&lt;br /&gt;
APN: &amp;lt;code&amp;gt; wap.attmex.mx &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cricket (USA) ===&lt;br /&gt;
APN: &amp;lt;code&amp;gt;phone&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ndo&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;NXTGENPHONE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Blau.de (Germany) ==&lt;br /&gt;
 APN: internet.eplus.de&lt;br /&gt;
 Username: eplus&lt;br /&gt;
 Password: gprs&lt;br /&gt;
&lt;br /&gt;
Source: https://www.my-gps.org/412-apn-einstellungen-deutschland&lt;br /&gt;
&lt;br /&gt;
== Bouygues Telecom (France) ==&lt;br /&gt;
 Name: Bouygues Telecom&lt;br /&gt;
 APN: mmsbouygtel.com&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Source: https://www.assistance.bouyguestelecom.fr/s/article/parametrage-mobile-email-mms-internet&lt;br /&gt;
&lt;br /&gt;
== Congstar - Telekom Net (Germany)  ==&lt;br /&gt;
  Name: Telekom Internet&lt;br /&gt;
  APN: internet.telekom&lt;br /&gt;
  Username: telekom&lt;br /&gt;
  Password: telekom&lt;br /&gt;
&lt;br /&gt;
Other settings seem to work, too. [https://forum.congstar.de/Tarife/Tarif-Produktberatung/46325-Mobil-surfen-mit-congstar-manuelle-Einstellungen-zum-mobilen-Internet-APN/ Congstar mentions]&lt;br /&gt;
&lt;br /&gt;
  Name: Congstar Internet&lt;br /&gt;
  APN: internet.telekom&lt;br /&gt;
  Username: congstar&lt;br /&gt;
  Password: cs&lt;br /&gt;
&lt;br /&gt;
== Eastlink Wireless (Canada) ==&lt;br /&gt;
&lt;br /&gt;
 Name: Eastlink Internet&lt;br /&gt;
 APN: wisp.mobi.eastlink.ca&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Source: https://www.apnsettings.org/canada/eastlink-ca/&lt;br /&gt;
&lt;br /&gt;
== Free (France) ==&lt;br /&gt;
&lt;br /&gt;
 Name: Free&lt;br /&gt;
 APN: free&lt;br /&gt;
 Username: free&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Source: https://mobile.free.fr/assistance/46.html&lt;br /&gt;
&lt;br /&gt;
== Freedom Mobile (Canada) ==&lt;br /&gt;
&lt;br /&gt;
 Name: 1&lt;br /&gt;
 APN: internet.freedommobile.ca&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Google Fi (USA) ==&lt;br /&gt;
&lt;br /&gt;
These are settings that Google provides for their &amp;quot;data-only&amp;quot; SIM cards, but also appears to work fine with the normal SIM card for texting and calling. &lt;br /&gt;
&lt;br /&gt;
 Name: Google Fi&lt;br /&gt;
 APN: h2g2&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Source: https://support.google.com/fi/answer/6330195?hl=en&lt;br /&gt;
&lt;br /&gt;
== Hofer Telekom (Austria) ==&lt;br /&gt;
&lt;br /&gt;
 Name: HoT Internet&lt;br /&gt;
 APN: webaut&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Source: https://www.hot.at/config/faqs/HoT_Einstellungen_Endgera_te.pdf&lt;br /&gt;
&lt;br /&gt;
== kölbi (Costa Rica) ==&lt;br /&gt;
 Name: Costa Rica:Kolbi:Internet&lt;br /&gt;
 APN: kolbi3g &lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: alternatively &amp;lt;code&amp;gt;kolbi4g&amp;lt;/code&amp;gt; also works as APN.&lt;br /&gt;
&lt;br /&gt;
== Koodo (Canada) == &lt;br /&gt;
&lt;br /&gt;
 Name: Internet/MMS 2&lt;br /&gt;
 APN: sp.koodo.com&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Source: https://www.4gapn.com/ca/en/koodo&lt;br /&gt;
&lt;br /&gt;
== KT (South Korea) ==&lt;br /&gt;
&lt;br /&gt;
 Name: KT LTE&lt;br /&gt;
 APN: lte.ktfwing.com&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Name: KT 3G&lt;br /&gt;
 APN: alwayson.ktfwing.com&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: APN automatically detected in Manjaro Phosh. Use either KT LTE or KT 3G according to your subscription.&lt;br /&gt;
&lt;br /&gt;
== Lebara (UK) ==&lt;br /&gt;
 Name: Lebara&lt;br /&gt;
 APN: uk.lebara.mobi&lt;br /&gt;
 Username: wap&lt;br /&gt;
 Password: wap&lt;br /&gt;
&lt;br /&gt;
These settings work on 4G.&lt;br /&gt;
&lt;br /&gt;
Ignore Default/asdamobiles.co.uk APN if present.&lt;br /&gt;
&lt;br /&gt;
== Magenta LTE (Austria) ==&lt;br /&gt;
&lt;br /&gt;
 Name: Magenta&lt;br /&gt;
 APN: internet.t-mobile.at&lt;br /&gt;
 Username: t-mobile&lt;br /&gt;
 Password: tm&lt;br /&gt;
&lt;br /&gt;
Source: https://www.magenta.at/faq/entry/%7Etechnische-anfrage%7Esmartphone%7Efunktionen%26dienste/%7EInternet_APN%7Emaster&lt;br /&gt;
&lt;br /&gt;
== Mineo (Japan) ==&lt;br /&gt;
&lt;br /&gt;
Tested with S plan (Softbank) and D plan (Docomo). Mobile LTE data currently working only on Phosh-based OSes, because they use Network Manager and Modem Manager. Ubuntu Touch not working yet, see issue #58. https://gitlab.com/ubports/community-ports/pinephone/-/issues/58&lt;br /&gt;
&lt;br /&gt;
 Name: Mineo&lt;br /&gt;
 APN: mineo-d.jp&lt;br /&gt;
 Username: mineo@k-opti.com&lt;br /&gt;
 Password: mineo&lt;br /&gt;
&lt;br /&gt;
Source: https://support.mineo.jp/manual/network_setup_d.html&lt;br /&gt;
&lt;br /&gt;
== Mint Mobile (USA) ==&lt;br /&gt;
&lt;br /&gt;
Call their customer service to activate using the number on their website, or activate on their [https://my.mintmobile.com/activation website]. You may also need to reboot your phone.&lt;br /&gt;
&lt;br /&gt;
Use the following APN settings:&lt;br /&gt;
&lt;br /&gt;
 Name: Ultra&lt;br /&gt;
 APN: Wholesale&lt;br /&gt;
&lt;br /&gt;
Source: https://www.mintmobile.com/setup-for-android/&lt;br /&gt;
&lt;br /&gt;
== Mobile Vikings (Belgium) ==&lt;br /&gt;
&lt;br /&gt;
 Name: Mobile Vikings&lt;br /&gt;
 APN: web.be&lt;br /&gt;
 Username: web&lt;br /&gt;
 Password: web&lt;br /&gt;
&lt;br /&gt;
Source: https://support.vikingco.com/hc/en-us/articles/202836041-I-don-t-have-any-mobile-internet-What-do-I-do-&lt;br /&gt;
&lt;br /&gt;
If the first one doesn't work try this one: &lt;br /&gt;
&lt;br /&gt;
 Name: Mobile Vikings&lt;br /&gt;
 APN: web.be&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Source: autoconfig on ubports&lt;br /&gt;
&lt;br /&gt;
== Movistar (Colombia) ==&lt;br /&gt;
&lt;br /&gt;
 Name: Movistar Internet&lt;br /&gt;
 APN: internet.movistar.com.co&lt;br /&gt;
 Username: movistar&lt;br /&gt;
 Password: movistar&lt;br /&gt;
&lt;br /&gt;
== Orange Telecom (France) ==&lt;br /&gt;
 Name: Orange Internet&lt;br /&gt;
 APN: orange&lt;br /&gt;
 Username: orange&lt;br /&gt;
 Password: orange&lt;br /&gt;
&lt;br /&gt;
Source: https://assistance.orange.fr/mobile-tablette/tous-les-mobiles-et-tablettes/depanner/probleme-avec-un-service-d-orange-internet-sms-mms-mails-cloud-tv/mms/configurer-un-apn-internet-et-mms_192948-738196&lt;br /&gt;
&lt;br /&gt;
== Orange (Poland) ==&lt;br /&gt;
 Name: Internet IPv4&lt;br /&gt;
 APN: internet&lt;br /&gt;
 Username: internet&lt;br /&gt;
 Password: internet&lt;br /&gt;
&lt;br /&gt;
Source: https://www.orange.pl/omnibook/konfiguracja-internetu-mms-sms-w-telefonie#&lt;br /&gt;
&lt;br /&gt;
Note: don't forget to activate sim-card using official android/ios app.&lt;br /&gt;
&lt;br /&gt;
== Patriot Mobile (USA T-Mobile) ==&lt;br /&gt;
Internet&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Name: T-Mobile&lt;br /&gt;
APN: Fast.t-mobile.com&lt;br /&gt;
Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
MMS (requires chatty v0.6.1 and mmsd-tng v1.8) &amp;lt;br&amp;gt;&lt;br /&gt;
in /home/alarm/.mms/modemmanager/mms&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Modem Manager]&lt;br /&gt;
CarrierMMSC=http://mms.msg.eng.t-mobile.com/mms/wapenc&lt;br /&gt;
MMS_APN=Fast.t-mobile.com&lt;br /&gt;
CarrierMMSProxy=NULL&lt;br /&gt;
DefaultModemNumber=NULL&lt;br /&gt;
AutoProcessOnConnection=true&lt;br /&gt;
AutoProcessSMSWAP=true&lt;br /&gt;
&lt;br /&gt;
[Settings]&lt;br /&gt;
UseDeliveryReports=false&lt;br /&gt;
TotalMaxAttachmentSize=600000&lt;br /&gt;
MaxAttachments=25&lt;br /&gt;
AutoCreateSMIL=true&lt;br /&gt;
ForceCAres=false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Source: https://www.t-mobile.com/support/devices/not-sold-by-t-mobile/byod-t-mobile-data-and-apn-settings&lt;br /&gt;
&lt;br /&gt;
== Penny Mobil (Germany) ==&lt;br /&gt;
&lt;br /&gt;
APN settings:&lt;br /&gt;
&lt;br /&gt;
 name: Penny Mobil&lt;br /&gt;
 APN: internet.t-mobile&lt;br /&gt;
 username: t-mobile&lt;br /&gt;
 password: tm&lt;br /&gt;
&lt;br /&gt;
== Public Mobile (Canada) ==&lt;br /&gt;
Internet only, mms not tested.&lt;br /&gt;
&lt;br /&gt;
 Name: Public Mobile&lt;br /&gt;
 APN: sp.mb.com&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Source: https://productioncommunity.publicmobile.ca/t5/Phones-Hardware/How-do-I-set-up-data-APN-on-my-smartphone/td-p/3&lt;br /&gt;
&lt;br /&gt;
== Red Pocket (USA) ==&lt;br /&gt;
&lt;br /&gt;
You can choose AT&amp;amp;T, Verizon, T-Mobile or Sprint network.&lt;br /&gt;
&lt;br /&gt;
APN settings:&lt;br /&gt;
&lt;br /&gt;
 name: Red Pocket&lt;br /&gt;
 APN: RESELLER&lt;br /&gt;
&lt;br /&gt;
== Rogers (Canada) ==&lt;br /&gt;
&lt;br /&gt;
 Name: 4G/LTE Rogers Data&lt;br /&gt;
 APN: ltemobile.apn&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Name: 3G Rogers Data&lt;br /&gt;
 APN: internet.com&lt;br /&gt;
 Username: wapuser1&lt;br /&gt;
 Password: wap&lt;br /&gt;
&lt;br /&gt;
Source: https://communityforums.rogers.com/t5/Wireless-Knowledge-Base/Rogers-APN-Settings/ta-p/410438, &lt;br /&gt;
&lt;br /&gt;
== Simyo (Spain) ==&lt;br /&gt;
&lt;br /&gt;
APN settings:&lt;br /&gt;
  APN: orangeworld&lt;br /&gt;
&lt;br /&gt;
Source: https://blog.simyo.es/simyo-configuracion-internet-wap-mms/configura-tu-movil/&lt;br /&gt;
&lt;br /&gt;
== SFR (France) ==&lt;br /&gt;
&lt;br /&gt;
APN settings:&lt;br /&gt;
  Name: SFR webphone&lt;br /&gt;
  APN: sl2sfr&lt;br /&gt;
  username: &amp;lt;empty&amp;gt;&lt;br /&gt;
  password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Source: https://assistance.sfr.fr/tel-mobile/utilisation-param/parametrer-apn-sfr-mobile.html&lt;br /&gt;
&lt;br /&gt;
== Sunrise (Switzerland) ==&lt;br /&gt;
&lt;br /&gt;
 Name: Sunrise&lt;br /&gt;
 APN: internet&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Swisscom (Switzerland) ==&lt;br /&gt;
&lt;br /&gt;
 Name: Swisscom&lt;br /&gt;
 APN: gprs.swisscom.ch&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tele2 (Sweden) ==&lt;br /&gt;
 Name: tele2&lt;br /&gt;
 APN: 4G.tele2.se&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Source: https://www.tele2.se/support/felsokning-guider/tjanster-installningar/mms-och-data&lt;br /&gt;
&lt;br /&gt;
== Telekom (Germany) ==&lt;br /&gt;
&lt;br /&gt;
APN settings:&lt;br /&gt;
&lt;br /&gt;
 Name: Telekom&lt;br /&gt;
 APN: internet.t-mobile&lt;br /&gt;
 Username: t-mobile&lt;br /&gt;
 Password: tm&lt;br /&gt;
&lt;br /&gt;
Source: https://www.telekom.de/hilfe/mobilfunk-mobiles-internet/mobiles-internet-e-mail/apn-mobilfunk/wie-lauten-die-apn-fuer-mobilfunk?samChecked=true&lt;br /&gt;
&lt;br /&gt;
== Telekom (Hungary) ==&lt;br /&gt;
&lt;br /&gt;
APN settings:&lt;br /&gt;
&lt;br /&gt;
 Name: Default&lt;br /&gt;
 APN: internet.telekom&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Telenor (Hungary) ==&lt;br /&gt;
&lt;br /&gt;
 Name: Telenor&lt;br /&gt;
 APN: online&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Source: https://apn.how/hungary/telenor-hungary&lt;br /&gt;
&lt;br /&gt;
== Telenor (Sweden) ==&lt;br /&gt;
&lt;br /&gt;
 Name: Telenor SE&lt;br /&gt;
 APN: services.telenor.se&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Source: https://www.telenor.se/kundservice/vanliga-fragor/min-mobil-surfplatta/vad-har-telenor-for-apn-installningar/&lt;br /&gt;
&lt;br /&gt;
== Telia (Finland) ==&lt;br /&gt;
 Name: internet&lt;br /&gt;
 APN: internet&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Telstra (Australia) ==&lt;br /&gt;
&lt;br /&gt;
 Name: Telstra Internet/WAP&lt;br /&gt;
 APN: telstra.iph&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Three (UK) ==&lt;br /&gt;
&lt;br /&gt;
 Name: 3&lt;br /&gt;
 APN: three.co.uk&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ting (USA) ==&lt;br /&gt;
Using the X3 sim card:&lt;br /&gt;
 Name: Ting Data&lt;br /&gt;
 APN: wireless.dish.com&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For MMS configuration had success using:&lt;br /&gt;
 MMSC: http://wholesale.mmsmvno.com/mms/wapenc&lt;br /&gt;
&lt;br /&gt;
The article mentions using this APN for a hotspot, but unconfirmed&lt;br /&gt;
 Name: Ting Hotspot&lt;br /&gt;
 APN: tethering.dish.com&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Source: https://help.ting.com/hc/en-us/articles/205428698-APN-setup-guide#android-apn-settings-with-the-x3-sim-card-0-1&lt;br /&gt;
&lt;br /&gt;
== Tracfone (USA) == &lt;br /&gt;
&lt;br /&gt;
''BYOP SIM Card Kit'' works with T-Mobile and AT&amp;amp;T compatible SIM cards provided in BYOP kit.&lt;br /&gt;
&lt;br /&gt;
3G/4G data known to work with Verizon &amp;amp; AT&amp;amp;T SIMs (most likely works for T-Mobile as well).&lt;br /&gt;
&lt;br /&gt;
Use the following APN settings:&lt;br /&gt;
&lt;br /&gt;
 Name: Tracfone&lt;br /&gt;
 APN: RESELLER&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To use Verizon's network:&lt;br /&gt;
&lt;br /&gt;
 Name: Tracfone&lt;br /&gt;
 APN: TRACFONE.VZWENTP&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Verizon Contract (USA) ==&lt;br /&gt;
&lt;br /&gt;
There are several APN names which can be used, for example:&lt;br /&gt;
&lt;br /&gt;
 Name: 4G LTE Contract&lt;br /&gt;
 APN: vzwinternet&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other APN names which appear, and may work if the above does not:&lt;br /&gt;
&lt;br /&gt;
 vzwapp&lt;br /&gt;
 vzwims&lt;br /&gt;
&lt;br /&gt;
== Videotron (Canada) ==&lt;br /&gt;
&lt;br /&gt;
 Name: Videotron&lt;br /&gt;
 APN: media.ng&lt;br /&gt;
 Username: free&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Virgin Mobile (Canada) ==&lt;br /&gt;
&lt;br /&gt;
Settings might work with Bell Canada too since it is the same network.&lt;br /&gt;
&lt;br /&gt;
 Name: Mobile Fast Web&lt;br /&gt;
 APN: pda2.bell.ca&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Vodafone (Czech Republic) ==&lt;br /&gt;
 Name: internet&lt;br /&gt;
 APN: internet&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Source: https://www.vodafone.cz/pece/osobni-a-firemni/otazky/zaciname-s-chytrym-telefonem/pripojeni-nastaveni-internetu-v-telefonu/&lt;br /&gt;
&lt;br /&gt;
== Vodafone (UK) ==&lt;br /&gt;
 Name: Vodafone&lt;br /&gt;
 APN: wap.vodafone.co.uk&lt;br /&gt;
 Username: wap&lt;br /&gt;
 Password: wap&lt;br /&gt;
&lt;br /&gt;
These settings work on 4G.&lt;br /&gt;
&lt;br /&gt;
Ignore Default/asdamobiles.co.uk APN if present.&lt;br /&gt;
&lt;br /&gt;
== winSIM (Germany) ==&lt;br /&gt;
 Name: winSIM&lt;br /&gt;
 APN: internet&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Passwort: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Source: https://service.winsim.de/help/showGeraeteeinstellungen (Requires login)&lt;br /&gt;
&lt;br /&gt;
= Carriers that do not work =&lt;br /&gt;
&lt;br /&gt;
== FreedomPop (USA) ==&lt;br /&gt;
VoIP-service. Customer service said they require Android 4.3+, and their free calling and texting works only with the Google Play app they make you use. So calls and texts don't work with non-smart phones and won't work with the PinePhone (even though it is a smart phone) because of software incompatibility. However, the data part still work if APN has been seen correctly set to '''fp.com.attz'''. You get 200MB free data per month. However, please watch out that you will get ding by $20 top up charge when over 200MB limit. &lt;br /&gt;
&lt;br /&gt;
APN: &amp;lt;code&amp;gt;fp.com.attz&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sprint (USA) ==&lt;br /&gt;
&lt;br /&gt;
Sprint is currently not supported due to unknown issues, see also [[PinePhone Carrier Support#Sprint]]. Any input regarding this issue is highly appreciated. &lt;br /&gt;
&lt;br /&gt;
APN: &amp;lt;code&amp;gt;cinet.spcs&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Visible (USA) ==&lt;br /&gt;
&lt;br /&gt;
Visible does not have any way to approve unsupported phones, it might be possible through APN settings, but requires more research and dev time. Even activating a SIM using a supported phone, and then moving it to the Pinephone does not work.&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
&lt;br /&gt;
Other VoLTE services.&lt;br /&gt;
&lt;br /&gt;
= External links =&lt;br /&gt;
&lt;br /&gt;
* See also https://forum.pine64.org/showthread.php?tid=9150&lt;br /&gt;
* LineageOS APN and MMS defaults - https://github.com/LineageOS/android_vendor_lineage/blob/lineage-19.1/prebuilt/common/etc/apns-conf.xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:PinePhone]]&lt;/div&gt;</summary>
		<author><name>Wibble</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PinePhone_APN_Settings&amp;diff=11594</id>
		<title>PinePhone APN Settings</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PinePhone_APN_Settings&amp;diff=11594"/>
		<updated>2021-10-11T15:55:54Z</updated>

		<summary type="html">&lt;p&gt;Wibble: /* External links */  add link to LineageOS default APN and MMS settings&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [https://en.wikipedia.org/wiki/Access_Point_Name APN] setting is the gateway between your carrier's cellular network and the '''public Internet'''. The APN setting - if not set automatically by the user's OS -  has to be set by the user to enable the use of the mobile Internet on the phone.&lt;br /&gt;
&lt;br /&gt;
= Setting the APN =&lt;br /&gt;
&lt;br /&gt;
The location of the APN setting depend on the user interface the distribution is using.&lt;br /&gt;
&lt;br /&gt;
== Distributions with Phosh ==&lt;br /&gt;
&lt;br /&gt;
APN settings are either located in &amp;lt;code&amp;gt;Settings &amp;gt; Mobile &amp;gt; Access Point Names&amp;lt;/code&amp;gt; (Arch Linux ARM, PureOS, Debian + Phosh) or &amp;lt;code&amp;gt; Settings &amp;gt; Network &amp;gt; Network Dropdown &amp;gt; Add new connection&amp;lt;/code&amp;gt; (pmOS, Fedora).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--== Distributions with Plasma Mobile ==&lt;br /&gt;
&lt;br /&gt;
Todo--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= List of tested carriers =&lt;br /&gt;
&lt;br /&gt;
Disclaimer: Go to the websites of or speak to the customer support lines of those carriers which you want to use. No guarantees. This list is simply user-generated and serves to demonstrate examples of what worked for them. This list is not exhaustive, does not cover all possible carriers.&lt;br /&gt;
&lt;br /&gt;
== 4ka (Slovakia) ==&lt;br /&gt;
 Name: 4ka Internet&lt;br /&gt;
 APN: internet&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Source: https://www.4ka.sk/vitajte/navody-a-nastavenia/detail-navodu&lt;br /&gt;
&lt;br /&gt;
== AT&amp;amp;T-based ==&lt;br /&gt;
&lt;br /&gt;
=== AT&amp;amp;T (USA) ===&lt;br /&gt;
APN: &amp;lt;code&amp;gt;phone&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;NXTGENPHONE&amp;lt;/code&amp;gt; if &amp;quot;phone&amp;quot; does not work (see https://www.att.com/support/article/wireless/KM1218306/).&lt;br /&gt;
&lt;br /&gt;
=== AT&amp;amp;T Mexico (Mexico) ===&lt;br /&gt;
&lt;br /&gt;
APN: &amp;lt;code&amp;gt; wap.attmex.mx &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cricket (USA) ===&lt;br /&gt;
APN: &amp;lt;code&amp;gt;phone&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ndo&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;NXTGENPHONE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Blau.de (Germany) ==&lt;br /&gt;
 APN: internet.eplus.de&lt;br /&gt;
 Username: eplus&lt;br /&gt;
 Password: gprs&lt;br /&gt;
&lt;br /&gt;
Source: https://www.my-gps.org/412-apn-einstellungen-deutschland&lt;br /&gt;
&lt;br /&gt;
== Bouygues Telecom (France) ==&lt;br /&gt;
 Name: Bouygues Telecom&lt;br /&gt;
 APN: mmsbouygtel.com&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Source: https://www.assistance.bouyguestelecom.fr/s/article/parametrage-mobile-email-mms-internet&lt;br /&gt;
&lt;br /&gt;
== Congstar - Telekom Net (Germany)  ==&lt;br /&gt;
  Name: Telekom Internet&lt;br /&gt;
  APN: internet.telekom&lt;br /&gt;
  Username: telekom&lt;br /&gt;
  Password: telekom&lt;br /&gt;
&lt;br /&gt;
Other settings seem to work, too. [https://forum.congstar.de/Tarife/Tarif-Produktberatung/46325-Mobil-surfen-mit-congstar-manuelle-Einstellungen-zum-mobilen-Internet-APN/ Congstar mentions]&lt;br /&gt;
&lt;br /&gt;
  Name: Congstar Internet&lt;br /&gt;
  APN: internet.telekom&lt;br /&gt;
  Username: congstar&lt;br /&gt;
  Password: cs&lt;br /&gt;
&lt;br /&gt;
== Eastlink Wireless (Canada) ==&lt;br /&gt;
&lt;br /&gt;
 Name: Eastlink Internet&lt;br /&gt;
 APN: wisp.mobi.eastlink.ca&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Source: https://www.apnsettings.org/canada/eastlink-ca/&lt;br /&gt;
&lt;br /&gt;
== Free (France) ==&lt;br /&gt;
&lt;br /&gt;
 Name: Free&lt;br /&gt;
 APN: free&lt;br /&gt;
 Username: free&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Source: https://mobile.free.fr/assistance/46.html&lt;br /&gt;
&lt;br /&gt;
== Freedom Mobile (Canada) ==&lt;br /&gt;
&lt;br /&gt;
 Name: 1&lt;br /&gt;
 APN: internet.freedommobile.ca&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Google Fi (USA) ==&lt;br /&gt;
&lt;br /&gt;
These are settings that Google provides for their &amp;quot;data-only&amp;quot; SIM cards, but also appears to work fine with the normal SIM card for texting and calling. &lt;br /&gt;
&lt;br /&gt;
 Name: Google Fi&lt;br /&gt;
 APN: h2g2&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Source: https://support.google.com/fi/answer/6330195?hl=en&lt;br /&gt;
&lt;br /&gt;
== Hofer Telekom (Austria) ==&lt;br /&gt;
&lt;br /&gt;
 Name: HoT Internet&lt;br /&gt;
 APN: webaut&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Source: https://www.hot.at/config/faqs/HoT_Einstellungen_Endgera_te.pdf&lt;br /&gt;
&lt;br /&gt;
== kölbi (Costa Rica) ==&lt;br /&gt;
 Name: Costa Rica:Kolbi:Internet&lt;br /&gt;
 APN: kolbi3g &lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: alternatively &amp;lt;code&amp;gt;kolbi4g&amp;lt;/code&amp;gt; also works as APN.&lt;br /&gt;
&lt;br /&gt;
== Koodo (Canada) == &lt;br /&gt;
&lt;br /&gt;
 Name: Internet/MMS 2&lt;br /&gt;
 APN: sp.koodo.com&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Source: https://www.4gapn.com/ca/en/koodo&lt;br /&gt;
&lt;br /&gt;
== KT (South Korea) ==&lt;br /&gt;
&lt;br /&gt;
 Name: KT LTE&lt;br /&gt;
 APN: lte.ktfwing.com&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Name: KT 3G&lt;br /&gt;
 APN: alwayson.ktfwing.com&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: APN automatically detected in Manjaro Phosh. Use either KT LTE or KT 3G according to your subscription.&lt;br /&gt;
&lt;br /&gt;
== Lebara (UK) ==&lt;br /&gt;
 Name: Lebara&lt;br /&gt;
 APN: uk.lebara.mobi&lt;br /&gt;
 Username: wap&lt;br /&gt;
 Password: wap&lt;br /&gt;
&lt;br /&gt;
These settings work on 4G.&lt;br /&gt;
&lt;br /&gt;
Ignore Default/asdamobiles.co.uk APN if present.&lt;br /&gt;
&lt;br /&gt;
== Mineo (Japan) ==&lt;br /&gt;
&lt;br /&gt;
Tested with S plan (Softbank) and D plan (Docomo). Mobile LTE data currently working only on Phosh-based OSes, because they use Network Manager and Modem Manager. Ubuntu Touch not working yet, see issue #58. https://gitlab.com/ubports/community-ports/pinephone/-/issues/58&lt;br /&gt;
&lt;br /&gt;
 Name: Mineo&lt;br /&gt;
 APN: mineo-d.jp&lt;br /&gt;
 Username: mineo@k-opti.com&lt;br /&gt;
 Password: mineo&lt;br /&gt;
&lt;br /&gt;
Source: https://support.mineo.jp/manual/network_setup_d.html&lt;br /&gt;
&lt;br /&gt;
== Mint Mobile (USA) ==&lt;br /&gt;
&lt;br /&gt;
Call their customer service to activate using the number on their website, or activate on their [https://my.mintmobile.com/activation website]. You may also need to reboot your phone.&lt;br /&gt;
&lt;br /&gt;
Use the following APN settings:&lt;br /&gt;
&lt;br /&gt;
 Name: Ultra&lt;br /&gt;
 APN: Wholesale&lt;br /&gt;
&lt;br /&gt;
Source: https://www.mintmobile.com/setup-for-android/&lt;br /&gt;
&lt;br /&gt;
== Mobile Vikings (Belgium) ==&lt;br /&gt;
&lt;br /&gt;
 Name: Mobile Vikings&lt;br /&gt;
 APN: web.be&lt;br /&gt;
 Username: web&lt;br /&gt;
 Password: web&lt;br /&gt;
&lt;br /&gt;
Source: https://support.vikingco.com/hc/en-us/articles/202836041-I-don-t-have-any-mobile-internet-What-do-I-do-&lt;br /&gt;
&lt;br /&gt;
If the first one doesn't work try this one: &lt;br /&gt;
&lt;br /&gt;
 Name: Mobile Vikings&lt;br /&gt;
 APN: web.be&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Source: autoconfig on ubports&lt;br /&gt;
&lt;br /&gt;
== Orange Telecom (France) ==&lt;br /&gt;
 Name: Orange Internet&lt;br /&gt;
 APN: orange&lt;br /&gt;
 Username: orange&lt;br /&gt;
 Password: orange&lt;br /&gt;
&lt;br /&gt;
Source: https://assistance.orange.fr/mobile-tablette/tous-les-mobiles-et-tablettes/depanner/probleme-avec-un-service-d-orange-internet-sms-mms-mails-cloud-tv/mms/configurer-un-apn-internet-et-mms_192948-738196&lt;br /&gt;
&lt;br /&gt;
== Penny Mobil (Germany) ==&lt;br /&gt;
&lt;br /&gt;
APN settings:&lt;br /&gt;
&lt;br /&gt;
 name: Penny Mobil&lt;br /&gt;
 APN: internet.t-mobile&lt;br /&gt;
 username: t-mobile&lt;br /&gt;
 password: tm&lt;br /&gt;
&lt;br /&gt;
== Public Mobile (Canada) ==&lt;br /&gt;
Internet only, mms not tested.&lt;br /&gt;
&lt;br /&gt;
 Name: Public Mobile&lt;br /&gt;
 APN: sp.mb.com&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Source: https://productioncommunity.publicmobile.ca/t5/Phones-Hardware/How-do-I-set-up-data-APN-on-my-smartphone/td-p/3&lt;br /&gt;
&lt;br /&gt;
== Red Pocket (USA) ==&lt;br /&gt;
&lt;br /&gt;
You can choose AT&amp;amp;T, Verizon, T-Mobile or Sprint network.&lt;br /&gt;
&lt;br /&gt;
APN settings:&lt;br /&gt;
&lt;br /&gt;
 name: Red Pocket&lt;br /&gt;
 APN: RESELLER&lt;br /&gt;
&lt;br /&gt;
== Rogers (Canada) ==&lt;br /&gt;
&lt;br /&gt;
 Name: 4G/LTE Rogers Data&lt;br /&gt;
 APN: ltemobile.apn&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Name: 3G Rogers Data&lt;br /&gt;
 APN: internet.com&lt;br /&gt;
 Username: wapuser1&lt;br /&gt;
 Password: wap&lt;br /&gt;
&lt;br /&gt;
Source: https://communityforums.rogers.com/t5/Wireless-Knowledge-Base/Rogers-APN-Settings/ta-p/410438, &lt;br /&gt;
&lt;br /&gt;
== Simyo (Spain) ==&lt;br /&gt;
&lt;br /&gt;
APN settings:&lt;br /&gt;
  APN: orangeworld&lt;br /&gt;
&lt;br /&gt;
Source: https://blog.simyo.es/simyo-configuracion-internet-wap-mms/configura-tu-movil/&lt;br /&gt;
&lt;br /&gt;
== Sunrise (Switzerland) ==&lt;br /&gt;
&lt;br /&gt;
 Name: Sunrise&lt;br /&gt;
 APN: internet&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Swisscom (Switzerland) ==&lt;br /&gt;
&lt;br /&gt;
 Name: Swisscom&lt;br /&gt;
 APN: gprs.swisscom.ch&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tele2 (Sweden) ==&lt;br /&gt;
 Name: tele2&lt;br /&gt;
 APN: 4G.tele2.se&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Source: https://www.tele2.se/support/felsokning-guider/tjanster-installningar/mms-och-data&lt;br /&gt;
&lt;br /&gt;
== Telekom (Germany) ==&lt;br /&gt;
&lt;br /&gt;
APN settings:&lt;br /&gt;
&lt;br /&gt;
 Name: Telekom&lt;br /&gt;
 APN: internet.t-mobile&lt;br /&gt;
 Username: t-mobile&lt;br /&gt;
 Password: tm&lt;br /&gt;
&lt;br /&gt;
Source: https://www.telekom.de/hilfe/mobilfunk-mobiles-internet/mobiles-internet-e-mail/apn-mobilfunk/wie-lauten-die-apn-fuer-mobilfunk?samChecked=true&lt;br /&gt;
&lt;br /&gt;
== Telekom (Hungary) ==&lt;br /&gt;
&lt;br /&gt;
APN settings:&lt;br /&gt;
&lt;br /&gt;
 Name: Default&lt;br /&gt;
 APN: internet.telekom&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Telenor (Hungary) ==&lt;br /&gt;
&lt;br /&gt;
 Name: Telenor&lt;br /&gt;
 APN: online&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Source: https://apn.how/hungary/telenor-hungary&lt;br /&gt;
&lt;br /&gt;
== Telenor (Sweden) ==&lt;br /&gt;
&lt;br /&gt;
 Name: Telenor SE&lt;br /&gt;
 APN: services.telenor.se&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Source: https://www.telenor.se/kundservice/vanliga-fragor/min-mobil-surfplatta/vad-har-telenor-for-apn-installningar/&lt;br /&gt;
&lt;br /&gt;
== Telia (Finland) ==&lt;br /&gt;
 Name: internet&lt;br /&gt;
 APN: internet&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Telstra (Australia) ==&lt;br /&gt;
&lt;br /&gt;
 Name: Telstra Internet/WAP&lt;br /&gt;
 APN: telstra.iph&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Three (UK) ==&lt;br /&gt;
&lt;br /&gt;
 Name: 3&lt;br /&gt;
 APN: three.co.uk&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tracfone (USA) == &lt;br /&gt;
&lt;br /&gt;
''BYOP SIM Card Kit'' works with T-Mobile and AT&amp;amp;T compatible SIM cards provided in BYOP kit.&lt;br /&gt;
&lt;br /&gt;
3G/4G data known to work with Verizon &amp;amp; AT&amp;amp;T SIMs (most likely works for T-Mobile as well).&lt;br /&gt;
&lt;br /&gt;
Use the following APN settings:&lt;br /&gt;
&lt;br /&gt;
 Name: Tracfone&lt;br /&gt;
 APN: RESELLER&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To use Verizon's network:&lt;br /&gt;
&lt;br /&gt;
 Name: Tracfone&lt;br /&gt;
 APN: TRACFONE.VZWENTP&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Verizon Contract (USA) ==&lt;br /&gt;
&lt;br /&gt;
There are several APN names which can be used, for example:&lt;br /&gt;
&lt;br /&gt;
 Name: 4G LTE Contract&lt;br /&gt;
 APN: vzwinternet&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other APN names which appear, and may work if the above does not:&lt;br /&gt;
&lt;br /&gt;
 vzwapp&lt;br /&gt;
 vzwims&lt;br /&gt;
&lt;br /&gt;
== Videotron (Canada) ==&lt;br /&gt;
&lt;br /&gt;
 Name: Videotron&lt;br /&gt;
 APN: media.ng&lt;br /&gt;
 Username: free&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Virgin Mobile (Canada) ==&lt;br /&gt;
&lt;br /&gt;
Settings might work with Bell Canada too since it is the same network.&lt;br /&gt;
&lt;br /&gt;
 Name: Mobile Fast Web&lt;br /&gt;
 APN: pda2.bell.ca&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Vodafone (Czech Republic) ==&lt;br /&gt;
 Name: internet&lt;br /&gt;
 APN: internet&lt;br /&gt;
 Username: &amp;lt;empty&amp;gt;&lt;br /&gt;
 Password: &amp;lt;empty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Source: https://www.vodafone.cz/pece/osobni-a-firemni/otazky/zaciname-s-chytrym-telefonem/pripojeni-nastaveni-internetu-v-telefonu/&lt;br /&gt;
&lt;br /&gt;
== Vodafone (UK) ==&lt;br /&gt;
 Name: Vodafone&lt;br /&gt;
 APN: wap.vodafone.co.uk&lt;br /&gt;
 Username: wap&lt;br /&gt;
 Password: wap&lt;br /&gt;
&lt;br /&gt;
These settings work on 4G.&lt;br /&gt;
&lt;br /&gt;
Ignore Default/asdamobiles.co.uk APN if present.&lt;br /&gt;
&lt;br /&gt;
= Carriers that do not work =&lt;br /&gt;
&lt;br /&gt;
== FreedomPop (USA) ==&lt;br /&gt;
VoIP-service. Customer service said they require Android 4.3+, and their free calling and texting works only with the Google Play app they make you use. So calls and texts don't work with non-smart phones and won't work with the PinePhone (even though it is a smart phone) because of software incompatibility. However, the data part still work if APN has been seen correctly set to '''fp.com.attz'''. You get 200MB free data per month. However, please watch out that you will get ding by $20 top up charge when over 200MB limit. &lt;br /&gt;
&lt;br /&gt;
APN: &amp;lt;code&amp;gt;fp.com.attz&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sprint (USA) ==&lt;br /&gt;
&lt;br /&gt;
Sprint is currently not supported due to unknown issues, see also [[PinePhone Carrier Support#Sprint]]. Any input regarding this issue is highly appreciated. &lt;br /&gt;
&lt;br /&gt;
APN: &amp;lt;code&amp;gt;cinet.spcs&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Visible (USA) ==&lt;br /&gt;
&lt;br /&gt;
Visible does not have any way to approve unsupported phones, it might be possible through APN settings, but requires more research and dev time. Even activating a SIM using a supported phone, and then moving it to the Pinephone does not work.&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
&lt;br /&gt;
Other VoLTE services.&lt;br /&gt;
&lt;br /&gt;
= External links =&lt;br /&gt;
&lt;br /&gt;
* See also https://forum.pine64.org/showthread.php?tid=9150&lt;br /&gt;
* LineageOS APN and MMS defaults - https://github.com/LineageOS/android_vendor_lineage/blob/lineage-18.1/prebuilt/common/etc/apns-conf.xml&lt;br /&gt;
&lt;br /&gt;
[[Category:PinePhone]]&lt;/div&gt;</summary>
		<author><name>Wibble</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PinePhone_Modding&amp;diff=9709</id>
		<title>PinePhone Modding</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PinePhone_Modding&amp;diff=9709"/>
		<updated>2021-04-07T16:11:24Z</updated>

		<summary type="html">&lt;p&gt;Wibble: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are a number of options to hardware mod the PinePhone.&lt;br /&gt;
&lt;br /&gt;
Some are upgrades to fix issues that were not done optimally in the production of that version of the electronics, and some are to add options that were not part of the phone spec.&lt;br /&gt;
&lt;br /&gt;
== PRO TIP ==&lt;br /&gt;
Make pictures of the situation before and after your mods, so you can compare the change, and don't need to disassemble the device to get the right pics later.&lt;br /&gt;
&lt;br /&gt;
==Device Specific Mods ==&lt;br /&gt;
There are a number of upgrades possible for the different versions of the PinePhone.&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Don't be evil&amp;quot; ===&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== BraveHeart ===&lt;br /&gt;
*PMIC mod - Stops the battery drain from a shutdown phone, draining the battery to 0V.&lt;br /&gt;
*VCONN mod - Unblocks the USB-C power negotiation rail, so convergence functions are unlocked.&lt;br /&gt;
&lt;br /&gt;
=== UBPorts Community edition ===&lt;br /&gt;
*VCONN mod - Unblocks the USB-C power negotiation rail, so convergence functions are unlocked.&lt;br /&gt;
&lt;br /&gt;
There are also a number of mods that can be done adding more functions by adding extra hardware to the pogo pins, and a number of options to change the screen protector.&lt;br /&gt;
&lt;br /&gt;
At this moment there are not many pogo addons, and most are just connector boards. Likely the makers will add links to these projects to this page. Pine is looking into adding a N900 style keyboard attached to these pins.&lt;br /&gt;
&lt;br /&gt;
== PMIC mod ==&lt;br /&gt;
[[PinePhone_1.1_VBUS_power_usage_Hardware_Fix]]&lt;br /&gt;
The original description of this fix is given on megi's pager here https://xnux.eu/devices/pp-pmic-fix.jpg&lt;br /&gt;
== VCONN mod ==&lt;br /&gt;
The original description of this fix is given on megi's pager here https://xnux.eu/devices/pp-usbc-fix.jpg&lt;br /&gt;
There is a discussion on the merits of the different ways to do the fix&lt;br /&gt;
&lt;br /&gt;
=== VCONN mod, Removal only ===&lt;br /&gt;
[[PinePhone_1.2_VCONN_Hardware_Fix]]&lt;br /&gt;
&lt;br /&gt;
There are now a few documented ways,&lt;br /&gt;
*Removal only, the tweezer &amp;quot;stupid&amp;quot; way: https://www.youtube.com/watch?v=j3jc7Mvn9Eo&lt;br /&gt;
*Removal only, the soldering iron &amp;quot;less stupid&amp;quot; way: https://www.youtube.com/watch?v=ZqOb45N2sMc&lt;br /&gt;
There are hopefully videos coming doing it the proper way, and so they can be linked here.&lt;br /&gt;
&lt;br /&gt;
After this the firmware for the power negotiation chip needs to be upgraded, this can be done by running the factory test image, version http://images.postmarketos.org/pinephone/pine64-pinephone-20200724-factorytest55.img.xz or higher. This will do the firmware flashing and respond with a message indicating the state. After this the phone is ready for its added functions.&lt;br /&gt;
ANX states:&lt;br /&gt;
*No CC Fix - Fix not applied&lt;br /&gt;
*No USB Cable - No USBC connection, cannot upgrade firmware&lt;br /&gt;
*OK - Firmware Applied, you are all set&lt;br /&gt;
&lt;br /&gt;
=== VCONN mod, Replacement ===&lt;br /&gt;
Using 2x NCP334FCT2G you could do the full fix, making VCONN powered devices able to negotiate power. IT needs the parts to be removed first without damaging the pads, and then replacing the parts.&lt;br /&gt;
&lt;br /&gt;
==Laser cut parts==&lt;br /&gt;
Mcyam2 has created some laser cut templates for the rear facing components here:&lt;br /&gt;
&lt;br /&gt;
https://imgur.com/a/LAUatOa&lt;br /&gt;
&lt;br /&gt;
https://anonfiles.com/L0BeK5L5oe/ppsvg-backplate-CUTOUT_svg&lt;br /&gt;
&lt;br /&gt;
Originally based on silver's work on a 3d printed rear frame&lt;br /&gt;
&lt;br /&gt;
==3D Printed parts==&lt;br /&gt;
&lt;br /&gt;
Silver has created a 3D-printable rear frame for the PinePhone and used it to create a folding keyboard design (work in progress), [[User:Silver/3d printed a folding keyboard mostly]].&lt;br /&gt;
&lt;br /&gt;
https://ibb.co/album/ScDttH&lt;br /&gt;
&lt;br /&gt;
https://www.youmagine.com/designs/pinephone-folding-keyboard-mockup&lt;br /&gt;
&lt;br /&gt;
==PCBs==&lt;br /&gt;
&lt;br /&gt;
https://github.com/SMR404/PinephonePogoBreakout&lt;br /&gt;
&lt;br /&gt;
https://github.com/jnavarro7/pinephone_flex_breakout_board_grove&lt;br /&gt;
&lt;br /&gt;
[[Category:PinePhone]]&lt;/div&gt;</summary>
		<author><name>Wibble</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PinePhone_Modding&amp;diff=9708</id>
		<title>PinePhone Modding</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PinePhone_Modding&amp;diff=9708"/>
		<updated>2021-04-07T16:10:53Z</updated>

		<summary type="html">&lt;p&gt;Wibble: add flex breakout pcb link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are a number of options to hardware mod the PinePhone.&lt;br /&gt;
&lt;br /&gt;
Some are upgrades to fix issues that were not done optimally in the production of that version of the electronics, and some are to add options that were not part of the phone spec.&lt;br /&gt;
&lt;br /&gt;
== PRO TIP ==&lt;br /&gt;
Make pictures of the situation before and after your mods, so you can compare the change, and don't need to disassemble the device to get the right pics later.&lt;br /&gt;
&lt;br /&gt;
==Device Specific Mods ==&lt;br /&gt;
There are a number of upgrades possible for the different versions of the PinePhone.&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Don't be evil&amp;quot; ===&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== BraveHeart ===&lt;br /&gt;
*PMIC mod - Stops the battery drain from a shutdown phone, draining the battery to 0V.&lt;br /&gt;
*VCONN mod - Unblocks the USB-C power negotiation rail, so convergence functions are unlocked.&lt;br /&gt;
&lt;br /&gt;
=== UBPorts Community edition ===&lt;br /&gt;
*VCONN mod - Unblocks the USB-C power negotiation rail, so convergence functions are unlocked.&lt;br /&gt;
&lt;br /&gt;
There are also a number of mods that can be done adding more functions by adding extra hardware to the pogo pins, and a number of options to change the screen protector.&lt;br /&gt;
&lt;br /&gt;
At this moment there are not many pogo addons, and most are just connector boards. Likely the makers will add links to these projects to this page. Pine is looking into adding a N900 style keyboard attached to these pins.&lt;br /&gt;
&lt;br /&gt;
== PMIC mod ==&lt;br /&gt;
[[PinePhone_1.1_VBUS_power_usage_Hardware_Fix]]&lt;br /&gt;
The original description of this fix is given on megi's pager here https://xnux.eu/devices/pp-pmic-fix.jpg&lt;br /&gt;
== VCONN mod ==&lt;br /&gt;
The original description of this fix is given on megi's pager here https://xnux.eu/devices/pp-usbc-fix.jpg&lt;br /&gt;
There is a discussion on the merits of the different ways to do the fix&lt;br /&gt;
&lt;br /&gt;
=== VCONN mod, Removal only ===&lt;br /&gt;
[[PinePhone_1.2_VCONN_Hardware_Fix]]&lt;br /&gt;
&lt;br /&gt;
There are now a few documented ways,&lt;br /&gt;
*Removal only, the tweezer &amp;quot;stupid&amp;quot; way: https://www.youtube.com/watch?v=j3jc7Mvn9Eo&lt;br /&gt;
*Removal only, the soldering iron &amp;quot;less stupid&amp;quot; way: https://www.youtube.com/watch?v=ZqOb45N2sMc&lt;br /&gt;
There are hopefully videos coming doing it the proper way, and so they can be linked here.&lt;br /&gt;
&lt;br /&gt;
After this the firmware for the power negotiation chip needs to be upgraded, this can be done by running the factory test image, version http://images.postmarketos.org/pinephone/pine64-pinephone-20200724-factorytest55.img.xz or higher. This will do the firmware flashing and respond with a message indicating the state. After this the phone is ready for its added functions.&lt;br /&gt;
ANX states:&lt;br /&gt;
*No CC Fix - Fix not applied&lt;br /&gt;
*No USB Cable - No USBC connection, cannot upgrade firmware&lt;br /&gt;
*OK - Firmware Applied, you are all set&lt;br /&gt;
&lt;br /&gt;
=== VCONN mod, Replacement ===&lt;br /&gt;
Using 2x NCP334FCT2G you could do the full fix, making VCONN powered devices able to negotiate power. IT needs the parts to be removed first without damaging the pads, and then replacing the parts.&lt;br /&gt;
&lt;br /&gt;
==Laser cut parts==&lt;br /&gt;
Mcyam2 has created some laser cut templates for the rear facing components here:&lt;br /&gt;
&lt;br /&gt;
https://imgur.com/a/LAUatOa&lt;br /&gt;
&lt;br /&gt;
https://anonfiles.com/L0BeK5L5oe/ppsvg-backplate-CUTOUT_svg&lt;br /&gt;
&lt;br /&gt;
Originally based on silver's work on a 3d printed rear frame&lt;br /&gt;
&lt;br /&gt;
==3D Printed parts==&lt;br /&gt;
&lt;br /&gt;
Silver has created a 3D-printable rear frame for the PinePhone and used it to create a folding keyboard design (work in progress), [[User:Silver/3d printed a folding keyboard mostly]].&lt;br /&gt;
&lt;br /&gt;
https://ibb.co/album/ScDttH&lt;br /&gt;
&lt;br /&gt;
https://www.youmagine.com/designs/pinephone-folding-keyboard-mockup&lt;br /&gt;
&lt;br /&gt;
==PCBs==&lt;br /&gt;
&lt;br /&gt;
https://github.com/SMR404/PinephonePogoBreakout&lt;br /&gt;
https://github.com/jnavarro7/pinephone_flex_breakout_board_grove&lt;br /&gt;
&lt;br /&gt;
[[Category:PinePhone]]&lt;/div&gt;</summary>
		<author><name>Wibble</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PinePhone_Modding&amp;diff=9707</id>
		<title>PinePhone Modding</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PinePhone_Modding&amp;diff=9707"/>
		<updated>2021-04-07T15:54:18Z</updated>

		<summary type="html">&lt;p&gt;Wibble: Add PCBs section with pogo breakout board&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are a number of options to hardware mod the PinePhone.&lt;br /&gt;
&lt;br /&gt;
Some are upgrades to fix issues that were not done optimally in the production of that version of the electronics, and some are to add options that were not part of the phone spec.&lt;br /&gt;
&lt;br /&gt;
== PRO TIP ==&lt;br /&gt;
Make pictures of the situation before and after your mods, so you can compare the change, and don't need to disassemble the device to get the right pics later.&lt;br /&gt;
&lt;br /&gt;
==Device Specific Mods ==&lt;br /&gt;
There are a number of upgrades possible for the different versions of the PinePhone.&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Don't be evil&amp;quot; ===&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== BraveHeart ===&lt;br /&gt;
*PMIC mod - Stops the battery drain from a shutdown phone, draining the battery to 0V.&lt;br /&gt;
*VCONN mod - Unblocks the USB-C power negotiation rail, so convergence functions are unlocked.&lt;br /&gt;
&lt;br /&gt;
=== UBPorts Community edition ===&lt;br /&gt;
*VCONN mod - Unblocks the USB-C power negotiation rail, so convergence functions are unlocked.&lt;br /&gt;
&lt;br /&gt;
There are also a number of mods that can be done adding more functions by adding extra hardware to the pogo pins, and a number of options to change the screen protector.&lt;br /&gt;
&lt;br /&gt;
At this moment there are not many pogo addons, and most are just connector boards. Likely the makers will add links to these projects to this page. Pine is looking into adding a N900 style keyboard attached to these pins.&lt;br /&gt;
&lt;br /&gt;
== PMIC mod ==&lt;br /&gt;
[[PinePhone_1.1_VBUS_power_usage_Hardware_Fix]]&lt;br /&gt;
The original description of this fix is given on megi's pager here https://xnux.eu/devices/pp-pmic-fix.jpg&lt;br /&gt;
== VCONN mod ==&lt;br /&gt;
The original description of this fix is given on megi's pager here https://xnux.eu/devices/pp-usbc-fix.jpg&lt;br /&gt;
There is a discussion on the merits of the different ways to do the fix&lt;br /&gt;
&lt;br /&gt;
=== VCONN mod, Removal only ===&lt;br /&gt;
[[PinePhone_1.2_VCONN_Hardware_Fix]]&lt;br /&gt;
&lt;br /&gt;
There are now a few documented ways,&lt;br /&gt;
*Removal only, the tweezer &amp;quot;stupid&amp;quot; way: https://www.youtube.com/watch?v=j3jc7Mvn9Eo&lt;br /&gt;
*Removal only, the soldering iron &amp;quot;less stupid&amp;quot; way: https://www.youtube.com/watch?v=ZqOb45N2sMc&lt;br /&gt;
There are hopefully videos coming doing it the proper way, and so they can be linked here.&lt;br /&gt;
&lt;br /&gt;
After this the firmware for the power negotiation chip needs to be upgraded, this can be done by running the factory test image, version http://images.postmarketos.org/pinephone/pine64-pinephone-20200724-factorytest55.img.xz or higher. This will do the firmware flashing and respond with a message indicating the state. After this the phone is ready for its added functions.&lt;br /&gt;
ANX states:&lt;br /&gt;
*No CC Fix - Fix not applied&lt;br /&gt;
*No USB Cable - No USBC connection, cannot upgrade firmware&lt;br /&gt;
*OK - Firmware Applied, you are all set&lt;br /&gt;
&lt;br /&gt;
=== VCONN mod, Replacement ===&lt;br /&gt;
Using 2x NCP334FCT2G you could do the full fix, making VCONN powered devices able to negotiate power. IT needs the parts to be removed first without damaging the pads, and then replacing the parts.&lt;br /&gt;
&lt;br /&gt;
==Laser cut parts==&lt;br /&gt;
Mcyam2 has created some laser cut templates for the rear facing components here:&lt;br /&gt;
&lt;br /&gt;
https://imgur.com/a/LAUatOa&lt;br /&gt;
&lt;br /&gt;
https://anonfiles.com/L0BeK5L5oe/ppsvg-backplate-CUTOUT_svg&lt;br /&gt;
&lt;br /&gt;
Originally based on silver's work on a 3d printed rear frame&lt;br /&gt;
&lt;br /&gt;
==3D Printed parts==&lt;br /&gt;
&lt;br /&gt;
Silver has created a 3D-printable rear frame for the PinePhone and used it to create a folding keyboard design (work in progress), [[User:Silver/3d printed a folding keyboard mostly]].&lt;br /&gt;
&lt;br /&gt;
https://ibb.co/album/ScDttH&lt;br /&gt;
&lt;br /&gt;
https://www.youmagine.com/designs/pinephone-folding-keyboard-mockup&lt;br /&gt;
&lt;br /&gt;
==PCBs==&lt;br /&gt;
&lt;br /&gt;
https://github.com/SMR404/PinephonePogoBreakout&lt;br /&gt;
&lt;br /&gt;
[[Category:PinePhone]]&lt;/div&gt;</summary>
		<author><name>Wibble</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PinePhone&amp;diff=9146</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PinePhone&amp;diff=9146"/>
		<updated>2021-02-03T14:17:20Z</updated>

		<summary type="html">&lt;p&gt;Wibble: /* Modem */  Add section for GPS/GNSS&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The PinePhone is a smartphone created by Pine64. The PinePhone is capable of running mainline Linux and is supported by many partner projects. The Braveheart Edition of the PinePhone was the first publicly available version of the phone; it shipped without a fully functional OS and was geared specifically toward early adopters. The Braveheart Edition's successor is the Community Edition. The Community Edition became available in June 2020. The Community Edition will be available for at least five years after its initial release.&lt;br /&gt;
&lt;br /&gt;
== First time installation ==&lt;br /&gt;
&lt;br /&gt;
[[File:Pinephone_rendering_blank_new.png|500px|thumb|right|Rendering of the PinePhone.]]&lt;br /&gt;
&lt;br /&gt;
{{Hint|The default PIN for the KDE Community Edition is '''123456'''.}}&lt;br /&gt;
&lt;br /&gt;
From the factory the battery has a sticker on it that isolates the battery from the phone. The battery '''will not''' charge until this is removed.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinephone_warning.png|none|left|400px]]&lt;br /&gt;
&lt;br /&gt;
To remove the sticker after unboxing the phone:&lt;br /&gt;
&lt;br /&gt;
# Remove the back panel using the notch in the corner of the back cover&lt;br /&gt;
# Remove the battery &lt;br /&gt;
# Peel off the clear plastic sticker below it, which isolates the charging contacts&lt;br /&gt;
# Reinsert the battery&lt;br /&gt;
&lt;br /&gt;
See [[PinePhone#Battery|Battery]] for more information.&lt;br /&gt;
&lt;br /&gt;
The SIM card has to be placed in the lower slot, while the microSD has to be placed in the upper slot, as pictured here:&lt;br /&gt;
&lt;br /&gt;
[[File:Pinephone_backside.png|none|left|400px]]&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
'''Dimensions:''' 160.5 x 76.6 x 9.2mm &amp;lt;br&amp;gt;&lt;br /&gt;
'''Weight:''' Between 180-200 grams &amp;lt;br&amp;gt;&lt;br /&gt;
'''SIM Card:''' Micro-SIM &amp;lt;br&amp;gt;&lt;br /&gt;
'''Display:'''&lt;br /&gt;
: '''Size:''' 5.95 inches (151mm) diagonal&lt;br /&gt;
: '''Type:''' HD IPS capacitive touchscreen, 16M colors&lt;br /&gt;
: '''Resolution:''' 1440x720, 18:9 ratio &amp;lt;br&amp;gt;&lt;br /&gt;
'''System on Chip:''' [https://linux-sunxi.org/A64 Allwinner A64] &amp;lt;br&amp;gt;&lt;br /&gt;
'''RAM:''' 2GB or 3GB LPDDR3 SDRAM&amp;lt;br&amp;gt;&lt;br /&gt;
'''Internal Storage:''' 16GB or 32GB eMMC, extendable up to 2TB via microSD, supports SDHC and SDXC &amp;lt;br&amp;gt;&lt;br /&gt;
'''Back Camera:''' Single 5MP, 1/4&amp;quot;, LED Flash &amp;lt;br&amp;gt;&lt;br /&gt;
'''Selfie Camera:''' Single 2MP, f/2.8, 1/5&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
'''Sound:''' Loudspeaker, 3.5mm jack &amp;amp; mic (jack doubles as hardware UART if killswitch 6 is deactivated) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Communication: G25-G'''&lt;br /&gt;
: '''LTE:''' B1, B2, B3, B4, B5, B7, B8, B12, B13, B18, B19, B20, B25, B26, B28, B38, B39, B40, B41&lt;br /&gt;
: '''WCDMA:''' B1, B2, B4, B5, B6, B8, B19&lt;br /&gt;
: '''GSM:''' 850, 900, 1800, 1900 (MHz)&lt;br /&gt;
: '''WLAN:''' Wi-Fi 802.11 b/g/n, single-band, hotspot&lt;br /&gt;
: '''Bluetooth:''' 4.0, A2DP&lt;br /&gt;
: '''GNSS:''' GPS/GLONASS/BeiDou/Galileo/QZSS, with A-GPS&lt;br /&gt;
'''Sensors:''' Accelerometer, gyro, proximity, ambient light, compass &amp;lt;br&amp;gt;&lt;br /&gt;
'''Killswitches:''' Modem, WiFi &amp;amp; Bluetooth, Microphone, Cameras &amp;lt;br&amp;gt;&lt;br /&gt;
'''Battery:''' Lithium-ion, rated capacity 2800mAh (10.64Wh), typical capacity 3000mAh (11.40Wh) (nominally replaceable with any Samsung J7 form-factor battery) &amp;lt;br&amp;gt;&lt;br /&gt;
'''I/O:''' USB Type-C, USB Host, DisplayPort Alternate Mode output, 15W 5V 3A Quick Charge, follows USB PD specification&lt;br /&gt;
&lt;br /&gt;
== Components ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Component&lt;br /&gt;
! Model&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen&lt;br /&gt;
| Goodix GT917S&lt;br /&gt;
|-&lt;br /&gt;
| Rear camera&lt;br /&gt;
| OmniVision OV5640&lt;br /&gt;
|-&lt;br /&gt;
| Camera flash&lt;br /&gt;
| SGMICRO SGM3140&lt;br /&gt;
|-&lt;br /&gt;
| Front camera&lt;br /&gt;
| GalaxyCore GC2145&lt;br /&gt;
|-&lt;br /&gt;
| LCD&lt;br /&gt;
| Xingbangda XBD599&lt;br /&gt;
|-&lt;br /&gt;
| WiFi&lt;br /&gt;
| Realtek RTL8723CS&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth&lt;br /&gt;
| Realtek RTL8723CS&lt;br /&gt;
|-&lt;br /&gt;
| Modem&lt;br /&gt;
| Quectel EG25-G&lt;br /&gt;
|-&lt;br /&gt;
| GNSS/GPS&lt;br /&gt;
| Quectel EG25-G&lt;br /&gt;
|-&lt;br /&gt;
| Magnetometer&lt;br /&gt;
| ST LIS3MDL&lt;br /&gt;
|-&lt;br /&gt;
| Ambient light / Proximity&lt;br /&gt;
| SensorTek STK3335&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer / Gyroscope&lt;br /&gt;
| InvenSense MPU-6050&lt;br /&gt;
|-&lt;br /&gt;
| Vibration motor&lt;br /&gt;
| Unknown model&lt;br /&gt;
|-&lt;br /&gt;
| Notification LED&lt;br /&gt;
| LED0603RGB&lt;br /&gt;
|-&lt;br /&gt;
| Volume buttons&lt;br /&gt;
| Buttons connected to the KEYADC&lt;br /&gt;
|-&lt;br /&gt;
| Power button&lt;br /&gt;
| X-Powers AXP803&lt;br /&gt;
|-&lt;br /&gt;
| Battery fuel gauge&lt;br /&gt;
| X-Powers AXP803&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
See the [[PinePhone_component_list|PinePhone Component List]].&lt;br /&gt;
&lt;br /&gt;
== Hardware revisions ==&lt;br /&gt;
&lt;br /&gt;
# [[Project Anakin]]&lt;br /&gt;
# [[Project Don't be evil|&amp;quot;Project Don't Be Evil&amp;quot; devkit]]&lt;br /&gt;
# [[PinePhone v1.0 - Dev|PinePhone v1.0 - Developer batch]]&lt;br /&gt;
# [[PinePhone v1.1 - Braveheart]]&lt;br /&gt;
# [[PinePhone v1.2‎]] - Ubports Community Edition&lt;br /&gt;
# [[PinePhone v1.2a]] - postmarketOS Community Edition&lt;br /&gt;
# [[PinePhone v1.2b]] - Manjaro Community Edition, KDE Community Edition, Mobian Community Edition&lt;br /&gt;
&lt;br /&gt;
== Swapping in a new mainboard revision ==&lt;br /&gt;
&lt;br /&gt;
The mainboard can be replaced, for example for upgrading to a newer hardware revision or if it is faulty. The replacement board does not have an OS preinstalled, to test if everything is working after swapping the mainboard a flashed SD card is required. The mainboard also comes with a non-functional firmware on the ANX chip, a newer firmware version has to be flashed as explained below to get certain USB functionality to work.&lt;br /&gt;
&lt;br /&gt;
=== Replacing the mainboard ===&lt;br /&gt;
&lt;br /&gt;
Prior to replacing your PinePhone’s mainboard please read the steps outlined in bullet points below and watch the attached video.&lt;br /&gt;
&lt;br /&gt;
# You’ll need a small Phillip’s screwdriver and a prying tool to swap out the PinePhone’s mainboard.&lt;br /&gt;
# Remove the PinePhone’s back cover. See your quick start guide for details.&lt;br /&gt;
# Remove the battery as well as any inserted SD and SIM cards.&lt;br /&gt;
# Unscrew all 15 Phillip’s head screws around the midframe of the phone.&lt;br /&gt;
# Gently pry up the midframe using a guitar pick or credit card corner. It is easiest to separate the midframe at one of the bottom edges. Work your way around all the sides of the phone until the midframe separates from the phone’s body.&lt;br /&gt;
# Detach all ribbon cables and “Lego” connectors. List of things to detach: 1) two “Lego” connects at the bottom of the mainboard. 2) u.FL antenna connect and touchscreen digitizer on PCD left side. 3) LCD ribbon cable top of mainboard, next to audio/ UART jack.&lt;br /&gt;
# Pry the mainboard up gently from the left-hand side.&lt;br /&gt;
# Remove front and main cameras and reset them into the new mainboard.&lt;br /&gt;
# Check that the rubber proximity sensor housing is in the chassis, not stuck to the removed mainboard.&lt;br /&gt;
# Place the new mainboard in the chassis, hooking in on the plastic tabs on left side and pressing down firmly on opposite side, and follow the steps (7-2) in reverse. When reattaching the midframe take care that no cables are out of place or trapped, as they may be damaged when tightening screws.&lt;br /&gt;
&lt;br /&gt;
After swapping the mainboard the phone won't boot as there is no OS on the replacement board's eMMC preinstalled. To boot an OS insert a flashed SD card.&lt;br /&gt;
&lt;br /&gt;
A video tutorial can be found here:&lt;br /&gt;
[[File:Pinephone_martijn_pcb_replacement.png|thumb|none|600px|link=https://www.youtube.com/watch?v=5GbMoZ_zuZs|Watch Martijn Braam's video tutorial here: https://www.youtube.com/watch?v=5GbMoZ_zuZs.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Alternatively, user bridadan uploaded a video tutorial of the swap procedure including camera swap and proximity sensor housing here: https://www.youtube.com/watch?v=J3AJEF7akkw.]]&lt;br /&gt;
&lt;br /&gt;
=== Flashing the ANX firmware ===&lt;br /&gt;
&lt;br /&gt;
==== Method 1 ====&lt;br /&gt;
{{Hint|This method is currently not compatible with the Linux kernel 5.10.}}&lt;br /&gt;
&lt;br /&gt;
After swapping the mainboard the ANX chip has to be flashed for full USB functionality.&lt;br /&gt;
&lt;br /&gt;
Download the latest ANX firmware image on the phone:&lt;br /&gt;
&lt;br /&gt;
 wget https://xff.cz/git/linux-firmware/plain/anx7688-fw.bin&lt;br /&gt;
&lt;br /&gt;
Execute as root (&amp;quot;sudo su&amp;quot;) on the phone:&lt;br /&gt;
&lt;br /&gt;
 cp anx7688-fw.bin /lib/firmware/&lt;br /&gt;
 echo 1 &amp;gt; /sys/class/typec/port0/device/flash_eeprom&lt;br /&gt;
&lt;br /&gt;
==== Method 2 ====&lt;br /&gt;
&lt;br /&gt;
Booting a factory test image will automatically flash the ANX chip. See [[PinePhone Software Releases#Factory-loaded postmarketOS build]] for such an image.&lt;br /&gt;
&lt;br /&gt;
== Hardware accessory ==&lt;br /&gt;
&lt;br /&gt;
=== PinePhone hardware accessory compatibility ===&lt;br /&gt;
See [[PinePhone Hardware Accessory Compatibility]] for a list of devices working with the PinePhone (depending on their OS support).&lt;br /&gt;
&lt;br /&gt;
=== USB-C connector ===&lt;br /&gt;
&lt;br /&gt;
The USB-C can be used to power the device, and offers USB2 host and OTG possibilities, and also can make use of the USB-C capability to integrate HDMI signals. Some USB-C hubs are available that offer power throughput, USB connection, HDMI port and Ethernet connection. The driver that would make this connection available is not supported at this time.&lt;br /&gt;
&lt;br /&gt;
=== Pogo pins ===&lt;br /&gt;
&lt;br /&gt;
The PinePhone has 6 pogo pins on the back allowing for custom hardware extensions such as wireless charging, an IR blaster, a keyboard extension or extended battery case. The pogo pins provide access to an interrupt line, power input to charge the battery, power source and an I2C interface.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinephone pogo.png|none|400px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| Interrupt&lt;br /&gt;
| SDA&lt;br /&gt;
| SCL&lt;br /&gt;
|-&lt;br /&gt;
| 5V / VBUS&lt;br /&gt;
| VBAT&lt;br /&gt;
| GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The VBUS pin is powered by USB and is 5V at up to 500mA. The second power pin is VBAT, which connects to the battery voltage. The I2C and interrupt lines have pull-ups on the phone side. The I2C lines are pulled up to 3V3 by the phone.&lt;br /&gt;
&lt;br /&gt;
For a breakout board see [https://github.com/SMR404/PinephonePogoBreakout here]. For an example project see Martijn's blog post [https://blog.brixit.nl/making-a-backcover-extension-for-the-pinephone/ &amp;lt;i&amp;gt;&amp;quot;Making a backcover extension for the PinePhone&amp;quot;&amp;lt;/i&amp;gt;].&lt;br /&gt;
&lt;br /&gt;
=== Back cover ===&lt;br /&gt;
A step file for the back cover for creating custom cases is freely available [https://files.pine64.org/doc/PinePhone/PinePhone%20Back%20Cover%20ver%200.5.stp here].&lt;br /&gt;
&lt;br /&gt;
=== Serial console ===&lt;br /&gt;
&lt;br /&gt;
The PinePhone has a serial port in the headphone connector, it's activated by the 6th contact on the dipswitch. If the switch is set to &amp;quot;on&amp;quot;, the headphone connector is in audio mode, if it is set to &amp;quot;off&amp;quot; it's in UART mode. The UART serial connection can also be used for communication with other devices from the PinePhone.&lt;br /&gt;
&lt;br /&gt;
The UART is 115200n8.&lt;br /&gt;
&lt;br /&gt;
The pinout for the serial connector is:&lt;br /&gt;
&lt;br /&gt;
* Tip: RX&lt;br /&gt;
* Ring: TX&lt;br /&gt;
* Sleeve: GND&lt;br /&gt;
&lt;br /&gt;
[[File:PinePhone_Serial_Cable.png|none|400px]]&lt;br /&gt;
&lt;br /&gt;
You can buy a serial debug cable from the [https://pine64.com/product/pinebook-pinephone-pinetab-serial-console/ Pine64 Store]. The store cable uses a 4 ring plug, as seen in the [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf here], but a 3 ring plug works just as well. The cable uses a CH340 chipset based serial to USB converter, but any 3.3v serial connection can be used. Because it is a &amp;quot;host&amp;quot;/DTE it means that you need a ''cross modem cable'' ([https://en.wikipedia.org/wiki/Null_modem Null Modem]) with TX on Tip to be connected to RX. A cable like e.g. [https://www.ftdichip.com/Products/Cables/USBTTLSerial.htm FTDI TTL-232R-3V3-AJ] which has TX on Tip and RX on Ring fits perfectly.&lt;br /&gt;
&lt;br /&gt;
== Killswitch configuration ==&lt;br /&gt;
&lt;br /&gt;
[[File:PinePhone Kill Interruptors de Maquinari del PinePhone 4529.jpg|320px|thumb|right|Detail of DIP switch]]&lt;br /&gt;
&lt;br /&gt;
The PinePhone features six switches that can be used to configure its hardware. They are numbered 1-6, with switch 1 located nearest to the modem. Their &amp;quot;on&amp;quot; position is toward the top of the phone.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Number&lt;br /&gt;
! Name&lt;br /&gt;
! Explanation&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Modem&lt;br /&gt;
| Pulls Q1501 gate up (FET killing modem power)&lt;br /&gt;
| &amp;quot;On&amp;quot; enables 2G/3G/4G communication and GNSS hardware, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| WiFi / Bluetooth&lt;br /&gt;
| Pulls up CHIP_EN&lt;br /&gt;
| &amp;quot;On&amp;quot; enables WiFi and Bluetooth communication hardware, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Microphone&lt;br /&gt;
| Breaks microphone bias voltage from the SoC&lt;br /&gt;
| &amp;quot;On&amp;quot; enables audio input from on-board microphones (not 3.5mm jack), &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Rear camera&lt;br /&gt;
| Pulls up PWDN on OV5640 &lt;br /&gt;
| &amp;quot;On&amp;quot; enables the rear camera, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Front camera&lt;br /&gt;
| Pulls up PWDN on GC2145&lt;br /&gt;
| &amp;quot;On&amp;quot; enables the front camera, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Headphone&lt;br /&gt;
| Pulls up IN2 on analog switch BCT4717ETB&lt;br /&gt;
| &amp;quot;On&amp;quot; enables audio input and output via the 3.5mm audio jack, &amp;quot;off&amp;quot; switches the jack to hardware UART mode.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Camera ==&lt;br /&gt;
&lt;br /&gt;
The PinePhone has two cameras, OmniVision OV5640 with 5MP (up to 2592 x 1944 pixels) as rear camera and GalaxyCore GC2145 with 2MP (up to 1600 x 1200 pixels) as front camera.&lt;br /&gt;
&lt;br /&gt;
[[File:Rose.jpg|400px|thumb|none|Example picture taken on the PinePhone's rear camera by Martijn Braam using his app ''Megapixels''.]]&lt;br /&gt;
&lt;br /&gt;
Further details regarding the camera and the Megapixels camera app can be found on [https://blog.brixit.nl/tag/phones/ Martijn's blog].&lt;br /&gt;
&lt;br /&gt;
== Battery ==&lt;br /&gt;
&lt;br /&gt;
{{Hint|The EG25 modem and RTL8723CS WiFi and bluetooth do not work without battery power, even if you are supplying enough power to the PinePhone with USB-C.}}&lt;br /&gt;
&lt;br /&gt;
The phone ships with a plastic sticker between the battery and the phone. You need to open the back cover (gently), then remove the battery and finally remove the sticker and check that the pins aren't bent. This is to protect the device from turning on during shipping.&lt;br /&gt;
&lt;br /&gt;
The [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20QZ01%20Battery%20Specification.pdf supplied battery] is [https://forum.pine64.org/showthread.php?tid=8120&amp;amp;pid=53307#pid53307 meant to be] compatible with Samsung part number EB-BJ700BBC / BBE / CBE from the 2015 J7 phone. &lt;br /&gt;
* The extended life aftermarket BBU does fit, although it is a tight fit.&lt;br /&gt;
* There is [https://forum.pine64.org/showthread.php?tid=8563&amp;amp;pid=55053#pid55053 a report] that the EB-BJ700CBE isn't quite the same size, causing the back not to fit the Braveheart Edition properly.&lt;br /&gt;
&lt;br /&gt;
The battery terminals, in order from nearest the edge to nearest the middle, are:&lt;br /&gt;
&lt;br /&gt;
# +ve&lt;br /&gt;
# thermistor&lt;br /&gt;
# -ve&lt;br /&gt;
# not connected&lt;br /&gt;
&lt;br /&gt;
The battery includes a protection circuit that isolates it in a number of fault conditions, including if it is discharged too far. The fully discharged battery [https://forum.pine64.org/showthread.php?tid=8563&amp;amp;pid=55377#pid55377 can be recharged] by connecting the phone to a charger. Once it has charged sufficiently you will be able to boot the phone.&lt;br /&gt;
&lt;br /&gt;
If your battery is hard to remove from the phone, try loosening the screws in the midframe around it, which is pressing against the battery. Possibly cutting up a piece of plastic and sliding it under the battery as a pull tab can work too.&lt;br /&gt;
&lt;br /&gt;
[[Image:PinePhone battery3.jpeg|400px|thumb|none|Photo of &amp;lt;i&amp;gt;Braveheart Edition&amp;lt;/i&amp;gt; battery sticker from &amp;lt;i&amp;gt;OSAKANA TARO&amp;lt;/i&amp;gt; on Twitter]]&lt;br /&gt;
&lt;br /&gt;
== Modem ==&lt;br /&gt;
The PinePhone uses Quectel EG25-G as modem. AT commands are used to communicate with the modem. The software &amp;lt;code&amp;gt;minicom&amp;lt;/code&amp;gt; can be used to send the commands.&lt;br /&gt;
&lt;br /&gt;
To connect with the modem:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
minicom -D /dev/ttyUSB2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== AT commands ===&lt;br /&gt;
&lt;br /&gt;
A list of documented AT commands can be found in the [https://www.quectel.com/UploadImage/Downlad/Quectel_EC25&amp;amp;EC21_AT_Commands_Manual_V1.3.pdf EC25&amp;amp;EC21 AT Commands Manual] from Quectel. Further undocumented AT commands found by the developer megi, who reverse-engineered parts of the modem and its firmware, can be found on megi's website [http://xnux.eu/devices/feature/modem-pp-reveng.html#toc-un-der-documented-at-commands here].&lt;br /&gt;
&lt;br /&gt;
=== VoLTE ===&lt;br /&gt;
&lt;br /&gt;
The PinePhone's modem supports VoLTE and comes with a few VoLTE profiles preloaded. Most OSes try to set the correct profile automatically.&lt;br /&gt;
&lt;br /&gt;
To list the available VoLTE profiles:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AT+QMBNCFG=&amp;quot;list&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,0,1,1,&amp;quot;ROW_Generic_3GPP&amp;quot;,0x0501081F,201901141&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,1,0,0,&amp;quot;VoLTE-ATT&amp;quot;,0x0501033C,201909271&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,2,0,0,&amp;quot;hVoLTE-Verizon&amp;quot;,0x05010141,201911251&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,3,0,0,&amp;quot;Sprint-VoLTE&amp;quot;,0x05010205,201908141&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,4,0,0,&amp;quot;Commercial-TMO_VoLTE&amp;quot;,0x05010505,201811231&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,5,0,0,&amp;quot;Telus-Commercial_VoLTE&amp;quot;,0x05800C43,201912031&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,6,0,0,&amp;quot;Commercial-SBM&amp;quot;,0x05011C18,201904021&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,7,0,0,&amp;quot;Commercial-DT&amp;quot;,0x05011F1C,201905311&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,8,0,0,&amp;quot;Reliance_OpnMkt&amp;quot;,0x05011B38,201910161&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,9,0,0,&amp;quot;TF_Germany_VoLTE&amp;quot;,0x05010C1B,201909201&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,10,0,0,&amp;quot;TF_Spain_VoLTE&amp;quot;,0x05010CFA,201909261&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,11,0,0,&amp;quot;Volte_OpenMkt-Commercial-CMCC&amp;quot;,0x05012071,201904281&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,12,0,0,&amp;quot;OpenMkt-Commercial-CT&amp;quot;,0x05011322,201911081&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,13,0,0,&amp;quot;OpenMkt-Commercial-CU&amp;quot;,0x05011505,201807052&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To select a profile manually, select the best fitting one or a generic one if none fits:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;ROW_Generic_3GPP&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then enable Voice over LTE using:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AT+QCFG=&amp;quot;ims&amp;quot;,1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And reboot the modem to apply the settings:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AT+CFUN=1,1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To check the status of VoLTE during a call, the AT command &amp;lt;code&amp;gt;CLCC&amp;lt;/code&amp;gt; can be used:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AT+CLCC&lt;br /&gt;
&lt;br /&gt;
+CLCC: 1,1,0,1,0,&amp;quot;&amp;quot;,128&lt;br /&gt;
+CLCC: 2,1,0,1,0,&amp;quot;&amp;quot;,128&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== APN settings ===&lt;br /&gt;
&lt;br /&gt;
The APN setting is only required for a public Internet connection (&amp;quot;data&amp;quot;) on the phone. For tested APN settings and how to apply them see [[PinePhone APN Settings]].&lt;br /&gt;
&lt;br /&gt;
=== Carrier support ===&lt;br /&gt;
The page [[PinePhone Carrier Support]] contains information about the frequency support of different carriers and hints on setting up cellular network connectivity.&lt;br /&gt;
&lt;br /&gt;
=== Documents ===&lt;br /&gt;
&lt;br /&gt;
Detailed information about the modem can be found on the [https://xnux.eu/devices/feature/modem-pp.html#toc-modem-on-pinephone page of the developer megi], including reverse-engineered parts of the firmware and its functions. There is also a document about using the modem from January 18th 2020 by megi [https://megous.com/dl/tmp/modem.txt here]. A script at the end of the document showcases a way to poweroff the modem before powering off the phone, which is integrated into most of the available OSes.&lt;br /&gt;
&lt;br /&gt;
=== Firmware update ===&lt;br /&gt;
&lt;br /&gt;
{{Hint|The following instructions are directed towards professional users. It is highly recommend to make sure the update process is not interrupted to prevent the modem from bricking.}}&lt;br /&gt;
&lt;br /&gt;
The modem firmware can be updated to the latest version if it is outdated and ''dmesg'' returns the following message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;modem-power serial1-0: Your modem has an outdated firmware. Latest know version is EG25GGBR07A08M2G_01.002.07. Consider updating.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Pre-update checklist:'''&lt;br /&gt;
&lt;br /&gt;
Please make sure all requirements of the checklist are fulfilled. If the update process is interrupted it will lead to a corrupted firmware of the modem, causing it to brick. Recovering a bricked modem is exponentially more complicated and requires the user to boot a special mode by physically bridging test points on the modem.&lt;br /&gt;
&lt;br /&gt;
* The battery needs to be charged sufficiently&lt;br /&gt;
* The phone needs to be plugged into a charger&lt;br /&gt;
* Deep sleep is recommended to be disabled as it can interrupt the update process&lt;br /&gt;
* It is recommended to close all other running applications&lt;br /&gt;
* Use common sense while doing the update, don't do the update while being impaired in any way&lt;br /&gt;
&lt;br /&gt;
To get the latest firmware, clone the repository of user Biktorgj on the phone:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;git clone https://github.com/Biktorgj/quectel_eg25_recovery&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After cloning the directory, open it with cd:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd quectel_eg25_recovery&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then run qfirehose, which starts the flashing process:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo ./qfirehose -f ./&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The modem will automatically reboot after the update process is done. The boot process takes around 30 to 60 seconds. After that it is highly recommended to reboot the device.&lt;br /&gt;
&lt;br /&gt;
=== Firmware modifications ===&lt;br /&gt;
&lt;br /&gt;
See [[PineModems]] for more information regarding modem bootloader unlocking, building a custom modem firmware and modem recovery.&lt;br /&gt;
&lt;br /&gt;
=== Voice mail ===&lt;br /&gt;
&lt;br /&gt;
Some phone operating systems may not have support for accessing your voicemail by holding down the 1 key. If you are in Canada and using rogers or a rogers associated carrier (such as ''Chatr''), you can access your voice mail by calling an external number, see: https://www.howardforums.com/showthread.php/913346-Rogers-GSM-Voicemail-Retrieval-Numbers&lt;br /&gt;
&lt;br /&gt;
In America, AT&amp;amp;T also has support for accessing your voicemail via an external phone number: https://www.att.com/support/article/wireless/KM1009101/&lt;br /&gt;
&lt;br /&gt;
=== GPS / GNSS ===&lt;br /&gt;
&lt;br /&gt;
The AT commands for the GNSS are in a separate manual from the more general AT command documentation. The AGPS data upload uses the file management AT commands, which also have their own manual. All are linked in the documentation section below.&lt;br /&gt;
&lt;br /&gt;
As with most smartphones, the PinePhone has a small antenna and has difficulty getting a first fix without assistance data. While the hardware supports this, it isn't yet used by the software in the distros. There is a [https://gist.github.com/alastair-dm/263209b54d01209be28828e555fa6628 proof of concept script] which can be made to work, but support needs to be added to ModemManager, oFono etc. before it will be easy to use.&lt;br /&gt;
&lt;br /&gt;
== Operating Systems ==&lt;br /&gt;
&lt;br /&gt;
The PinePhone will automatically boot from microSD if a bootable card is inserted. Although it is technically possible to use any ARM distribution (because the PinePhone uses the mainline kernel), there are a few that are designed specifically for mobile use on devices like the PinePhone.&lt;br /&gt;
&lt;br /&gt;
=== Software releases ===&lt;br /&gt;
&lt;br /&gt;
The [[PinePhone Software Releases]] page has a complete list of currently supported phone-optimized Operating System images that work with the PinePhone as well as other related software information. As soon as more patches get mainlined and distributions ship with the updated kernel, they will also be able to run unmodified on the device.&lt;br /&gt;
&lt;br /&gt;
=== Installation instructions ===&lt;br /&gt;
&lt;br /&gt;
For instructions on how to install the operating systems to the eMMC or SD card see [[PinePhone Installation Instructions]].&lt;br /&gt;
&lt;br /&gt;
=== Flashing eMMC using Jumpdrive ===&lt;br /&gt;
&lt;br /&gt;
[[File:jumpdrive.jpg|400px|thumb|right|Jumpdrive running on the PinePhone]]&lt;br /&gt;
The internal eMMC flash storage can be flashed using the Jumpdrive utility by Danct12 and Martijn from postmarketOS.&lt;br /&gt;
This utility boots from micro SD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
The process of flashing an OS to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a SD card. You can use the 'DD' command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
Latest Jumpdrive can be found [https://github.com/dreemurrs-embedded/Jumpdrive/releases/ here].&lt;br /&gt;
&lt;br /&gt;
==== Detailed usage instructions ====&lt;br /&gt;
&lt;br /&gt;
# Download the Jumpdrive image&lt;br /&gt;
# Flash the Jumpdrive image to a micro SD card&lt;br /&gt;
# Boot the PinePhone from the Jumpdrive micro SD card&lt;br /&gt;
# Connect the PinePhone to your computer using USB-A -&amp;gt; USB-C cable&lt;br /&gt;
# Flash the exposed PinePhone drive (e.g. /dev/mm..., check for the right device in dmesg, GNOME disks, or similar, and make sure it's unmounted) with your chosen OS image&lt;br /&gt;
# Once the flashing process is complete, disconnect the PinePhone from your PC, power it down and remove the Jumpdrive SD card&lt;br /&gt;
# The process is now finished, and you can boot from eMMC&lt;br /&gt;
&lt;br /&gt;
Jumpdrive also acts as a rescue image in case if you messed up your installation. To do so, you can telnet to '''172.16.42.1''', mount rootfs and fix it!&lt;br /&gt;
&lt;br /&gt;
==== Resize file system (optional) ====&lt;br /&gt;
&lt;br /&gt;
{{Hint|Many OSes already include a script, which is resizing the partition on first boot, where this step is not required.}}&lt;br /&gt;
&lt;br /&gt;
If you flash a 4GB image distribution to your eMMC, your eMMC will only have a 3.7GB partition on it. To use the entire 14.7GB on the eMMC, run the following commands:&lt;br /&gt;
&lt;br /&gt;
# sudo cfdisk /dev/sdX&lt;br /&gt;
# Change to [Resize] in the ncurses program, resize the 3.7GB partition to 14.7GB, and [Write]&lt;br /&gt;
# sudo resize2fs /dev/sdXY&lt;br /&gt;
&lt;br /&gt;
Replace X with your drive's name. Replace Y with the partition you resized in cfdisk.&lt;br /&gt;
&lt;br /&gt;
==== Feedback ====&lt;br /&gt;
&lt;br /&gt;
If you've found an issue or want to improve the tool consider these sites:&lt;br /&gt;
&lt;br /&gt;
* Issues: https://github.com/dreemurrs-embedded/Jumpdrive/issues&lt;br /&gt;
* Pull Requests: https://github.com/dreemurrs-embedded/Jumpdrive/pulls&lt;br /&gt;
&lt;br /&gt;
== Frequently asked questions ==&lt;br /&gt;
&lt;br /&gt;
For a list of frequently asked questions (including information regarding the shipping) see [[PinePhone FAQ]].&lt;br /&gt;
&lt;br /&gt;
== Replacing the screen ==&lt;br /&gt;
&lt;br /&gt;
Before attempting to replace the screen be sure to review the section on [[#Swapping in a new mainboard revision|replacing the mainboard]] since that will get you most of the way there. Be aware that the replacement screen is actually the entire front frame of the phone and there are components that will need to be swapped from your old screen.&lt;br /&gt;
&lt;br /&gt;
* Make sure you have a precision screwdriver set that has the correct size Philips tip. The screws are very small and the heads can easily be stripped if the screwdriver is not correct - if you feel your screwdriver slipping, stop what you are doing and try one that is a better fit. A magnetized screwdriver will help in not losing screws, as will a magnetic parts holder to keep them in while working.&lt;br /&gt;
&lt;br /&gt;
* There are a number of components and cables as well as the insulator sheet under the battery that are glued in place. A hair dryer will loosen the glue and make them much easier to remove. You may want to order extra cables along with the screen just in case.&lt;br /&gt;
&lt;br /&gt;
* The vibrator motor, which is part of the USB-C board assembly and glued into place, will come apart easily and be damaged if you pry it up in the wrong place. Make sure you pry from underneath the complete part, not midway on its housing. The ribbon cable attaching this to the USB-C board is small, thin, and fragile so be careful with that as well.&lt;br /&gt;
&lt;br /&gt;
* The new screen comes with new side switches and insulator sheet but there are a number of parts that need to be transferred from the old screen, like the thin coax cable running up the side, the phone ear speaker, proximity sensor gasket, and a gold-colored mesh glued in place that needs to be transferred to a flexible circuit included on the new screen. If you don't swap over the proximity sensor rubber gasket the screen will immediately turn off after logging in. Be careful when routing the coax cable that it goes around the screw holes or you may drive a screw right through the cable.&lt;br /&gt;
&lt;br /&gt;
Take your time, use the right tools, be careful and you should be rewarded with success.&lt;br /&gt;
&lt;br /&gt;
== Spare parts not available in the Pine64 store ==&lt;br /&gt;
&lt;br /&gt;
* Earpiece dimensions: 12x6x2 mm. Compatible with Xiaomi Mi2 / Mi3 / Mi4, Lenovo A536 and others. ([https://forum.pine64.org/showthread.php?tid=12046&amp;amp;pid=85698#pid85698 ref])&lt;br /&gt;
* Loudspeaker dimensions: 15x11x3 mm. Compatible with Nokia N91, Lenovo A536 and others. ([https://forum.pine64.org/showthread.php?tid=12046&amp;amp;pid=85698#pid85698 ref])&lt;br /&gt;
* Proximity sensor rubber gasket&lt;br /&gt;
&lt;br /&gt;
== Press ==&lt;br /&gt;
&lt;br /&gt;
For an overview about media of the PinePhone you can use for the news, blogs, or similar see [[PinePhone Press]].&lt;br /&gt;
&lt;br /&gt;
== PinePhone board information, schematics and certifications ==&lt;br /&gt;
* PinePhone mainboard schematic:&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20v1.2b%20Released%20Schematic.pdf PinePhone mainboard Released Schematic ver 1.2b]&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20v1.2a%20Released%20Schematic.pdf PinePhone mainboard Released Schematic ver 1.2a]&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20v1.2%20Released%20Schematic.pdf PinePhone mainboard Released Schematic ver 1.2]&lt;br /&gt;
** [[PinePhone_v1.2|PinePhone schematic ver 1.2 change list]]&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20Schematic%20v1.1%2020191031.pdf &amp;quot;Braveheart&amp;quot; PinePhone mainboard Schematic ver 1.1]&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20mainboard%20top%20placement%20v1.1%2020191031.pdf &amp;quot;Braveheart&amp;quot; PinePhone mainboard component top placement drawing ver 1.1]&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20mainboard%20bottom%20placement%20v1.1%2020191031.pdf &amp;quot;Braveheart&amp;quot; PinePhone mainboard component bottom placement drawing ver 1.1]&lt;br /&gt;
** [[PinePhone component list]]&lt;br /&gt;
* PinePhone USB-C small board schematic:&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20USB-C%20small%20board%20schematic%20v1.0%2020190730.pdf PinePhone USB-C small board Schematic ver 1.0]&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20USB-C%20small%20board%20top%20placement%20v1.0%2020190730.pdf PinePhone USB-C small board component top placement drawing ver 1.0]&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20USB-C%20small%20board%20bottom%20placement%20v1.0%2020190730.pdf PinePhone USB-C small board component bottom placement drawing ver 1.0]&lt;br /&gt;
* PinePhone certifications:&lt;br /&gt;
** [https://files.pine64.org/doc/cert/PinePhone%20FCC%20SDOC%20Certificate-S19112602605001.pdf PinePhone FCC Certificate]&lt;br /&gt;
** [https://fcc.report/FCC-ID/2AWAG-PINEPHONE RF Exposure SAR Information from FCC ID site]&lt;br /&gt;
** [https://files.pine64.org/doc/cert/PinePhone%20CE%20RED%20Certificate-S19112602602.pdf PinePhone CE RED Certificate]&lt;br /&gt;
** [https://files.pine64.org/doc/cert/PinePhone%20ROHS%20Report.pdf PinePhone ROHS Report]&lt;br /&gt;
** Note: PinePhone's GSMA TAC (Type Allocation Code) is &amp;lt;i&amp;gt;86769804&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Datasheets for components and peripherals ==&lt;br /&gt;
&lt;br /&gt;
* Allwinner A64 SoC information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/A64%20brief%20v1.0%2020150323.pdf Allwinner A64 SoC brief introduction]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/A64_Datasheet_V1.1.pdf Allwinner A64 SoC Data Sheet V1.1 (Official Released Version)]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/Allwinner_A64_User_Manual_V1.0.pdf Allwinner A64 SoC User Manual V1.0 (Official Release Version)]&lt;br /&gt;
&lt;br /&gt;
* X-Powers AXP803 PMU (Power Management Unit) information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/AXP803_Datasheet_V1.0.pdf AXP803 PMIC datasheet]&lt;br /&gt;
&lt;br /&gt;
* LPDDR3 (178 Balls) SDRAM:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/ATL3A1632H12A_mobile_lpddr3_11x11.5_v1.0_1600.pdf Artmem LPDDR3 datasheet]&lt;br /&gt;
&lt;br /&gt;
* eMMC information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/Kimtigo_fbga153_16_32_64_eMMC_datasheet_v1.3.pdf Kimtigo eMMC datasheet]&lt;br /&gt;
&lt;br /&gt;
* CMOS camera module information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/QZ01-rear-2019-0717(HW)%20Model.pdf PinePhone 5M Pixel Real CMOS Image Sensor Module]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/OV5640_datasheet.pdf OV5640 5MP CMOS Image Sensor SoC for Rear Module datasheet]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/QZ01-front-2019-0717(HW)%20Model.pdf PinePhone 2M Pixel Front CMOS Image Sensor Module]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GC2145 2MP CMOS Image Sensor SoC for Front Module datasheet]&lt;br /&gt;
&lt;br /&gt;
* LCD touch screen panel information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20LCD-QZ01.pdf 5.99&amp;quot; 1440x720 LCD IPS Panel specification]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/ST7703_DS_v01_20160128.pdf ST7703 LCD Controller datasheet]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/GT917S-Datasheet.pdf GOODiX GT917S Capacitive Touch Controller datasheet]&lt;br /&gt;
&lt;br /&gt;
* Lithium battery information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20QZ01%20Battery%20Specification.pdf PinePhone Lithium Battery specification]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20QZ01%20Battery%20ZCV%20Curve%20Chart.xlsx PinePhone Lithium Battery ZCV curve chart]&lt;br /&gt;
&lt;br /&gt;
* WiFi/BT module information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/RTL8723BS.pdf RTL8723BS/RTL8723CS specification]&lt;br /&gt;
&lt;br /&gt;
* LTE module information:&lt;br /&gt;
** [https://www.quectel.com/UploadFile/Product/Quectel_EG25-G_LTE_Standard_Specification_V1.2.pdf Quectel EG25-G LTE Module specification v1.2]&lt;br /&gt;
** [[Media:Quectel EC25EC21 AT Commands Manual V1.2.pdf|EC25&amp;amp;EC21 AT Commands Manual]]&lt;br /&gt;
** [https://www.quectel.com/UploadImage/Downlad/Quectel_EC2x&amp;amp;EG25-G&amp;amp;EG9x&amp;amp;EM05_FILE_AT_Commands_Manual_V1.0.pdf Quectel EC2x EG25-G EG9x EM05 FILE AT Commands Manual v1.0]&lt;br /&gt;
** [https://sixfab.com/wp-content/uploads/2018/09/Quectel_EC25EC21_GNSS_AT_Commands_Manual_V1.1.pdf Quectel EC25 EC21 GNSS AT Commands Manual v1.1]&lt;br /&gt;
&lt;br /&gt;
* Sensors:&lt;br /&gt;
** [https://www.st.com/en/mems-and-sensors/lis3mdl.html ST LIS3MDL 3-axis Magnetomater Datasheet]&lt;br /&gt;
** [https://www.invensense.com/products/motion-tracking/6-axis/mpu-6050/ InvenSense MPU-6050 Six-Axis (Gyro + Accelerometer) MEMS datasheet]&lt;br /&gt;
** [https://www.sensortek.com.tw/en/product/Proximity_Sensor_with_ALS.html SensorTek STK3335 Ambient Light Sensor and Proximity Sensor]&lt;br /&gt;
&lt;br /&gt;
* Digital video to USB-C bridge:&lt;br /&gt;
** [https://www.analogix.com/en/system/files/AA-002281-PB-6-ANX7688_Product_Brief.pdf ANX7688 product brief]&lt;br /&gt;
&lt;br /&gt;
* Case information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20Exploded%20Diagram%20ver%201.0.pdf PinePhone case exploded diagram]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20Back%20Cover.stp PinePhone back cover 3D file]&lt;br /&gt;
&lt;br /&gt;
* Other components:&lt;br /&gt;
** See links in the [[PinePhone_component_list|Component List]]&lt;br /&gt;
&lt;br /&gt;
== Developer works ==&lt;br /&gt;
=== Megous ===&lt;br /&gt;
&lt;br /&gt;
* [https://xnux.eu/howtos/pine64-pinephone-getting-started.html Getting start with PinePhone Hardware]&lt;br /&gt;
* [https://xnux.eu/devices/pine64-pinephone.html State of development progress]&lt;br /&gt;
* [https://xnux.eu/news.html PinePhone Technical News and Update, also applies to other Allwinner devices including PINE A64 SBC]&lt;br /&gt;
* [https://xnux.eu/contribute.html Contributions to the kernel development]&lt;br /&gt;
&lt;br /&gt;
== External links == &lt;br /&gt;
* [https://pine64.com/product-category/pinephone/ The PinePhone on the official Pine store]&lt;br /&gt;
* [https://pine64.com/product-category/smarphone-spare-parts/ PinePhone spare parts on the official Pine store]&lt;br /&gt;
* [https://pine64.com/product-category/smartphone-accessories/ PinePhone accessories on the official Pine store]&lt;br /&gt;
&lt;br /&gt;
[[Category:PinePhone]] [[Category:Allwinner A64]]&lt;/div&gt;</summary>
		<author><name>Wibble</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PinePhone_FAQ&amp;diff=9145</id>
		<title>PinePhone FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PinePhone_FAQ&amp;diff=9145"/>
		<updated>2021-02-03T13:58:54Z</updated>

		<summary type="html">&lt;p&gt;Wibble: /* Hardware */  Add GPS section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A list of frequently asked question.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
=== Revisions ===&lt;br /&gt;
==== What are Community Editions? ====&lt;br /&gt;
Community Editions of the PinePhone are special versions which comes preinstalled with the operating system of the partner project and features the logo of this project on the back panel. The Community Edition is intended to help partner projects developing these systems: &amp;quot;Community editions are meant to bring exposure to partner-projects operating systems and communities, as well as help finance ongoing development.&amp;quot;, [https://www.pine64.org/2020/04/02/pinephone-ubports-community-edition-pre-orders-now-open/ source].&lt;br /&gt;
&lt;br /&gt;
==== Is the Community Edition the latest revision? ====&lt;br /&gt;
Yes, they are! The Community Edition PinePhones are the latest versions of the PinePhone, featuring the mainboard numbers 1.2 through 1.2b and branded back covers. The only difference between each Community Edition is the inclusion of crucial bug fixes, with the last issue being fixed with the 1.2b motherboard shipping with the Manjaro CE PinePhones. Aside from the back cover, the only other difference is that starting with the postmarketOS edition PinePhone, a convergence package option was released that adds another gigabyte of ram to the phone and a 32GB eMMC instead of a 16GB eMMC. Convergence packages also included a dock for plugging in USB peripherals and connecting to a HDMI monitor, however you can purchase a generic USB-C dock to use with a 2GB PinePhone. The predecessor to the Convergence Edition PinePhones was the Braveheart Edition intended for developers to bring up the platform, which had the version number 1.1. For more details about the topic see [[PinePhone#Hardware Revisions]].&lt;br /&gt;
&lt;br /&gt;
There is currently no plans for further hardware changes beyond the mainboard 1.2b which shipped with the Manjaro CE.&lt;br /&gt;
&lt;br /&gt;
==== Will there be other Community Editions? ====&lt;br /&gt;
Five Community Editions have been announced: [https://www.pine64.org/2020/04/02/pinephone-ubports-community-edition-pre-orders-now-open/ UBports], [https://www.pine64.org/2020/06/15/june-update-postmarketos-ce-pinephone-shipping-pine64-cluster/ postmarketOS], [https://www.pine64.org/2020/08/31/pinephone-manjaro-community-edition/ Manjaro], [https://www.pine64.org/2020/12/01/kde-community-edition-is-now-available/ KDE], and [https://www.pine64.org/2021/01/17/mobian-community-edition/ Mobian]. At this time no further Community Editions are expected. Pine64 is intending to transition to the release of retail units with partners.&lt;br /&gt;
&lt;br /&gt;
==== In simple terms, what are the differences between Braveheart and the new Community Edition? ====&lt;br /&gt;
The Braveheart PinePhone was the first public revision of the PinePhone which was intended solely for developers and Linux enthusiasts. The Ubports Community Edition was the next revision of the PinePhone with an updated mainboard based on feedback from the Braveheart Edition, see [[PinePhone#Hardware Revisions]]. All current revisions of the PinePhone continue to be intended for developers and enthusiasts, however Pine64 will be starting to offer partnered retail units of the PinePhone in 2021 which will have a better warranty and technical support (keep in mind even then it is not intended for a broader audience at this time, as the software still needs work and the hardware does not hold up well to modern consumer standards).&lt;br /&gt;
&lt;br /&gt;
==== Will there be a newer revision after the Community Editions? ====&lt;br /&gt;
It is highly unlikely (unless major issues are found in the latest revision). Starting with the Ubports Community Edition the PinePhone has gotten CE and FCC certifications, repeating the certification process due to changes in the hardware design is very expensive, so the Community Edition(s) are viewed as the final revision besides critical fixes.&lt;br /&gt;
&lt;br /&gt;
The Community Edition PinePhones (and parts for them) will be produced and sold for at least 5 years. There are ideas for a newer PinePhone with updated hardware, however this is multiple years away and there is no solid plan for it yet (3-5 years).&lt;br /&gt;
&lt;br /&gt;
==== Will there be hardware differences between the Community Editions? ====&lt;br /&gt;
&lt;br /&gt;
Besides the varied back covers, starting with the launch of the PostmarketOS CE there has been the release of a convergence package option for the PinePhone which includes more ram and storage, and a included dock for convenience. There has also been multiple hardware changes starting with the Ubports CE (mainboard 1.2) and ending with the Manjaro CE (mainboard 1.2b). There is currently no plans for future hardware changes for a few years.&lt;br /&gt;
&lt;br /&gt;
==== How powerful is the PinePhone's hardware? ====&lt;br /&gt;
&lt;br /&gt;
The PinePhone is about on par with a Raspberry Pi 3 in terms of CPU power, however going by GFLOPS it has half the GPU power. The Pi 3's Videocore IV does 24 GFLOPS, and the Mali 400 MP2 on the PinePhone only 10.8.&lt;br /&gt;
&lt;br /&gt;
Despite this, using software rendering the PinePhone is capable of smoothly rendering at 1080p resolution or higher. However, with a fully GPU-accelerated mobile environment you should expect a more sluggish experience outputting to such resolutions. Unfortunately the Mali 400 MP2 (a 2008 arm mobile GPU) simply isn't intended to push 1080p resolution. With that said, the VPU of the PinePhone has been shown to handle smooth H.264 1440p30 video playback using Cedrus and gstreamer as documented [https://xnux.eu/log/#001 here]. Further, the PinePhone should be more than capable of a smooth phone experience when used in conjunction with well optimized software that makes use of its hardware features. It is also more than capable of running many light games (including 3D ones such as Supertuxkart), and retro gaming. Expect further speed improvements over time as the drivers are improved, and in the meanwhile you can look into slightly [[overclocking]] the device (at your own risk).&lt;br /&gt;
&lt;br /&gt;
=== Sound ===&lt;br /&gt;
=== Modem ===&lt;br /&gt;
&lt;br /&gt;
==== The modem isn't working ====&lt;br /&gt;
&lt;br /&gt;
In order to use the modem and WiFi/Bluetooth, you need to ensure the battery is inside the device and has a sufficient charge. Even when supplying the phone with enough power, the modem and WiFi chip will not work without a connected battery. Further, double check that you have no put the SD card into the sim card slot, or vice versa.&lt;br /&gt;
&lt;br /&gt;
==== Does the PinePhone only wakeup from sleep for calls and texts? ====&lt;br /&gt;
&lt;br /&gt;
Yes. Unless the PinePhone is configured to wakeup every few minutes from deep sleep in crust (At the cost of battery life. However, in the future there may be other solutions), then there is not any way to get any notifications for applications. The modem on the PinePhone will wake the device for incoming calls and texts however, and the real time clock is also capable of waking the device for alarms.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
&lt;br /&gt;
==== The battery is stuck inside the phone ====&lt;br /&gt;
&lt;br /&gt;
The battery can be stuck in the phone if the screws of the frame are overtightened.&lt;br /&gt;
&lt;br /&gt;
If your battery is stuck inside the PinePhone, grab a screw driver and completely unscrew all the screws of the midframe. Then pull out the battery (you may have to fully take off the midframe in some cases to get it out). And then rescrew the midframe, but only tighten the screws to the point where they are just barely tight to hold. This should allow you to remove the battery easily.&lt;br /&gt;
&lt;br /&gt;
==== The battery is discharging while the phone is powered off (Braveheart Edition) ====&lt;br /&gt;
&lt;br /&gt;
The issue is not present on the Community Edition. Due to a hardware bug, after poweroff, the phone still consumes 20–30mA which drains the battery in 3-4 days. A manual procedure to fix the hardware bug is described [https://xnux.eu/devices/pp-pmic-fix.jpg here].&lt;br /&gt;
&lt;br /&gt;
=== Kill Switches ===&lt;br /&gt;
==== What are the kill switches doing? ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Number&lt;br /&gt;
! Name&lt;br /&gt;
! Explanation&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Modem&lt;br /&gt;
| Pulls Q1501 gate up (FET killing modem power)&lt;br /&gt;
| &amp;quot;On&amp;quot; enables 2G/3G/4G communication and GNSS hardware, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| WiFi / Bluetooth&lt;br /&gt;
| Pulls up CHIP_EN&lt;br /&gt;
| &amp;quot;On&amp;quot; enables WiFi and Bluetooth communication hardware, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Microphone&lt;br /&gt;
| Breaks microphone bias voltage from the SoC&lt;br /&gt;
| &amp;quot;On&amp;quot; enables audio input from on-board microphones (not 3.5mm jack), &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Rear camera&lt;br /&gt;
| Pulls up PWDN on OV5640 &lt;br /&gt;
| &amp;quot;On&amp;quot; enables the rear camera, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Front camera&lt;br /&gt;
| Pulls up PWDN on GC2145&lt;br /&gt;
| &amp;quot;On&amp;quot; enables the front camera, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Headphone&lt;br /&gt;
| Pulls up IN2 on analog switch BCT4717ETB&lt;br /&gt;
| &amp;quot;On&amp;quot; enables audio input and output via the 3.5mm audio jack, &amp;quot;off&amp;quot; switches the jack to hardware UART mode.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Memory ===&lt;br /&gt;
&lt;br /&gt;
==== What's the speed difference between the eMMC and SD cards? ====&lt;br /&gt;
Maximum transfer speed of the eMMC is around 85 MB/s, while SD cards are limited to approximately 23 MB/s (even with faster cards).&lt;br /&gt;
&lt;br /&gt;
=== GPS ===&lt;br /&gt;
&lt;br /&gt;
==== GPS doesn't work ====&lt;br /&gt;
&lt;br /&gt;
Like almost all smartphones, the PinePhone GPS antenna is small and can only get a first fix unassisted if the GPS signal is very strong. To make first fix faster and more reliable, phones download assistance data either from the phone network or from the internet. The GPS in the PinePhone modem supports the internet based assistance method, as detailed in the modem documentation, but this isn't yet supported out of the box by any of the distros. There is a [https://gist.github.com/alastair-dm/263209b54d01209be28828e555fa6628 proof of concept script] to show that it can work.&lt;br /&gt;
&lt;br /&gt;
Until AGPS support makes its way into the distros you'll have to make some manual changes - see for example [https://wiki.mobian-project.org/doku.php?id=location Mobian wiki]&lt;br /&gt;
&lt;br /&gt;
===== Broken hardware? =====&lt;br /&gt;
&lt;br /&gt;
One or two people have reported no signal from any satellites, whether using the AGPS proof of concept script or not. This suggests a problem with the antenna, as even without AGPS it is normal for the system to detect the presence of a signal from satellites, even when it's too weak to get a first fix.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
==== How can I install an operating system on the SD card / eMMC? ====&lt;br /&gt;
&lt;br /&gt;
See [[PinePhone Installation Instructions]].&lt;br /&gt;
&lt;br /&gt;
=== Updating ===&lt;br /&gt;
&lt;br /&gt;
Read the [[PinePhone Updating Instructions]].&lt;br /&gt;
&lt;br /&gt;
=== Booting ===&lt;br /&gt;
&lt;br /&gt;
==== What's the boot order for SD cards and eMMC? ====&lt;br /&gt;
&lt;br /&gt;
The PinePhone will automatically boot from microSD if a bootable card is inserted. If no (bootable) microSD is found, it will boot from eMMC.&lt;br /&gt;
&lt;br /&gt;
==== How can I select different OSes at boot? ====&lt;br /&gt;
&lt;br /&gt;
There is a project by Danct12 which allows the user to select different OSes at boot, the software is currently work-in-progress: https://github.com/dreemurrs-embedded/Pineloader.&lt;br /&gt;
&lt;br /&gt;
==== I turned on my Manjaro CE PinePhone. The red LED and screen backlight are briefly lit, then both are not and it will not boot. ====&lt;br /&gt;
&lt;br /&gt;
This can be the result of at least one situation:&lt;br /&gt;
&lt;br /&gt;
# The eMMC installation became corrupt or otherwise unbootable&lt;br /&gt;
# An SD card is present but not bootable (consider [[PinePhone#Detailed usage instructions]])&lt;br /&gt;
&lt;br /&gt;
If there is an installation of Manjaro on both the eMMC &amp;amp; an SD card, the SD card will always boot first on the device. Try taking the SD card out and booting the installation that is on the eMMC. If the problem persists, it is likely there is an issue with both installations and you will need to reinstall your distribution. You may also want to check with your distribution's maintainers if boot issues are a common problem in a recent update.&lt;br /&gt;
&lt;br /&gt;
====  I did not install an update in Ubuntu Touch and I'm stuck on the Pine64 logo after rebooting. ====&lt;br /&gt;
&lt;br /&gt;
# Use a USB A-C cable to plug your phone into your PC&lt;br /&gt;
# Hold the PinePhone's power button for 4 seconds or more to power it off.&lt;br /&gt;
# Wait 5 seconds&lt;br /&gt;
# Hold the Volume Up and Power buttons on the PinePhone to boot into recovery. You should see the LED light red, then yellow, then green. The &amp;quot;Installing update&amp;quot; screen will appear, but a progress bar to indicate update progress will not. Ignore the &amp;quot;Installing update&amp;quot; part.&lt;br /&gt;
# Your PC may automatically mount the PinePhone's partitions. If it does, Safely Remove or Eject all of them.&lt;br /&gt;
# Open a terminal on your PC. Type &amp;lt;code&amp;gt;telnet 172.16.42.1&amp;lt;/code&amp;gt;&lt;br /&gt;
# You should receive the text 'Welcome to Rescue SD Shell!'&lt;br /&gt;
# In the new Rescue SD shell, type &amp;lt;code&amp;gt;umount /dev/mmcblk2p10; e2fsck -fy /dev/mmcblk2p10 &amp;amp;&amp;amp; sync&amp;lt;/code&amp;gt;&lt;br /&gt;
# Once this command pipeline finishes, type &amp;lt;code&amp;gt;sync &amp;amp;&amp;amp; reboot -f&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your PinePhone should reboot into Ubuntu Touch. Now head to Settings -&amp;gt; Updates and install the new update! &lt;br /&gt;
&lt;br /&gt;
If these steps did not solve your issue, please create a new thread here on the Pine64 forums, note what the problem looks like, then say that you've tried these steps already.&lt;br /&gt;
&lt;br /&gt;
This is caused by corruption on the userdata partition. Normally this should be fixed by 'e2fsck' in the initramfs, however an error in image creation means that that version of e2fsck is unable to correct corruption. This has been fixed in all new PinePhone updates, so if you update from the factory image to any other image available to the PinePhone now, you will not experience this issue any longer.&lt;br /&gt;
&lt;br /&gt;
==== I turned on my PinePhone running Ubuntu Touch. The red LED is lit and it will not boot. ====&lt;br /&gt;
# Hold the power button until the light turns off&lt;br /&gt;
# Hold the power button until the light turns on&lt;br /&gt;
&lt;br /&gt;
You may need to repeat these steps more than once.&lt;br /&gt;
&lt;br /&gt;
This is caused by u-boot apparently trying to use the eMMC before it is ready. We are not entirely sure why this occurs yet.&lt;br /&gt;
&lt;br /&gt;
==== Can I install a different OS on my Community Edition? ====&lt;br /&gt;
&lt;br /&gt;
Yes! While all of the Community Edition Pinephones come with an OS preinstalled, you are free to use any OS on the integrated storage (the eMMC) or an SD card, see [[PinePhone Installation Instructions]] and [[PinePhone Software Releases]] on how to install them.&lt;br /&gt;
&lt;br /&gt;
=== Other ===&lt;br /&gt;
&lt;br /&gt;
==== How can I enable SSH? ====&lt;br /&gt;
&lt;br /&gt;
In Ubuntu Touch you can run &amp;quot;sudo start ssh&amp;quot; to get a one-time start, or edit /etc/init/ssh.override and remove the manual line to make it auto-start.&lt;br /&gt;
&lt;br /&gt;
In other distributions you may have to install ssh through its package manager and then proceed to use its init system to enable it. For Manjaro, Arch, and Mobian you can use &amp;quot;systemctl enable&amp;quot; and &amp;quot;systemctl start&amp;quot; command to enable and start ssh.&lt;br /&gt;
&lt;br /&gt;
==== What works, what doesn't? ====&lt;br /&gt;
&lt;br /&gt;
For Ubuntu Touch see https://gitlab.com/ubports/community-ports/pinephone#what-works-what-doesnt.&lt;br /&gt;
&lt;br /&gt;
Other distributions will have different levels of functionality. Please refer to the release page of your chosen distribution for further information.&lt;br /&gt;
&lt;br /&gt;
====  I can't connect to a 2.4Ghz Wi-Fi network in Ubuntu Touch. ====&lt;br /&gt;
&lt;br /&gt;
Reboot your device by holding the power button until the &amp;quot;Power&amp;quot; dialog appears, then pressing &amp;quot;Restart&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If that does not fix the issue, note that all the following conditions must be met to use WiFi on the PinePhone:&lt;br /&gt;
&lt;br /&gt;
# The plastic tab between the battery and the device's battery contacts has been removed&lt;br /&gt;
# The battery is installed&lt;br /&gt;
# The WiFi killswitch, #2, on the rear of the device is switched &amp;quot;ON&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Wi-Fi in the PinePhone only seems stable after a warm reboot like this.&lt;br /&gt;
&lt;br /&gt;
==== What's the status of Android for the PinePhone? ====&lt;br /&gt;
&lt;br /&gt;
Currently, there isn't any major push to get Android running well on the PinePhone. The developer Icenowy did get a Android image to run and partly work, it was however slow and buggy, with major functions not working. A solution for running some of your android apps may be found in Anbox as of now. Anbox is currently not included in Ubuntu Touch. In other distributions your millage may vary on what applications will run and how well.&lt;br /&gt;
&lt;br /&gt;
==== Why are my apps loading slower than on my Android phone? ====&lt;br /&gt;
&lt;br /&gt;
Android has multiple techniques in place to speed up launching applications after the first launch, such as the &amp;quot;Dalvik cache&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Using a alternative filesystem such as F2FS on the eMMC (which is considerably faster than running software on the SD card) may help improve performance slightly. Over time you can expect further optimizations and improvements in various distributions that will help speed up the PinePhone.&lt;br /&gt;
&lt;br /&gt;
=== SMS ===&lt;br /&gt;
&lt;br /&gt;
==== The phone does not receive SMS ====&lt;br /&gt;
&lt;br /&gt;
Sometimes incoming SMS messages are not being received, but outgoing ones, phone calls and data are working fine. One potential cause could be SMS messages that linger in the modem's queue (10 or more of them). This queue appears to be persistent across reboots and also re-imaging the OS.&lt;br /&gt;
&lt;br /&gt;
On Mobian and Manjaro, the ModemManager does all of the communications with the 3G modem including phone calls, cellular data, GPS and SMS. This may not be the case with other PinePhone OSes.&lt;br /&gt;
&lt;br /&gt;
You can access the ModemManager using the mmcli command.&lt;br /&gt;
&lt;br /&gt;
'''Mobian:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo mmcli -m 0 --messaging-list-sms&lt;br /&gt;
Found 10 SMS messages:&lt;br /&gt;
/org/freedesktop/ModemManager1/SMS/0 (received)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Manjaro:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo mmcli -m 3 --messaging-list-sms&lt;br /&gt;
/org/freedesktop/ModemManager1/SMS/77 (received)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For Mobian, delete all of the messages like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ sudo mmcli -m 0 --messaging-delete-sms=1&amp;lt;/code&amp;gt; (Repeat with 1 through 10 to delete all of the messages)&lt;br /&gt;
&lt;br /&gt;
For Manjaro, delete all of the messages like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ sudo mmcli -m 3 --messaging-delete-sms=77&amp;lt;/code&amp;gt; (Repeat with all listed messages)&lt;br /&gt;
&lt;br /&gt;
Note that the &amp;quot;-m 0&amp;quot; or &amp;quot;-m 3&amp;quot; refers to modem 0 or 3 (the only one in a PinePhone). For more help on the messaging related actions available in mmcli you can check the help with &amp;lt;code&amp;gt;mmcli --help-messaging.&amp;lt;/code&amp;gt; This article is also helpful in learning: https://electronproton.com/mmcli-command-examples/. For your particular configuration, you may need to try different &amp;quot;-m #&amp;quot; combinations, e.g., &amp;quot;-m 2&amp;quot; or &amp;quot;-m 4.&amp;quot; &amp;quot;-m 0&amp;quot; is not always the default.&lt;br /&gt;
&lt;br /&gt;
It should also be noted that recent releases of Mobian and postmarketOS now include a userspace daemon called [https://gitlab.com/mobian1/devices/eg25-manager eg25-manager], which helps manage the modem and ensure proper operation.&lt;br /&gt;
&lt;br /&gt;
== Shipping ==&lt;br /&gt;
=== I did not receive an order confirmation ===&lt;br /&gt;
Check your &amp;quot;spam&amp;quot; folder. It was reported that some users did not receive an order confirmation. You will also still get a shipping notification when the device ships out, even if you didn't get a order confirmation email.&lt;br /&gt;
&lt;br /&gt;
=== When does the phone ship? ===&lt;br /&gt;
For up-to-date information when the phone's shipping date is estimated, see the edits in this forum post: https://forum.pine64.org/showthread.php?tid=9942.&lt;br /&gt;
&lt;br /&gt;
=== It is shipping day but I did not receive a shipping notification ===&lt;br /&gt;
For shipments with DHL the shipping notification is sent out as soon as the packet reached DHL's warehouse and scanned (it can take up to 24 hours after scanning after the shipment is added to DHL's database). For all other shipments (via Ascendia) the notification is sent out sometime after shipment.&lt;br /&gt;
&lt;br /&gt;
=== When does my phone ship if I order now? ===&lt;br /&gt;
Orders made after Friday, 22nd May 2020 are shipped after the first bulk of pre-orders has been shipped. The exact date is not known yet due to various reasons, it may be a few weeks after the first bulk shipped. [https://forum.pine64.org/showthread.php?tid=9942 The forum] will be edited with updated information and you will receive a shipping notification when the device was shipped.&lt;br /&gt;
&lt;br /&gt;
=== What about import taxes? ===&lt;br /&gt;
Import taxes have to be payed by the buyer depending on the jurisdiction of the country of the buyer. Please check with your local laws if there are import taxes to pay and if so how to do the tax filing.&lt;br /&gt;
&lt;br /&gt;
== Accessories ==&lt;br /&gt;
&lt;br /&gt;
=== Protection ===&lt;br /&gt;
==== Which screen protector should i use? ====&lt;br /&gt;
&lt;br /&gt;
Protecting your screen is important, especially for devices like the PinePhone that doesn't have access to the newest glass technology.&lt;br /&gt;
The Braveheart and Community Editions of the PinePhone comes with a plastic film screen protector installed, and Pine64 sells a tempered glass screen protector [https://pine64.com/product/pinephone-tempered-glass-screen-protector/ in their store].&lt;br /&gt;
&lt;br /&gt;
You can also buy a third party screen protector, as the screen protectors for the iPhone 11 Pro Max/XS Max fit the PinePhone pretty well based on [https://forum.pine64.org/showthread.php?tid=8458&amp;amp;pid=65409#pid65409 this] forum post.&lt;br /&gt;
&lt;br /&gt;
=== Batteries ===&lt;br /&gt;
==== I want a replacement battery, which one should I buy? ====&lt;br /&gt;
&lt;br /&gt;
Replacement batteries for US customers are available in the store.&lt;br /&gt;
&lt;br /&gt;
Currently the PinePhone battery is known to be compatible with replacement batteries for the Samsung J700, specifically models &amp;quot;EB-BJ700BBC&amp;quot;, &amp;quot;EB-BJ700BBE&amp;quot; and maybe &amp;quot;EB-BJ700CBE&amp;quot; are compatible. There is [https://forum.pine64.org/showthread.php?tid=8563&amp;amp;pid=55053#pid55053 a report] that model &amp;quot;EB-BJ700CBE&amp;quot; might be incompatible so it's probably safer to go with either the BBC or BBE models.&lt;br /&gt;
&lt;br /&gt;
=== External hardware ===&lt;br /&gt;
&lt;br /&gt;
==== Will Pine64 sell other addons made for the PinePhone? ====&lt;br /&gt;
&lt;br /&gt;
Yes, currently there is a keyboard case [https://forum.pine64.org/showthread.php?tid=8537&amp;amp;pid=55396#pid55396 with similarities to the Psion 5] which includes an internal battery, and a [https://www.pine64.org/2020/05/15/may-update-pinetab-pre-orders-pinephone-qi-charging-more/ Qi wireless charging] add-on planned, both of which Pine64 intends to directly sell. There is the potential for future add-ons such as a game pad, however that is currently just an idea and not in any way planned.&lt;br /&gt;
&lt;br /&gt;
==== Which 3rd party hardware can connect to my PinePhone? ====&lt;br /&gt;
&lt;br /&gt;
See [[PinePhone Hardware Accessory Compatibility]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:PinePhone]]&lt;/div&gt;</summary>
		<author><name>Wibble</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PinePhone&amp;diff=8419</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PinePhone&amp;diff=8419"/>
		<updated>2020-12-15T23:15:33Z</updated>

		<summary type="html">&lt;p&gt;Wibble: /* Spare parts not available in the Pine64 store */ add reference links to forum post&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The PinePhone is a smartphone created by Pine64, capable of running mainline Linux and supported by many partner projects. The BraveHeart Edition was the first publicly-available version of the phone, though it came without a fully functional OS (factory test image) and was geared specifically towards tinkerers and hackers. Its successor is the Community Edition, the first Community Edition started to ship in June 2020. The phone will be available for at least five years.&lt;br /&gt;
&lt;br /&gt;
== First time installation ==&lt;br /&gt;
&lt;br /&gt;
{{Hint|The default PIN for the Manjaro Community Edition is '''123456'''.}}&lt;br /&gt;
&lt;br /&gt;
[[File:PinePhone-3.jpg|400px|thumb|right|PinePhone is capable of running a multitude of different Linux mobile OSes]]&lt;br /&gt;
&lt;br /&gt;
[[File:Pinephone_rendering_blank.png|400px|thumb|right|Rendering of the back and front of PinePhone]]&lt;br /&gt;
&lt;br /&gt;
From the factory the battery has a sticker on it that isolates the battery from the phone. The battery '''will not''' charge until this is removed.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinephone_warning.png|none|left|400px]]&lt;br /&gt;
&lt;br /&gt;
After unboxing remove the back panel using the notch in the corner of the back panel. Then remove the battery and peel off the clear plastic sticker below it that isolates the charging contact. Then replace the battery, see [[PinePhone#Battery|Battery]] for more information.&lt;br /&gt;
&lt;br /&gt;
The SIM card has to be placed in the lower slot, while the microSD has to be placed in the upper slot, as pictured here:&lt;br /&gt;
&lt;br /&gt;
[[File:Pinephone_backside.png|none|left|400px]]&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
'''Dimensions:''' 160.5 x 76.6 x 9.2mm &amp;lt;br&amp;gt;&lt;br /&gt;
'''Weight:''' Between 180-200 grams &amp;lt;br&amp;gt;&lt;br /&gt;
'''SIM Card:''' Micro-SIM &amp;lt;br&amp;gt;&lt;br /&gt;
'''Display:'''&lt;br /&gt;
: '''Size:''' 5.95 inches (151mm) diagonal&lt;br /&gt;
: '''Type:''' HD IPS capacitive touchscreen, 16M colors&lt;br /&gt;
: '''Resolution:''' 1440x720, 18:9 ratio &amp;lt;br&amp;gt;&lt;br /&gt;
'''System on Chip:''' [https://linux-sunxi.org/A64 Allwinner A64] &amp;lt;br&amp;gt;&lt;br /&gt;
'''RAM:''' 2GB or 3GB LPDDR3 SDRAM&amp;lt;br&amp;gt;&lt;br /&gt;
'''Internal Storage:''' 16GB or 32GB eMMC, extendable up to 2TB via microSD, supports SDHC and SDXC &amp;lt;br&amp;gt;&lt;br /&gt;
'''Back Camera:''' Single 5MP, 1/4&amp;quot;, LED Flash &amp;lt;br&amp;gt;&lt;br /&gt;
'''Selfie Camera:''' Single 2MP, f/2.8, 1/5&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
'''Sound:''' Loudspeaker, 3.5mm jack &amp;amp; mic (jack doubles as hardware UART if killswitch 6 is deactivated) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Communication: G25-G'''&lt;br /&gt;
: '''LTE:''' B1, B2, B3, B4, B5, B7, B8, B12, B13, B18, B19, B20, B25, B26, B28, B38, B39, B40, B41&lt;br /&gt;
: '''WCDMA:''' B1, B2, B4, B5, B6, B8, B19&lt;br /&gt;
: '''GSM:''' 850, 900, 1800, 1900 (MHz)&lt;br /&gt;
: '''WLAN:''' Wi-Fi 802.11 b/g/n, single-band, hotspot&lt;br /&gt;
: '''Bluetooth:''' 4.0, A2DP&lt;br /&gt;
: '''GNSS:''' GPS/GLONASS/BeiDou/Galileo/QZSS, with A-GPS&lt;br /&gt;
'''Sensors:''' Accelerometer, gyro, proximity, ambient light, compass &amp;lt;br&amp;gt;&lt;br /&gt;
'''Killswitches:''' Modem, WiFi &amp;amp; Bluetooth, Microphone, Cameras &amp;lt;br&amp;gt;&lt;br /&gt;
'''Battery:''' Lithium-ion, rated capacity 2800mAh (10.64Wh), typical capacity 3000mAh (11.40Wh) (nominally replaceable with any Samsung J7 form-factor battery) &amp;lt;br&amp;gt;&lt;br /&gt;
'''I/O:''' USB Type-C, USB Host, DisplayPort Alternate Mode output, 15W 5V 3A Quick Charge, follows USB PD specification&lt;br /&gt;
&lt;br /&gt;
== Components ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Component&lt;br /&gt;
! Model&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen&lt;br /&gt;
| Goodix GT917S&lt;br /&gt;
|-&lt;br /&gt;
| Rear camera&lt;br /&gt;
| OmniVision OV5640&lt;br /&gt;
|-&lt;br /&gt;
| Camera flash&lt;br /&gt;
| SGMICRO SGM3140&lt;br /&gt;
|-&lt;br /&gt;
| Front camera&lt;br /&gt;
| GalaxyCore GC2145&lt;br /&gt;
|-&lt;br /&gt;
| LCD&lt;br /&gt;
| Xingbangda XBD599&lt;br /&gt;
|-&lt;br /&gt;
| WiFi&lt;br /&gt;
| Realtek RTL8723CS&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth&lt;br /&gt;
| Realtek RTL8723CS&lt;br /&gt;
|-&lt;br /&gt;
| Modem&lt;br /&gt;
| Quectel EG25-G&lt;br /&gt;
|-&lt;br /&gt;
| GNSS/GPS&lt;br /&gt;
| Quectel EG25-G&lt;br /&gt;
|-&lt;br /&gt;
| Magnetometer&lt;br /&gt;
| ST LIS3MDL&lt;br /&gt;
|-&lt;br /&gt;
| Ambient light / Proximity&lt;br /&gt;
| SensorTek STK3335&lt;br /&gt;
|-&lt;br /&gt;
| Sixaxis&lt;br /&gt;
| InvenSense MPU-6050&lt;br /&gt;
|-&lt;br /&gt;
| Vibration motor&lt;br /&gt;
| Unknown model&lt;br /&gt;
|-&lt;br /&gt;
| Notification LED&lt;br /&gt;
| LED0603RGB&lt;br /&gt;
|-&lt;br /&gt;
| Volume buttons&lt;br /&gt;
| Buttons connected to the KEYADC&lt;br /&gt;
|-&lt;br /&gt;
| Power button&lt;br /&gt;
| X-Powers AXP803&lt;br /&gt;
|-&lt;br /&gt;
| Battery fuel gauge&lt;br /&gt;
| X-Powers AXP803&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
See the [[PinePhone_component_list|PinePhone Component List]].&lt;br /&gt;
&lt;br /&gt;
== Hardware revisions ==&lt;br /&gt;
&lt;br /&gt;
# [[Project Anakin]]&lt;br /&gt;
# [[Project Don't be evil|&amp;quot;Project Don't Be Evil&amp;quot; devkit]]&lt;br /&gt;
# [[PinePhone v1.0 - Dev|PinePhone v1.0 - Developer batch]]&lt;br /&gt;
# [[PinePhone v1.1 - Braveheart]]&lt;br /&gt;
# [[PinePhone v1.2‎]] - Ubports Community Edition&lt;br /&gt;
# [[PinePhone v1.2a]] - postmarketOS Community Edition&lt;br /&gt;
# [[PinePhone v1.2b]] - Manjaro Community Edition&lt;br /&gt;
&lt;br /&gt;
== Swapping in a new mainboard revision ==&lt;br /&gt;
&lt;br /&gt;
The mainboard can be replaced, for example for upgrading to a newer hardware revision or if it is faulty. The replacement board does not have an OS preinstalled, to test if everything is working after swapping the mainboard a flashed SD card is required. The mainboard also comes with a non-functional firmware on the ANX chip, a newer firmware version has to be flashed as explained below to get certain USB functionality to work.&lt;br /&gt;
&lt;br /&gt;
=== Replacing the mainboard ===&lt;br /&gt;
&lt;br /&gt;
Prior to replacing your PinePhone’s mainboard please read the steps outlined in bullet points below and watch the attached video.&lt;br /&gt;
&lt;br /&gt;
# You’ll need a small Phillip’s screwdriver and a prying tool to swap out the PinePhone’s mainboard.&lt;br /&gt;
# Remove the PinePhone’s back cover. See your quick start guide for details.&lt;br /&gt;
# Remove the battery as well as any inserted SD and SIM cards.&lt;br /&gt;
# Unscrew all 15 Phillip’s head screws around the midframe of the phone.&lt;br /&gt;
# Gently pry up the midframe using a guitar pick or credit card corner. It is easiest to separate the midframe at one of the bottom edges. Work your way around all the sides of the phone until the midframe separates from the phone’s body.&lt;br /&gt;
# Detach all ribbon cables and “Lego” connectors. List of things to detach: 1) two “Lego” connects at the bottom of the mainboard. 2) u.FL antenna connect and touchscreen digitizer on PCD left side. 3) LCD ribbon cable top of mainboard, next to audio/ UART jack.&lt;br /&gt;
# Pry the mainboard up gently from the left-hand side.&lt;br /&gt;
# Remove front and main cameras and reset them into the new mainboard.&lt;br /&gt;
# Check that the rubber proximity sensor housing is in the chassis, not stuck to the removed mainboard.&lt;br /&gt;
# Place the new mainboard in the chassis, hooking in on the plastic tabs on left side and pressing down firmly on opposite side, and follow the steps (7-2) in reverse. When reattaching the midframe take care that no cables are out of place or trapped, as they may be damaged when tightening screws.&lt;br /&gt;
&lt;br /&gt;
After swapping the mainboard the phone won't boot as there is no OS on the replacement board's eMMC preinstalled. To boot an OS insert a flashed SD card.&lt;br /&gt;
&lt;br /&gt;
A video tutorial can be found here:&lt;br /&gt;
[[File:Pinephone_martijn_pcb_replacement.png|thumb|none|600px|link=https://www.youtube.com/watch?v=5GbMoZ_zuZs|Watch Martijn Braam's video tutorial here: https://www.youtube.com/watch?v=5GbMoZ_zuZs.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Alternatively user bridadan uploaded a video tutorial of the swap procedure including camera swap and proximity sensor housing here: https://www.youtube.com/watch?v=J3AJEF7akkw.]]&lt;br /&gt;
&lt;br /&gt;
=== Flashing the ANX firmware ===&lt;br /&gt;
&lt;br /&gt;
After swapping the mainboard the ANX chip has to be flashed for full USB functionality.&lt;br /&gt;
&lt;br /&gt;
Download the latest ANX firmware image on the phone:&lt;br /&gt;
&lt;br /&gt;
 wget https://xff.cz/git/linux-firmware/plain/anx7688-fw.bin&lt;br /&gt;
&lt;br /&gt;
Execute as root (&amp;quot;sudo su&amp;quot;) on the phone:&lt;br /&gt;
&lt;br /&gt;
 cp anx7688-fw.bin /lib/firmware/&lt;br /&gt;
 echo 1 &amp;gt; /sys/class/typec/port0/device/flash_eeprom&lt;br /&gt;
&lt;br /&gt;
== Hardware accessory ==&lt;br /&gt;
&lt;br /&gt;
=== PinePhone hardware accessory compatibility ===&lt;br /&gt;
See [[PinePhone Hardware Accessory Compatibility]] for a list of devices working with the PinePhone (depending on their OS support).&lt;br /&gt;
&lt;br /&gt;
=== USB-C connector ===&lt;br /&gt;
&lt;br /&gt;
The USB-C can be used to power the device, and offers USB2 host and OTG possibilities, and also can make use of the USB-C capability to integrate HDMI signals. Some USB-C hubs are available that offer power throughput, USB connection, HDMI port and Ethernet connection. The driver that would make this connection available is not supported at this time.&lt;br /&gt;
&lt;br /&gt;
=== Pogo pins ===&lt;br /&gt;
&lt;br /&gt;
The PinePhone has 6 pogo pins on the back allowing for custom hardware extensions such as wireless charging, an IR blaster, a keyboard extension or extended battery case. The pogo pins provide access to an interrupt line, power input to charge the battery, power source and an I2C interface.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinephone pogo.png|none|400px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| Interrupt&lt;br /&gt;
| SDA&lt;br /&gt;
| SCL&lt;br /&gt;
|-&lt;br /&gt;
| 5V / VBUS&lt;br /&gt;
| VBAT&lt;br /&gt;
| GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The VBUS pin is powered by USB and is 5V. The second power pin is VBAT, which connects to the battery voltage. The I2C and interrupt lines have pull-ups on the phone side. The I2C lines are pulled up to 3V3 by the phone.&lt;br /&gt;
&lt;br /&gt;
For a breakout board see [https://github.com/SMR404/PinephonePogoBreakout here]. For an example project see Martijn's blog post [https://blog.brixit.nl/making-a-backcover-extension-for-the-pinephone/ &amp;lt;i&amp;gt;&amp;quot;Making a backcover extension for the PinePhone&amp;quot;&amp;lt;/i&amp;gt;].&lt;br /&gt;
&lt;br /&gt;
=== Back cover ===&lt;br /&gt;
A step file for the back cover for creating custom cases is freely available [https://files.pine64.org/doc/PinePhone/PinePhone%20Back%20Cover%20ver%200.5.stp here].&lt;br /&gt;
&lt;br /&gt;
=== Serial console ===&lt;br /&gt;
&lt;br /&gt;
The PinePhone has a serial port in the headphone connector, it's activated by the 6th contact on the dipswitch. If the switch is set to &amp;quot;on&amp;quot;, the headphone connector is in audio mode, if it is set to &amp;quot;off&amp;quot; it's in UART mode. The UART serial connection can also be used for communication with other devices from the PinePhone.&lt;br /&gt;
&lt;br /&gt;
The UART is 115200n8.&lt;br /&gt;
&lt;br /&gt;
The pinout for the serial connector is:&lt;br /&gt;
&lt;br /&gt;
* Tip: RX&lt;br /&gt;
* Ring: TX&lt;br /&gt;
* Sleeve: GND&lt;br /&gt;
&lt;br /&gt;
[[File:PinePhone_Serial_Cable.png|none|400px]]&lt;br /&gt;
&lt;br /&gt;
You can buy a serial debug cable from the [https://pine64.com/product/pinebook-pinephone-pinetab-serial-console/ Pine64 Store]. The store cable uses a 4 ring plug, as seen in the [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf here], but a 3 ring plug works just as well. The cable uses a CH340 chipset based serial to USB converter, but any 3.3v serial connection can be used. Because it is a &amp;quot;host&amp;quot;/DTE it means that you need a ''cross modem cable'' ([https://en.wikipedia.org/wiki/Null_modem Null Modem]) with TX on Tip to be connected to RX. A cable like e.g. [https://www.ftdichip.com/Products/Cables/USBTTLSerial.htm FTDI TTL-232R-3V3-AJ] which has TX on Tip and RX on Ring fits perfectly.&lt;br /&gt;
&lt;br /&gt;
== Killswitch configuration ==&lt;br /&gt;
&lt;br /&gt;
[[File:PinePhone Kill Interruptors de Maquinari del PinePhone 4529.jpg|320px|thumb|right|Detail of DIP switch]]&lt;br /&gt;
&lt;br /&gt;
The PinePhone features six switches that can be used to configure its hardware. They are numbered 1-6, with switch 1 located nearest to the modem. Their &amp;quot;on&amp;quot; position is toward the top of the phone.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Number&lt;br /&gt;
! Name&lt;br /&gt;
! Explanation&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Modem&lt;br /&gt;
| Pulls Q1501 gate up (FET killing modem power)&lt;br /&gt;
| &amp;quot;On&amp;quot; enables 2G/3G/4G communication and GNSS hardware, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| WiFi / Bluetooth&lt;br /&gt;
| Pulls up CHIP_EN&lt;br /&gt;
| &amp;quot;On&amp;quot; enables WiFi and Bluetooth communication hardware, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Microphone&lt;br /&gt;
| Breaks microphone bias voltage from the SoC&lt;br /&gt;
| &amp;quot;On&amp;quot; enables audio input from on-board microphones (not 3.5mm jack), &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Rear camera&lt;br /&gt;
| Pulls up PWDN on OV5640 &lt;br /&gt;
| &amp;quot;On&amp;quot; enables the rear camera, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Front camera&lt;br /&gt;
| Pulls up PWDN on GC2145&lt;br /&gt;
| &amp;quot;On&amp;quot; enables the front camera, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Headphone&lt;br /&gt;
| Pulls up IN2 on analog switch BCT4717ETB&lt;br /&gt;
| &amp;quot;On&amp;quot; enables audio input and output via the 3.5mm audio jack, &amp;quot;off&amp;quot; switches the jack to hardware UART mode.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Camera ==&lt;br /&gt;
&lt;br /&gt;
The PinePhone has two cameras, OmniVision OV5640 with 5MP (up to 2592 x 1944 pixels) as rear camera and GalaxyCore GC2145 with 2MP (up to 1600 x 1200 pixels) as front camera.&lt;br /&gt;
&lt;br /&gt;
[[File:Rose.jpg|400px|thumb|none|Example picture taken on the PinePhone's rear camera by Martijn Braam using his app ''Megapixels''.]]&lt;br /&gt;
&lt;br /&gt;
Further details regarding the camera and the Megapixels camera app can be found on [https://blog.brixit.nl/tag/phones/ Martijn's blog].&lt;br /&gt;
&lt;br /&gt;
== Battery ==&lt;br /&gt;
&lt;br /&gt;
{{Hint|The EG25 modem and RTL8723CS WiFi/bluetooth do not work without battery power, even if you are supplying enough power to the PinePhone with USB-C.}}&lt;br /&gt;
&lt;br /&gt;
The phone ships with a plastic sticker between the battery and the phone. You need to open the back cover (gently), then remove the battery and finally remove the sticker and check that the pins aren't bent. This is to protect the device from turning on during shipping.&lt;br /&gt;
&lt;br /&gt;
The [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20QZ01%20Battery%20Specification.pdf supplied battery] is [https://forum.pine64.org/showthread.php?tid=8120&amp;amp;pid=53307#pid53307 meant to be] compatible with Samsung part number EB-BJ700BBC / BBE / CBE from the 2015 J7 phone. &lt;br /&gt;
* The extended life aftermarket BBU does fit, although it is a tight fit.&lt;br /&gt;
* There is [https://forum.pine64.org/showthread.php?tid=8563&amp;amp;pid=55053#pid55053 a report] that the EB-BJ700CBE isn't quite the same size, causing the back not to fit the BraveHeart Edition properly.&lt;br /&gt;
&lt;br /&gt;
The battery terminals, in order from nearest the edge to nearest the middle, are:&lt;br /&gt;
&lt;br /&gt;
# +ve&lt;br /&gt;
# thermistor&lt;br /&gt;
# -ve&lt;br /&gt;
# not connected&lt;br /&gt;
&lt;br /&gt;
The battery includes a protection circuit that isolates it in a number of fault conditions, including if it is discharged too far. The fully discharged battery [https://forum.pine64.org/showthread.php?tid=8563&amp;amp;pid=55377#pid55377 can be recharged] by connecting the phone to a charger. Once it has charged sufficiently you will be able to boot the phone.&lt;br /&gt;
&lt;br /&gt;
If your battery is hard to remove from the phone, try loosening the screws around it. Possibly cutting up a piece of plastic and sliding it under the battery as a pull tab can work too.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;, heights=300px&amp;gt;&lt;br /&gt;
Image:PinePhone battery1.png|Photo of Brave Heart case from OSAKANA TARO on Twitter&lt;br /&gt;
Image:PinePhone battery3.jpeg|Photo of Brave Heart battery sticker from OSAKANA TARO on Twitter&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Modem and carrier support ==&lt;br /&gt;
=== APN settings ===&lt;br /&gt;
&lt;br /&gt;
The APN setting is only required for a public Internet connection (&amp;quot;data&amp;quot;) on the phone. For tested APN settings and how to apply them see [[PinePhone APN Settings]].&lt;br /&gt;
&lt;br /&gt;
=== Carrier support ===&lt;br /&gt;
The page [[PinePhone Carrier Support]] contains information about the frequency support of different carriers and hints on setting up cellular network connectivity.&lt;br /&gt;
&lt;br /&gt;
=== Documents ===&lt;br /&gt;
&lt;br /&gt;
Detailed information about the modem can be found on the [https://xnux.eu/devices/feature/modem-pp.html#toc-modem-on-pinephone page of the developer megi], including reverse-engineered parts of the firmware and its functions. There is also a document about using the modem from January 18th 2020 by megi [https://megous.com/dl/tmp/modem.txt here]. A script at the end of the document showcases a way to poweroff the modem before powering off the phone, which is integrated into most of the available OSes.&lt;br /&gt;
&lt;br /&gt;
=== Firmware modifications ===&lt;br /&gt;
&lt;br /&gt;
See [[PineModems]] for more information regarding modem bootloader unlocking, building a custom modem firmware and modem recovery.&lt;br /&gt;
&lt;br /&gt;
=== Voice mail ===&lt;br /&gt;
&lt;br /&gt;
Some phone operating systems may not have support for accessing your voicemail by holding down the 1 key. If you are in Canada and using rogers or a rogers associated carrier (such as ''Chatr''), you can access your voice mail by calling an external number, see: https://www.howardforums.com/showthread.php/913346-Rogers-GSM-Voicemail-Retrieval-Numbers&lt;br /&gt;
&lt;br /&gt;
In America, AT&amp;amp;T also has support for accessing your voicemail via an external phone number: https://www.att.com/support/article/wireless/KM1009101/&lt;br /&gt;
&lt;br /&gt;
== Operating Systems ==&lt;br /&gt;
&lt;br /&gt;
The PinePhone will automatically boot from microSD if a bootable card is inserted. Although it is technically possible to use any ARM distribution (because the PinePhone uses the mainline kernel), there are a few that are designed specifically for mobile use on devices like the PinePhone.&lt;br /&gt;
&lt;br /&gt;
=== Software releases ===&lt;br /&gt;
&lt;br /&gt;
The [[PinePhone Software Releases]] page has a complete list of currently supported phone-optimized Operating System images that work with the PinePhone as well as other related software information. As soon as more patches get mainlined and distributions ship with the updated kernel, they will also be able to run unmodified on the device.&lt;br /&gt;
&lt;br /&gt;
=== Installation instructions ===&lt;br /&gt;
&lt;br /&gt;
For instructions on how to install the operating systems to the eMMC or SD card see [[PinePhone Installation Instructions]].&lt;br /&gt;
&lt;br /&gt;
=== Flashing eMMC using Jumpdrive ===&lt;br /&gt;
&lt;br /&gt;
[[File:jumpdrive.jpg|400px|thumb|right|Jumpdrive running on the PinePhone]]&lt;br /&gt;
The internal eMMC flash storage can be flashed using the Jumpdrive utility by Danct12 and Martijn from postmarketOS.&lt;br /&gt;
This utility boots from micro SD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
The process of flashing an OS to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a SD card. You can use the 'DD' command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
Latest Jumpdrive can be found [https://github.com/dreemurrs-embedded/Jumpdrive/releases/ here].&lt;br /&gt;
&lt;br /&gt;
==== Detailed usage instructions ====&lt;br /&gt;
&lt;br /&gt;
# Download the Jumpdrive image&lt;br /&gt;
# Flash the Jumpdrive image to a micro SD card&lt;br /&gt;
# Boot the PinePhone from the Jumpdrive micro SD card&lt;br /&gt;
# Connect the PinePhone to your computer using USB-A -&amp;gt; USB-C cable&lt;br /&gt;
# Flash the exposed PinePhone drive (e.g. /dev/mm..., check for the right device in dmesg, GNOME disks, or similar, and make sure it's unmounted) with your chosen OS image&lt;br /&gt;
# Once the flashing process is complete, disconnect the PinePhone from your PC, power it down and remove the Jumpdrive SD card&lt;br /&gt;
# The process is now finished, and you can boot from eMMC&lt;br /&gt;
&lt;br /&gt;
Jumpdrive also acts as a rescue image in case if you messed up your installation. To do so, you can telnet to '''172.16.42.1''', mount rootfs and fix it!&lt;br /&gt;
&lt;br /&gt;
==== Resize file system ====&lt;br /&gt;
&lt;br /&gt;
If you flash a 4GB image distribution (such as phosh+debian) to your eMMC, your eMMC will only have a 3.7GB partition on it. To use the entire 14.7GB on the eMMC, run the following commands:&lt;br /&gt;
&lt;br /&gt;
# sudo cfdisk /dev/sdX&lt;br /&gt;
# Change to [Resize] in the ncurses program, resize the 3.7GB partition to 14.7GB, and [Write]&lt;br /&gt;
# sudo resize2fs /dev/sdXY&lt;br /&gt;
&lt;br /&gt;
Replace X with your drive's name. Replace Y with the partition you resized in cfdisk.&lt;br /&gt;
&lt;br /&gt;
==== Feedback ====&lt;br /&gt;
&lt;br /&gt;
If you've found an issue or want to improve the tool consider these sites:&lt;br /&gt;
&lt;br /&gt;
* Issues: https://github.com/dreemurrs-embedded/Jumpdrive/issues&lt;br /&gt;
* Pull Requests: https://github.com/dreemurrs-embedded/Jumpdrive/pulls&lt;br /&gt;
&lt;br /&gt;
== Frequently asked questions ==&lt;br /&gt;
&lt;br /&gt;
For a list of frequently asked questions (including information regarding the shipping) see [[PinePhone FAQ]].&lt;br /&gt;
&lt;br /&gt;
== Replacing the screen ==&lt;br /&gt;
&lt;br /&gt;
Before attempting to replace the screen be sure to review the section on [[#Swapping in a new mainboard revision|replacing the mainboard]] since that will get you most of the way there. Be aware that the replacement screen is actually the entire front frame of the phone and there are components that will need to be swapped from your old screen.&lt;br /&gt;
&lt;br /&gt;
* Make sure you have a precision screwdriver set that has the correct size Philips tip. The screws are very small and the heads can easily be stripped if the screwdriver is not correct - if you feel your screwdriver slipping, stop what you are doing and try one that is a better fit. A magnetized screwdriver will help in not losing screws, as will a magnetic parts holder to keep them in while working.&lt;br /&gt;
&lt;br /&gt;
* There are a number of components and cables as well as the insulator sheet under the battery that are glued in place. A hair dryer will loosen the glue and make them much easier to remove. You may want to order extra cables along with the screen just in case.&lt;br /&gt;
&lt;br /&gt;
* The vibrator motor, which is part of the USB-C board assembly and glued into place, will come apart easily and be damaged if you pry it up in the wrong place. Make sure you pry from underneath the complete part, not midway on its housing. The ribbon cable attaching this to the USB-C board is small, thin, and fragile so be careful with that as well.&lt;br /&gt;
&lt;br /&gt;
* The new screen comes with new side switches and insulator sheet but there are a number of parts that need to be transferred from the old screen, like the thin coax cable running up the side, the phone ear speaker, proximity sensor gasket, and a gold-colored mesh glued in place that needs to be transferred to a flexible circuit included on the new screen. If you don't swap over the proximity sensor rubber gasket the screen will immediately turn off after logging in. Be careful when routing the coax cable that it goes around the screw holes or you may drive a screw right through the cable.&lt;br /&gt;
&lt;br /&gt;
Take your time, use the right tools, be careful and you should be rewarded with success.&lt;br /&gt;
&lt;br /&gt;
== Spare parts not available in the Pine64 store ==&lt;br /&gt;
&lt;br /&gt;
* Earpiece dimensions: 12x6x2 mm. Compatible with Xiaomi Mi2 / Mi3 / Mi4, Lenovo A536 and others. ([https://forum.pine64.org/showthread.php?tid=12046&amp;amp;pid=85698#pid85698 ref])&lt;br /&gt;
* Loudspeaker dimensions: 15x11x3 mm. Compatible with Nokia N91, Lenovo A536 and others. ([https://forum.pine64.org/showthread.php?tid=12046&amp;amp;pid=85698#pid85698 ref])&lt;br /&gt;
* Proximity sensor rubber gasket&lt;br /&gt;
&lt;br /&gt;
== Press ==&lt;br /&gt;
&lt;br /&gt;
For an overview about media of the PinePhone you can use for the news, blogs, or similar see [[PinePhone Press]].&lt;br /&gt;
&lt;br /&gt;
== PinePhone board information, schematics and certifications ==&lt;br /&gt;
* PinePhone mainboard schematic:&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20v1.2b%20Released%20Schematic.pdf PinePhone mainboard Released Schematic ver 1.2b]&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20v1.2a%20Released%20Schematic.pdf PinePhone mainboard Released Schematic ver 1.2a]&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20v1.2%20Released%20Schematic.pdf PinePhone mainboard Released Schematic ver 1.2]&lt;br /&gt;
** [[PinePhone_v1.2|PinePhone schematic ver 1.2 change list]]&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20Schematic%20v1.1%2020191031.pdf &amp;quot;Braveheart&amp;quot; PinePhone mainboard Schematic ver 1.1]&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20mainboard%20top%20placement%20v1.1%2020191031.pdf &amp;quot;Braveheart&amp;quot; PinePhone mainboard component top placement drawing ver 1.1]&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20mainboard%20bottom%20placement%20v1.1%2020191031.pdf &amp;quot;Braveheart&amp;quot; PinePhone mainboard component bottom placement drawing ver 1.1]&lt;br /&gt;
** [[PinePhone component list]]&lt;br /&gt;
* PinePhone USB-C small board schematic:&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20USB-C%20small%20board%20schematic%20v1.0%2020190730.pdf PinePhone USB-C small board Schematic ver 1.0]&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20USB-C%20small%20board%20top%20placement%20v1.0%2020190730.pdf PinePhone USB-C small board component top placement drawing ver 1.0]&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20USB-C%20small%20board%20bottom%20placement%20v1.0%2020190730.pdf PinePhone USB-C small board component bottom placement drawing ver 1.0]&lt;br /&gt;
* PinePhone certifications:&lt;br /&gt;
** [https://files.pine64.org/doc/cert/PinePhone%20FCC%20SDOC%20Certificate-S19112602605001.pdf PinePhone FCC Certificate]&lt;br /&gt;
** [https://fcc.report/FCC-ID/2AWAG-PINEPHONE RF Exposure SAR Information from FCC ID site]&lt;br /&gt;
** [https://files.pine64.org/doc/cert/PinePhone%20CE%20RED%20Certificate-S19112602602.pdf PinePhone CE RED Certificate]&lt;br /&gt;
** [https://files.pine64.org/doc/cert/PinePhone%20ROHS%20Report.pdf PinePhone ROHS Report]&lt;br /&gt;
** PinePhone's GSMA TAC (Type Allocation Code) is 86769804&lt;br /&gt;
&lt;br /&gt;
== Datasheets for components and peripherals ==&lt;br /&gt;
&lt;br /&gt;
* Allwinner A64 SoC information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/A64%20brief%20v1.0%2020150323.pdf Allwinner A64 SoC brief introduction]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/A64_Datasheet_V1.1.pdf Allwinner A64 SoC Data Sheet V1.1 (Official Released Version)]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/Allwinner_A64_User_Manual_V1.0.pdf Allwinner A64 SoC User Manual V1.0 (Official Release Version)]&lt;br /&gt;
&lt;br /&gt;
* X-Powers AXP803 PMU (Power Management Unit) information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/AXP803_Datasheet_V1.0.pdf AXP803 PMIC datasheet]&lt;br /&gt;
&lt;br /&gt;
* LPDDR3 (178 Balls) SDRAM:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/ATL3A1632H12A_mobile_lpddr3_11x11.5_v1.0_1600.pdf Artmem LPDDR3 datasheet]&lt;br /&gt;
&lt;br /&gt;
* eMMC information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/Kimtigo_fbga153_16_32_64_eMMC_datasheet_v1.3.pdf Kimtigo eMMC datasheet]&lt;br /&gt;
&lt;br /&gt;
* CMOS camera module information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/QZ01-rear-2019-0717(HW)%20Model.pdf PinePhone 5M Pixel Real CMOS Image Sensor Module]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/OV5640_datasheet.pdf OV5640 5MP CMOS Image Sensor SoC for Rear Module datasheet]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/QZ01-front-2019-0717(HW)%20Model.pdf PinePhone 2M Pixel Front CMOS Image Sensor Module]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GC2145 2MP CMOS Image Sensor SoC for Front Module datasheet]&lt;br /&gt;
&lt;br /&gt;
* LCD touch screen panel information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20LCD-QZ01.pdf 5.99&amp;quot; 1440x720 LCD IPS Panel specification]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/ST7703_DS_v01_20160128.pdf ST7703 LCD Controller datasheet]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/GT917S-Datasheet.pdf GOODiX GT917S Capacitive Touch Controller datasheet]&lt;br /&gt;
&lt;br /&gt;
* Lithium battery information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20QZ01%20Battery%20Specification.pdf PinePhone Lithium Battery specification]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20QZ01%20Battery%20ZCV%20Curve%20Chart.xlsx PinePhone Lithium Battery ZCV curve chart]&lt;br /&gt;
&lt;br /&gt;
* WiFi/BT module information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/RTL8723BS.pdf RTL8723BS/RTL8723CS specification]&lt;br /&gt;
&lt;br /&gt;
* LTE module information:&lt;br /&gt;
** [https://www.quectel.com/UploadFile/Product/Quectel_EG25-G_LTE_Standard_Specification_V1.2.pdf Quectel EG25-G LTE Module specification v1.2]&lt;br /&gt;
** [[Media:Quectel EC25EC21 AT Commands Manual V1.2.pdf|EC25&amp;amp;EC21 AT Commands Manual]]&lt;br /&gt;
** [https://www.quectel.com/UploadImage/Downlad/Quectel_EC2x&amp;amp;EG25-G&amp;amp;EG9x&amp;amp;EM05_FILE_AT_Commands_Manual_V1.0.pdf Quectel EC2x EG25-G EG9x EM05 FILE AT Commands Manual v1.0]&lt;br /&gt;
** [https://sixfab.com/wp-content/uploads/2018/09/Quectel_EC25EC21_GNSS_AT_Commands_Manual_V1.1.pdf Quectel EC25 EC21 GNSS AT Commands Manual v1.1]&lt;br /&gt;
&lt;br /&gt;
* Sensors:&lt;br /&gt;
** [https://www.st.com/en/mems-and-sensors/lis3mdl.html ST LIS3MDL 3-axis Magnetomater Datasheet]&lt;br /&gt;
** [https://www.invensense.com/products/motion-tracking/6-axis/mpu-6050/ InvenSense MPU-6050 Six-Axis (Gyro + Accelerometer) MEMS datasheet]&lt;br /&gt;
** [https://www.sensortek.com.tw/en/product/Proximity_Sensor_with_ALS.html SensorTek STK3335 Ambient Light Sensor and Proximity Sensor]&lt;br /&gt;
&lt;br /&gt;
* Digital video to USB-C bridge:&lt;br /&gt;
** [https://www.analogix.com/en/system/files/AA-002281-PB-6-ANX7688_Product_Brief.pdf ANX7688 product brief]&lt;br /&gt;
&lt;br /&gt;
* Case information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20Exploded%20Diagram%20ver%201.0.pdf PinePhone case exploded diagram]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20Back%20Cover.stp PinePhone back cover 3D file]&lt;br /&gt;
&lt;br /&gt;
* Other components:&lt;br /&gt;
** See links in the [[PinePhone_component_list|Component List]]&lt;br /&gt;
&lt;br /&gt;
== Developer works ==&lt;br /&gt;
=== Megous ===&lt;br /&gt;
&lt;br /&gt;
* [https://xnux.eu/howtos/pine64-pinephone-getting-started.html Getting start with PinePhone Hardware]&lt;br /&gt;
* [https://xnux.eu/devices/pine64-pinephone.html State of development progress]&lt;br /&gt;
* [https://xnux.eu/news.html PinePhone Technical News and Update, also applies to other Allwinner devices including PINE A64 SBC]&lt;br /&gt;
* [https://xnux.eu/contribute.html Contributions to the kernel development]&lt;br /&gt;
&lt;br /&gt;
== External links == &lt;br /&gt;
* [https://pine64.com/product-category/pinephone/ The PinePhone on the official Pine store]&lt;br /&gt;
* [https://pine64.com/product-category/smarphone-spare-parts/ PinePhone spare parts on the official Pine store]&lt;br /&gt;
* [https://pine64.com/product-category/smartphone-accessories/ PinePhone accessories on the official Pine store]&lt;br /&gt;
&lt;br /&gt;
[[Category:PinePhone]] [[Category:Allwinner A64]]&lt;/div&gt;</summary>
		<author><name>Wibble</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PinePhone&amp;diff=8418</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PinePhone&amp;diff=8418"/>
		<updated>2020-12-15T23:12:15Z</updated>

		<summary type="html">&lt;p&gt;Wibble: /* Spare parts not available in the Pine64 store */ New section - added earpiece, speaker and proximity sensor gasket&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The PinePhone is a smartphone created by Pine64, capable of running mainline Linux and supported by many partner projects. The BraveHeart Edition was the first publicly-available version of the phone, though it came without a fully functional OS (factory test image) and was geared specifically towards tinkerers and hackers. Its successor is the Community Edition, the first Community Edition started to ship in June 2020. The phone will be available for at least five years.&lt;br /&gt;
&lt;br /&gt;
== First time installation ==&lt;br /&gt;
&lt;br /&gt;
{{Hint|The default PIN for the Manjaro Community Edition is '''123456'''.}}&lt;br /&gt;
&lt;br /&gt;
[[File:PinePhone-3.jpg|400px|thumb|right|PinePhone is capable of running a multitude of different Linux mobile OSes]]&lt;br /&gt;
&lt;br /&gt;
[[File:Pinephone_rendering_blank.png|400px|thumb|right|Rendering of the back and front of PinePhone]]&lt;br /&gt;
&lt;br /&gt;
From the factory the battery has a sticker on it that isolates the battery from the phone. The battery '''will not''' charge until this is removed.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinephone_warning.png|none|left|400px]]&lt;br /&gt;
&lt;br /&gt;
After unboxing remove the back panel using the notch in the corner of the back panel. Then remove the battery and peel off the clear plastic sticker below it that isolates the charging contact. Then replace the battery, see [[PinePhone#Battery|Battery]] for more information.&lt;br /&gt;
&lt;br /&gt;
The SIM card has to be placed in the lower slot, while the microSD has to be placed in the upper slot, as pictured here:&lt;br /&gt;
&lt;br /&gt;
[[File:Pinephone_backside.png|none|left|400px]]&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
'''Dimensions:''' 160.5 x 76.6 x 9.2mm &amp;lt;br&amp;gt;&lt;br /&gt;
'''Weight:''' Between 180-200 grams &amp;lt;br&amp;gt;&lt;br /&gt;
'''SIM Card:''' Micro-SIM &amp;lt;br&amp;gt;&lt;br /&gt;
'''Display:'''&lt;br /&gt;
: '''Size:''' 5.95 inches (151mm) diagonal&lt;br /&gt;
: '''Type:''' HD IPS capacitive touchscreen, 16M colors&lt;br /&gt;
: '''Resolution:''' 1440x720, 18:9 ratio &amp;lt;br&amp;gt;&lt;br /&gt;
'''System on Chip:''' [https://linux-sunxi.org/A64 Allwinner A64] &amp;lt;br&amp;gt;&lt;br /&gt;
'''RAM:''' 2GB or 3GB LPDDR3 SDRAM&amp;lt;br&amp;gt;&lt;br /&gt;
'''Internal Storage:''' 16GB or 32GB eMMC, extendable up to 2TB via microSD, supports SDHC and SDXC &amp;lt;br&amp;gt;&lt;br /&gt;
'''Back Camera:''' Single 5MP, 1/4&amp;quot;, LED Flash &amp;lt;br&amp;gt;&lt;br /&gt;
'''Selfie Camera:''' Single 2MP, f/2.8, 1/5&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
'''Sound:''' Loudspeaker, 3.5mm jack &amp;amp; mic (jack doubles as hardware UART if killswitch 6 is deactivated) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Communication: G25-G'''&lt;br /&gt;
: '''LTE:''' B1, B2, B3, B4, B5, B7, B8, B12, B13, B18, B19, B20, B25, B26, B28, B38, B39, B40, B41&lt;br /&gt;
: '''WCDMA:''' B1, B2, B4, B5, B6, B8, B19&lt;br /&gt;
: '''GSM:''' 850, 900, 1800, 1900 (MHz)&lt;br /&gt;
: '''WLAN:''' Wi-Fi 802.11 b/g/n, single-band, hotspot&lt;br /&gt;
: '''Bluetooth:''' 4.0, A2DP&lt;br /&gt;
: '''GNSS:''' GPS/GLONASS/BeiDou/Galileo/QZSS, with A-GPS&lt;br /&gt;
'''Sensors:''' Accelerometer, gyro, proximity, ambient light, compass &amp;lt;br&amp;gt;&lt;br /&gt;
'''Killswitches:''' Modem, WiFi &amp;amp; Bluetooth, Microphone, Cameras &amp;lt;br&amp;gt;&lt;br /&gt;
'''Battery:''' Lithium-ion, rated capacity 2800mAh (10.64Wh), typical capacity 3000mAh (11.40Wh) (nominally replaceable with any Samsung J7 form-factor battery) &amp;lt;br&amp;gt;&lt;br /&gt;
'''I/O:''' USB Type-C, USB Host, DisplayPort Alternate Mode output, 15W 5V 3A Quick Charge, follows USB PD specification&lt;br /&gt;
&lt;br /&gt;
== Components ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Component&lt;br /&gt;
! Model&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen&lt;br /&gt;
| Goodix GT917S&lt;br /&gt;
|-&lt;br /&gt;
| Rear camera&lt;br /&gt;
| OmniVision OV5640&lt;br /&gt;
|-&lt;br /&gt;
| Camera flash&lt;br /&gt;
| SGMICRO SGM3140&lt;br /&gt;
|-&lt;br /&gt;
| Front camera&lt;br /&gt;
| GalaxyCore GC2145&lt;br /&gt;
|-&lt;br /&gt;
| LCD&lt;br /&gt;
| Xingbangda XBD599&lt;br /&gt;
|-&lt;br /&gt;
| WiFi&lt;br /&gt;
| Realtek RTL8723CS&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth&lt;br /&gt;
| Realtek RTL8723CS&lt;br /&gt;
|-&lt;br /&gt;
| Modem&lt;br /&gt;
| Quectel EG25-G&lt;br /&gt;
|-&lt;br /&gt;
| GNSS/GPS&lt;br /&gt;
| Quectel EG25-G&lt;br /&gt;
|-&lt;br /&gt;
| Magnetometer&lt;br /&gt;
| ST LIS3MDL&lt;br /&gt;
|-&lt;br /&gt;
| Ambient light / Proximity&lt;br /&gt;
| SensorTek STK3335&lt;br /&gt;
|-&lt;br /&gt;
| Sixaxis&lt;br /&gt;
| InvenSense MPU-6050&lt;br /&gt;
|-&lt;br /&gt;
| Vibration motor&lt;br /&gt;
| Unknown model&lt;br /&gt;
|-&lt;br /&gt;
| Notification LED&lt;br /&gt;
| LED0603RGB&lt;br /&gt;
|-&lt;br /&gt;
| Volume buttons&lt;br /&gt;
| Buttons connected to the KEYADC&lt;br /&gt;
|-&lt;br /&gt;
| Power button&lt;br /&gt;
| X-Powers AXP803&lt;br /&gt;
|-&lt;br /&gt;
| Battery fuel gauge&lt;br /&gt;
| X-Powers AXP803&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
See the [[PinePhone_component_list|PinePhone Component List]].&lt;br /&gt;
&lt;br /&gt;
== Hardware revisions ==&lt;br /&gt;
&lt;br /&gt;
# [[Project Anakin]]&lt;br /&gt;
# [[Project Don't be evil|&amp;quot;Project Don't Be Evil&amp;quot; devkit]]&lt;br /&gt;
# [[PinePhone v1.0 - Dev|PinePhone v1.0 - Developer batch]]&lt;br /&gt;
# [[PinePhone v1.1 - Braveheart]]&lt;br /&gt;
# [[PinePhone v1.2‎]] - Ubports Community Edition&lt;br /&gt;
# [[PinePhone v1.2a]] - postmarketOS Community Edition&lt;br /&gt;
# [[PinePhone v1.2b]] - Manjaro Community Edition&lt;br /&gt;
&lt;br /&gt;
== Swapping in a new mainboard revision ==&lt;br /&gt;
&lt;br /&gt;
The mainboard can be replaced, for example for upgrading to a newer hardware revision or if it is faulty. The replacement board does not have an OS preinstalled, to test if everything is working after swapping the mainboard a flashed SD card is required. The mainboard also comes with a non-functional firmware on the ANX chip, a newer firmware version has to be flashed as explained below to get certain USB functionality to work.&lt;br /&gt;
&lt;br /&gt;
=== Replacing the mainboard ===&lt;br /&gt;
&lt;br /&gt;
Prior to replacing your PinePhone’s mainboard please read the steps outlined in bullet points below and watch the attached video.&lt;br /&gt;
&lt;br /&gt;
# You’ll need a small Phillip’s screwdriver and a prying tool to swap out the PinePhone’s mainboard.&lt;br /&gt;
# Remove the PinePhone’s back cover. See your quick start guide for details.&lt;br /&gt;
# Remove the battery as well as any inserted SD and SIM cards.&lt;br /&gt;
# Unscrew all 15 Phillip’s head screws around the midframe of the phone.&lt;br /&gt;
# Gently pry up the midframe using a guitar pick or credit card corner. It is easiest to separate the midframe at one of the bottom edges. Work your way around all the sides of the phone until the midframe separates from the phone’s body.&lt;br /&gt;
# Detach all ribbon cables and “Lego” connectors. List of things to detach: 1) two “Lego” connects at the bottom of the mainboard. 2) u.FL antenna connect and touchscreen digitizer on PCD left side. 3) LCD ribbon cable top of mainboard, next to audio/ UART jack.&lt;br /&gt;
# Pry the mainboard up gently from the left-hand side.&lt;br /&gt;
# Remove front and main cameras and reset them into the new mainboard.&lt;br /&gt;
# Check that the rubber proximity sensor housing is in the chassis, not stuck to the removed mainboard.&lt;br /&gt;
# Place the new mainboard in the chassis, hooking in on the plastic tabs on left side and pressing down firmly on opposite side, and follow the steps (7-2) in reverse. When reattaching the midframe take care that no cables are out of place or trapped, as they may be damaged when tightening screws.&lt;br /&gt;
&lt;br /&gt;
After swapping the mainboard the phone won't boot as there is no OS on the replacement board's eMMC preinstalled. To boot an OS insert a flashed SD card.&lt;br /&gt;
&lt;br /&gt;
A video tutorial can be found here:&lt;br /&gt;
[[File:Pinephone_martijn_pcb_replacement.png|thumb|none|600px|link=https://www.youtube.com/watch?v=5GbMoZ_zuZs|Watch Martijn Braam's video tutorial here: https://www.youtube.com/watch?v=5GbMoZ_zuZs.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Alternatively user bridadan uploaded a video tutorial of the swap procedure including camera swap and proximity sensor housing here: https://www.youtube.com/watch?v=J3AJEF7akkw.]]&lt;br /&gt;
&lt;br /&gt;
=== Flashing the ANX firmware ===&lt;br /&gt;
&lt;br /&gt;
After swapping the mainboard the ANX chip has to be flashed for full USB functionality.&lt;br /&gt;
&lt;br /&gt;
Download the latest ANX firmware image on the phone:&lt;br /&gt;
&lt;br /&gt;
 wget https://xff.cz/git/linux-firmware/plain/anx7688-fw.bin&lt;br /&gt;
&lt;br /&gt;
Execute as root (&amp;quot;sudo su&amp;quot;) on the phone:&lt;br /&gt;
&lt;br /&gt;
 cp anx7688-fw.bin /lib/firmware/&lt;br /&gt;
 echo 1 &amp;gt; /sys/class/typec/port0/device/flash_eeprom&lt;br /&gt;
&lt;br /&gt;
== Hardware accessory ==&lt;br /&gt;
&lt;br /&gt;
=== PinePhone hardware accessory compatibility ===&lt;br /&gt;
See [[PinePhone Hardware Accessory Compatibility]] for a list of devices working with the PinePhone (depending on their OS support).&lt;br /&gt;
&lt;br /&gt;
=== USB-C connector ===&lt;br /&gt;
&lt;br /&gt;
The USB-C can be used to power the device, and offers USB2 host and OTG possibilities, and also can make use of the USB-C capability to integrate HDMI signals. Some USB-C hubs are available that offer power throughput, USB connection, HDMI port and Ethernet connection. The driver that would make this connection available is not supported at this time.&lt;br /&gt;
&lt;br /&gt;
=== Pogo pins ===&lt;br /&gt;
&lt;br /&gt;
The PinePhone has 6 pogo pins on the back allowing for custom hardware extensions such as wireless charging, an IR blaster, a keyboard extension or extended battery case. The pogo pins provide access to an interrupt line, power input to charge the battery, power source and an I2C interface.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinephone pogo.png|none|400px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| Interrupt&lt;br /&gt;
| SDA&lt;br /&gt;
| SCL&lt;br /&gt;
|-&lt;br /&gt;
| 5V / VBUS&lt;br /&gt;
| VBAT&lt;br /&gt;
| GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The VBUS pin is powered by USB and is 5V. The second power pin is VBAT, which connects to the battery voltage. The I2C and interrupt lines have pull-ups on the phone side. The I2C lines are pulled up to 3V3 by the phone.&lt;br /&gt;
&lt;br /&gt;
For a breakout board see [https://github.com/SMR404/PinephonePogoBreakout here]. For an example project see Martijn's blog post [https://blog.brixit.nl/making-a-backcover-extension-for-the-pinephone/ &amp;lt;i&amp;gt;&amp;quot;Making a backcover extension for the PinePhone&amp;quot;&amp;lt;/i&amp;gt;].&lt;br /&gt;
&lt;br /&gt;
=== Back cover ===&lt;br /&gt;
A step file for the back cover for creating custom cases is freely available [https://files.pine64.org/doc/PinePhone/PinePhone%20Back%20Cover%20ver%200.5.stp here].&lt;br /&gt;
&lt;br /&gt;
=== Serial console ===&lt;br /&gt;
&lt;br /&gt;
The PinePhone has a serial port in the headphone connector, it's activated by the 6th contact on the dipswitch. If the switch is set to &amp;quot;on&amp;quot;, the headphone connector is in audio mode, if it is set to &amp;quot;off&amp;quot; it's in UART mode. The UART serial connection can also be used for communication with other devices from the PinePhone.&lt;br /&gt;
&lt;br /&gt;
The UART is 115200n8.&lt;br /&gt;
&lt;br /&gt;
The pinout for the serial connector is:&lt;br /&gt;
&lt;br /&gt;
* Tip: RX&lt;br /&gt;
* Ring: TX&lt;br /&gt;
* Sleeve: GND&lt;br /&gt;
&lt;br /&gt;
[[File:PinePhone_Serial_Cable.png|none|400px]]&lt;br /&gt;
&lt;br /&gt;
You can buy a serial debug cable from the [https://pine64.com/product/pinebook-pinephone-pinetab-serial-console/ Pine64 Store]. The store cable uses a 4 ring plug, as seen in the [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf here], but a 3 ring plug works just as well. The cable uses a CH340 chipset based serial to USB converter, but any 3.3v serial connection can be used. Because it is a &amp;quot;host&amp;quot;/DTE it means that you need a ''cross modem cable'' ([https://en.wikipedia.org/wiki/Null_modem Null Modem]) with TX on Tip to be connected to RX. A cable like e.g. [https://www.ftdichip.com/Products/Cables/USBTTLSerial.htm FTDI TTL-232R-3V3-AJ] which has TX on Tip and RX on Ring fits perfectly.&lt;br /&gt;
&lt;br /&gt;
== Killswitch configuration ==&lt;br /&gt;
&lt;br /&gt;
[[File:PinePhone Kill Interruptors de Maquinari del PinePhone 4529.jpg|320px|thumb|right|Detail of DIP switch]]&lt;br /&gt;
&lt;br /&gt;
The PinePhone features six switches that can be used to configure its hardware. They are numbered 1-6, with switch 1 located nearest to the modem. Their &amp;quot;on&amp;quot; position is toward the top of the phone.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Number&lt;br /&gt;
! Name&lt;br /&gt;
! Explanation&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Modem&lt;br /&gt;
| Pulls Q1501 gate up (FET killing modem power)&lt;br /&gt;
| &amp;quot;On&amp;quot; enables 2G/3G/4G communication and GNSS hardware, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| WiFi / Bluetooth&lt;br /&gt;
| Pulls up CHIP_EN&lt;br /&gt;
| &amp;quot;On&amp;quot; enables WiFi and Bluetooth communication hardware, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Microphone&lt;br /&gt;
| Breaks microphone bias voltage from the SoC&lt;br /&gt;
| &amp;quot;On&amp;quot; enables audio input from on-board microphones (not 3.5mm jack), &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Rear camera&lt;br /&gt;
| Pulls up PWDN on OV5640 &lt;br /&gt;
| &amp;quot;On&amp;quot; enables the rear camera, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Front camera&lt;br /&gt;
| Pulls up PWDN on GC2145&lt;br /&gt;
| &amp;quot;On&amp;quot; enables the front camera, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Headphone&lt;br /&gt;
| Pulls up IN2 on analog switch BCT4717ETB&lt;br /&gt;
| &amp;quot;On&amp;quot; enables audio input and output via the 3.5mm audio jack, &amp;quot;off&amp;quot; switches the jack to hardware UART mode.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Camera ==&lt;br /&gt;
&lt;br /&gt;
The PinePhone has two cameras, OmniVision OV5640 with 5MP (up to 2592 x 1944 pixels) as rear camera and GalaxyCore GC2145 with 2MP (up to 1600 x 1200 pixels) as front camera.&lt;br /&gt;
&lt;br /&gt;
[[File:Rose.jpg|400px|thumb|none|Example picture taken on the PinePhone's rear camera by Martijn Braam using his app ''Megapixels''.]]&lt;br /&gt;
&lt;br /&gt;
Further details regarding the camera and the Megapixels camera app can be found on [https://blog.brixit.nl/tag/phones/ Martijn's blog].&lt;br /&gt;
&lt;br /&gt;
== Battery ==&lt;br /&gt;
&lt;br /&gt;
{{Hint|The EG25 modem and RTL8723CS WiFi/bluetooth do not work without battery power, even if you are supplying enough power to the PinePhone with USB-C.}}&lt;br /&gt;
&lt;br /&gt;
The phone ships with a plastic sticker between the battery and the phone. You need to open the back cover (gently), then remove the battery and finally remove the sticker and check that the pins aren't bent. This is to protect the device from turning on during shipping.&lt;br /&gt;
&lt;br /&gt;
The [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20QZ01%20Battery%20Specification.pdf supplied battery] is [https://forum.pine64.org/showthread.php?tid=8120&amp;amp;pid=53307#pid53307 meant to be] compatible with Samsung part number EB-BJ700BBC / BBE / CBE from the 2015 J7 phone. &lt;br /&gt;
* The extended life aftermarket BBU does fit, although it is a tight fit.&lt;br /&gt;
* There is [https://forum.pine64.org/showthread.php?tid=8563&amp;amp;pid=55053#pid55053 a report] that the EB-BJ700CBE isn't quite the same size, causing the back not to fit the BraveHeart Edition properly.&lt;br /&gt;
&lt;br /&gt;
The battery terminals, in order from nearest the edge to nearest the middle, are:&lt;br /&gt;
&lt;br /&gt;
# +ve&lt;br /&gt;
# thermistor&lt;br /&gt;
# -ve&lt;br /&gt;
# not connected&lt;br /&gt;
&lt;br /&gt;
The battery includes a protection circuit that isolates it in a number of fault conditions, including if it is discharged too far. The fully discharged battery [https://forum.pine64.org/showthread.php?tid=8563&amp;amp;pid=55377#pid55377 can be recharged] by connecting the phone to a charger. Once it has charged sufficiently you will be able to boot the phone.&lt;br /&gt;
&lt;br /&gt;
If your battery is hard to remove from the phone, try loosening the screws around it. Possibly cutting up a piece of plastic and sliding it under the battery as a pull tab can work too.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;, heights=300px&amp;gt;&lt;br /&gt;
Image:PinePhone battery1.png|Photo of Brave Heart case from OSAKANA TARO on Twitter&lt;br /&gt;
Image:PinePhone battery3.jpeg|Photo of Brave Heart battery sticker from OSAKANA TARO on Twitter&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Modem and carrier support ==&lt;br /&gt;
=== APN settings ===&lt;br /&gt;
&lt;br /&gt;
The APN setting is only required for a public Internet connection (&amp;quot;data&amp;quot;) on the phone. For tested APN settings and how to apply them see [[PinePhone APN Settings]].&lt;br /&gt;
&lt;br /&gt;
=== Carrier support ===&lt;br /&gt;
The page [[PinePhone Carrier Support]] contains information about the frequency support of different carriers and hints on setting up cellular network connectivity.&lt;br /&gt;
&lt;br /&gt;
=== Documents ===&lt;br /&gt;
&lt;br /&gt;
Detailed information about the modem can be found on the [https://xnux.eu/devices/feature/modem-pp.html#toc-modem-on-pinephone page of the developer megi], including reverse-engineered parts of the firmware and its functions. There is also a document about using the modem from January 18th 2020 by megi [https://megous.com/dl/tmp/modem.txt here]. A script at the end of the document showcases a way to poweroff the modem before powering off the phone, which is integrated into most of the available OSes.&lt;br /&gt;
&lt;br /&gt;
=== Firmware modifications ===&lt;br /&gt;
&lt;br /&gt;
See [[PineModems]] for more information regarding modem bootloader unlocking, building a custom modem firmware and modem recovery.&lt;br /&gt;
&lt;br /&gt;
=== Voice mail ===&lt;br /&gt;
&lt;br /&gt;
Some phone operating systems may not have support for accessing your voicemail by holding down the 1 key. If you are in Canada and using rogers or a rogers associated carrier (such as ''Chatr''), you can access your voice mail by calling an external number, see: https://www.howardforums.com/showthread.php/913346-Rogers-GSM-Voicemail-Retrieval-Numbers&lt;br /&gt;
&lt;br /&gt;
In America, AT&amp;amp;T also has support for accessing your voicemail via an external phone number: https://www.att.com/support/article/wireless/KM1009101/&lt;br /&gt;
&lt;br /&gt;
== Operating Systems ==&lt;br /&gt;
&lt;br /&gt;
The PinePhone will automatically boot from microSD if a bootable card is inserted. Although it is technically possible to use any ARM distribution (because the PinePhone uses the mainline kernel), there are a few that are designed specifically for mobile use on devices like the PinePhone.&lt;br /&gt;
&lt;br /&gt;
=== Software releases ===&lt;br /&gt;
&lt;br /&gt;
The [[PinePhone Software Releases]] page has a complete list of currently supported phone-optimized Operating System images that work with the PinePhone as well as other related software information. As soon as more patches get mainlined and distributions ship with the updated kernel, they will also be able to run unmodified on the device.&lt;br /&gt;
&lt;br /&gt;
=== Installation instructions ===&lt;br /&gt;
&lt;br /&gt;
For instructions on how to install the operating systems to the eMMC or SD card see [[PinePhone Installation Instructions]].&lt;br /&gt;
&lt;br /&gt;
=== Flashing eMMC using Jumpdrive ===&lt;br /&gt;
&lt;br /&gt;
[[File:jumpdrive.jpg|400px|thumb|right|Jumpdrive running on the PinePhone]]&lt;br /&gt;
The internal eMMC flash storage can be flashed using the Jumpdrive utility by Danct12 and Martijn from postmarketOS.&lt;br /&gt;
This utility boots from micro SD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
The process of flashing an OS to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a SD card. You can use the 'DD' command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
Latest Jumpdrive can be found [https://github.com/dreemurrs-embedded/Jumpdrive/releases/ here].&lt;br /&gt;
&lt;br /&gt;
==== Detailed usage instructions ====&lt;br /&gt;
&lt;br /&gt;
# Download the Jumpdrive image&lt;br /&gt;
# Flash the Jumpdrive image to a micro SD card&lt;br /&gt;
# Boot the PinePhone from the Jumpdrive micro SD card&lt;br /&gt;
# Connect the PinePhone to your computer using USB-A -&amp;gt; USB-C cable&lt;br /&gt;
# Flash the exposed PinePhone drive (e.g. /dev/mm..., check for the right device in dmesg, GNOME disks, or similar, and make sure it's unmounted) with your chosen OS image&lt;br /&gt;
# Once the flashing process is complete, disconnect the PinePhone from your PC, power it down and remove the Jumpdrive SD card&lt;br /&gt;
# The process is now finished, and you can boot from eMMC&lt;br /&gt;
&lt;br /&gt;
Jumpdrive also acts as a rescue image in case if you messed up your installation. To do so, you can telnet to '''172.16.42.1''', mount rootfs and fix it!&lt;br /&gt;
&lt;br /&gt;
==== Resize file system ====&lt;br /&gt;
&lt;br /&gt;
If you flash a 4GB image distribution (such as phosh+debian) to your eMMC, your eMMC will only have a 3.7GB partition on it. To use the entire 14.7GB on the eMMC, run the following commands:&lt;br /&gt;
&lt;br /&gt;
# sudo cfdisk /dev/sdX&lt;br /&gt;
# Change to [Resize] in the ncurses program, resize the 3.7GB partition to 14.7GB, and [Write]&lt;br /&gt;
# sudo resize2fs /dev/sdXY&lt;br /&gt;
&lt;br /&gt;
Replace X with your drive's name. Replace Y with the partition you resized in cfdisk.&lt;br /&gt;
&lt;br /&gt;
==== Feedback ====&lt;br /&gt;
&lt;br /&gt;
If you've found an issue or want to improve the tool consider these sites:&lt;br /&gt;
&lt;br /&gt;
* Issues: https://github.com/dreemurrs-embedded/Jumpdrive/issues&lt;br /&gt;
* Pull Requests: https://github.com/dreemurrs-embedded/Jumpdrive/pulls&lt;br /&gt;
&lt;br /&gt;
== Frequently asked questions ==&lt;br /&gt;
&lt;br /&gt;
For a list of frequently asked questions (including information regarding the shipping) see [[PinePhone FAQ]].&lt;br /&gt;
&lt;br /&gt;
== Replacing the screen ==&lt;br /&gt;
&lt;br /&gt;
Before attempting to replace the screen be sure to review the section on [[#Swapping in a new mainboard revision|replacing the mainboard]] since that will get you most of the way there. Be aware that the replacement screen is actually the entire front frame of the phone and there are components that will need to be swapped from your old screen.&lt;br /&gt;
&lt;br /&gt;
* Make sure you have a precision screwdriver set that has the correct size Philips tip. The screws are very small and the heads can easily be stripped if the screwdriver is not correct - if you feel your screwdriver slipping, stop what you are doing and try one that is a better fit. A magnetized screwdriver will help in not losing screws, as will a magnetic parts holder to keep them in while working.&lt;br /&gt;
&lt;br /&gt;
* There are a number of components and cables as well as the insulator sheet under the battery that are glued in place. A hair dryer will loosen the glue and make them much easier to remove. You may want to order extra cables along with the screen just in case.&lt;br /&gt;
&lt;br /&gt;
* The vibrator motor, which is part of the USB-C board assembly and glued into place, will come apart easily and be damaged if you pry it up in the wrong place. Make sure you pry from underneath the complete part, not midway on its housing. The ribbon cable attaching this to the USB-C board is small, thin, and fragile so be careful with that as well.&lt;br /&gt;
&lt;br /&gt;
* The new screen comes with new side switches and insulator sheet but there are a number of parts that need to be transferred from the old screen, like the thin coax cable running up the side, the phone ear speaker, proximity sensor gasket, and a gold-colored mesh glued in place that needs to be transferred to a flexible circuit included on the new screen. If you don't swap over the proximity sensor rubber gasket the screen will immediately turn off after logging in. Be careful when routing the coax cable that it goes around the screw holes or you may drive a screw right through the cable.&lt;br /&gt;
&lt;br /&gt;
Take your time, use the right tools, be careful and you should be rewarded with success.&lt;br /&gt;
&lt;br /&gt;
== Spare parts not available in the Pine64 store ==&lt;br /&gt;
&lt;br /&gt;
* Earpiece dimensions: 12x6x2 mm. Compatible with Xiaomi Mi2 / Mi3 / Mi4, Lenovo A536 and others.&lt;br /&gt;
* Loudspeaker dimensions: 15x11x3 mm. Compatible with Nokia N91, Lenovo A536 and others.&lt;br /&gt;
* Proximity sensor rubber gasket&lt;br /&gt;
&lt;br /&gt;
== Press ==&lt;br /&gt;
&lt;br /&gt;
For an overview about media of the PinePhone you can use for the news, blogs, or similar see [[PinePhone Press]].&lt;br /&gt;
&lt;br /&gt;
== PinePhone board information, schematics and certifications ==&lt;br /&gt;
* PinePhone mainboard schematic:&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20v1.2b%20Released%20Schematic.pdf PinePhone mainboard Released Schematic ver 1.2b]&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20v1.2a%20Released%20Schematic.pdf PinePhone mainboard Released Schematic ver 1.2a]&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20v1.2%20Released%20Schematic.pdf PinePhone mainboard Released Schematic ver 1.2]&lt;br /&gt;
** [[PinePhone_v1.2|PinePhone schematic ver 1.2 change list]]&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20Schematic%20v1.1%2020191031.pdf &amp;quot;Braveheart&amp;quot; PinePhone mainboard Schematic ver 1.1]&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20mainboard%20top%20placement%20v1.1%2020191031.pdf &amp;quot;Braveheart&amp;quot; PinePhone mainboard component top placement drawing ver 1.1]&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20mainboard%20bottom%20placement%20v1.1%2020191031.pdf &amp;quot;Braveheart&amp;quot; PinePhone mainboard component bottom placement drawing ver 1.1]&lt;br /&gt;
** [[PinePhone component list]]&lt;br /&gt;
* PinePhone USB-C small board schematic:&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20USB-C%20small%20board%20schematic%20v1.0%2020190730.pdf PinePhone USB-C small board Schematic ver 1.0]&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20USB-C%20small%20board%20top%20placement%20v1.0%2020190730.pdf PinePhone USB-C small board component top placement drawing ver 1.0]&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20USB-C%20small%20board%20bottom%20placement%20v1.0%2020190730.pdf PinePhone USB-C small board component bottom placement drawing ver 1.0]&lt;br /&gt;
* PinePhone certifications:&lt;br /&gt;
** [https://files.pine64.org/doc/cert/PinePhone%20FCC%20SDOC%20Certificate-S19112602605001.pdf PinePhone FCC Certificate]&lt;br /&gt;
** [https://fcc.report/FCC-ID/2AWAG-PINEPHONE RF Exposure SAR Information from FCC ID site]&lt;br /&gt;
** [https://files.pine64.org/doc/cert/PinePhone%20CE%20RED%20Certificate-S19112602602.pdf PinePhone CE RED Certificate]&lt;br /&gt;
** [https://files.pine64.org/doc/cert/PinePhone%20ROHS%20Report.pdf PinePhone ROHS Report]&lt;br /&gt;
** PinePhone's GSMA TAC (Type Allocation Code) is 86769804&lt;br /&gt;
&lt;br /&gt;
== Datasheets for components and peripherals ==&lt;br /&gt;
&lt;br /&gt;
* Allwinner A64 SoC information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/A64%20brief%20v1.0%2020150323.pdf Allwinner A64 SoC brief introduction]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/A64_Datasheet_V1.1.pdf Allwinner A64 SoC Data Sheet V1.1 (Official Released Version)]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/Allwinner_A64_User_Manual_V1.0.pdf Allwinner A64 SoC User Manual V1.0 (Official Release Version)]&lt;br /&gt;
&lt;br /&gt;
* X-Powers AXP803 PMU (Power Management Unit) information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/AXP803_Datasheet_V1.0.pdf AXP803 PMIC datasheet]&lt;br /&gt;
&lt;br /&gt;
* LPDDR3 (178 Balls) SDRAM:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/ATL3A1632H12A_mobile_lpddr3_11x11.5_v1.0_1600.pdf Artmem LPDDR3 datasheet]&lt;br /&gt;
&lt;br /&gt;
* eMMC information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/Kimtigo_fbga153_16_32_64_eMMC_datasheet_v1.3.pdf Kimtigo eMMC datasheet]&lt;br /&gt;
&lt;br /&gt;
* CMOS camera module information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/QZ01-rear-2019-0717(HW)%20Model.pdf PinePhone 5M Pixel Real CMOS Image Sensor Module]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/OV5640_datasheet.pdf OV5640 5MP CMOS Image Sensor SoC for Rear Module datasheet]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/QZ01-front-2019-0717(HW)%20Model.pdf PinePhone 2M Pixel Front CMOS Image Sensor Module]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GC2145 2MP CMOS Image Sensor SoC for Front Module datasheet]&lt;br /&gt;
&lt;br /&gt;
* LCD touch screen panel information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20LCD-QZ01.pdf 5.99&amp;quot; 1440x720 LCD IPS Panel specification]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/ST7703_DS_v01_20160128.pdf ST7703 LCD Controller datasheet]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/GT917S-Datasheet.pdf GOODiX GT917S Capacitive Touch Controller datasheet]&lt;br /&gt;
&lt;br /&gt;
* Lithium battery information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20QZ01%20Battery%20Specification.pdf PinePhone Lithium Battery specification]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20QZ01%20Battery%20ZCV%20Curve%20Chart.xlsx PinePhone Lithium Battery ZCV curve chart]&lt;br /&gt;
&lt;br /&gt;
* WiFi/BT module information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/RTL8723BS.pdf RTL8723BS/RTL8723CS specification]&lt;br /&gt;
&lt;br /&gt;
* LTE module information:&lt;br /&gt;
** [https://www.quectel.com/UploadFile/Product/Quectel_EG25-G_LTE_Standard_Specification_V1.2.pdf Quectel EG25-G LTE Module specification v1.2]&lt;br /&gt;
** [[Media:Quectel EC25EC21 AT Commands Manual V1.2.pdf|EC25&amp;amp;EC21 AT Commands Manual]]&lt;br /&gt;
** [https://www.quectel.com/UploadImage/Downlad/Quectel_EC2x&amp;amp;EG25-G&amp;amp;EG9x&amp;amp;EM05_FILE_AT_Commands_Manual_V1.0.pdf Quectel EC2x EG25-G EG9x EM05 FILE AT Commands Manual v1.0]&lt;br /&gt;
** [https://sixfab.com/wp-content/uploads/2018/09/Quectel_EC25EC21_GNSS_AT_Commands_Manual_V1.1.pdf Quectel EC25 EC21 GNSS AT Commands Manual v1.1]&lt;br /&gt;
&lt;br /&gt;
* Sensors:&lt;br /&gt;
** [https://www.st.com/en/mems-and-sensors/lis3mdl.html ST LIS3MDL 3-axis Magnetomater Datasheet]&lt;br /&gt;
** [https://www.invensense.com/products/motion-tracking/6-axis/mpu-6050/ InvenSense MPU-6050 Six-Axis (Gyro + Accelerometer) MEMS datasheet]&lt;br /&gt;
** [https://www.sensortek.com.tw/en/product/Proximity_Sensor_with_ALS.html SensorTek STK3335 Ambient Light Sensor and Proximity Sensor]&lt;br /&gt;
&lt;br /&gt;
* Digital video to USB-C bridge:&lt;br /&gt;
** [https://www.analogix.com/en/system/files/AA-002281-PB-6-ANX7688_Product_Brief.pdf ANX7688 product brief]&lt;br /&gt;
&lt;br /&gt;
* Case information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20Exploded%20Diagram%20ver%201.0.pdf PinePhone case exploded diagram]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20Back%20Cover.stp PinePhone back cover 3D file]&lt;br /&gt;
&lt;br /&gt;
* Other components:&lt;br /&gt;
** See links in the [[PinePhone_component_list|Component List]]&lt;br /&gt;
&lt;br /&gt;
== Developer works ==&lt;br /&gt;
=== Megous ===&lt;br /&gt;
&lt;br /&gt;
* [https://xnux.eu/howtos/pine64-pinephone-getting-started.html Getting start with PinePhone Hardware]&lt;br /&gt;
* [https://xnux.eu/devices/pine64-pinephone.html State of development progress]&lt;br /&gt;
* [https://xnux.eu/news.html PinePhone Technical News and Update, also applies to other Allwinner devices including PINE A64 SBC]&lt;br /&gt;
* [https://xnux.eu/contribute.html Contributions to the kernel development]&lt;br /&gt;
&lt;br /&gt;
== External links == &lt;br /&gt;
* [https://pine64.com/product-category/pinephone/ The PinePhone on the official Pine store]&lt;br /&gt;
* [https://pine64.com/product-category/smarphone-spare-parts/ PinePhone spare parts on the official Pine store]&lt;br /&gt;
* [https://pine64.com/product-category/smartphone-accessories/ PinePhone accessories on the official Pine store]&lt;br /&gt;
&lt;br /&gt;
[[Category:PinePhone]] [[Category:Allwinner A64]]&lt;/div&gt;</summary>
		<author><name>Wibble</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PinePhone&amp;diff=8299</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PinePhone&amp;diff=8299"/>
		<updated>2020-11-28T17:57:46Z</updated>

		<summary type="html">&lt;p&gt;Wibble: /* Datasheets for components and peripherals */  Added links for modem FILE and GNSS AT commands manuals&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The PinePhone is a smartphone created by Pine64, capable of running mainline Linux and supported by many partner projects. The BraveHeart Edition was the first publicly-available version of the phone, though it came without a fully functional OS (factory test image) and was geared specifically towards tinkerers and hackers. Its successor is the Community Edition, the first Community Edition started to ship in June 2020. The phone will be available for at least five years.&lt;br /&gt;
&lt;br /&gt;
== First time installation ==&lt;br /&gt;
&lt;br /&gt;
{{Hint|The default PIN for the Manjaro Community Edition is '''123456'''.}}&lt;br /&gt;
&lt;br /&gt;
[[File:PinePhone-3.jpg|400px|thumb|right|PinePhone is capable of running a multitude of different Linux mobile OSes]]&lt;br /&gt;
&lt;br /&gt;
[[File:Pinephone_rendering_blank.png|400px|thumb|right|Rendering of the back and front of PinePhone]]&lt;br /&gt;
&lt;br /&gt;
From the factory the battery has a sticker on it that isolates the battery from the phone. The battery '''will not''' charge until this is removed.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinephone_warning.png|none|left|400px]]&lt;br /&gt;
&lt;br /&gt;
After unboxing remove the back panel using the notch in the corner of the back panel. Then remove the battery and peel off the clear plastic sticker below it that isolates the charging contact. Then replace the battery, see [[PinePhone#Battery|Battery]] for more information.&lt;br /&gt;
&lt;br /&gt;
The SIM card has to be placed in the lower slot, while the microSD has to be placed in the upper slot, as pictured here:&lt;br /&gt;
&lt;br /&gt;
[[File:Pinephone_backside.png|none|left|400px]]&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
'''Dimensions:''' 160.5 x 76.6 x 9.2mm &amp;lt;br&amp;gt;&lt;br /&gt;
'''Weight:''' Between 180-200 grams &amp;lt;br&amp;gt;&lt;br /&gt;
'''SIM Card:''' Micro-SIM &amp;lt;br&amp;gt;&lt;br /&gt;
'''Display:'''&lt;br /&gt;
: '''Size:''' 5.95 inches (151mm) diagonal&lt;br /&gt;
: '''Type:''' HD IPS capacitive touchscreen, 16M colors&lt;br /&gt;
: '''Resolution:''' 1440x720, 18:9 ratio &amp;lt;br&amp;gt;&lt;br /&gt;
'''System on Chip:''' [https://linux-sunxi.org/A64 Allwinner A64] &amp;lt;br&amp;gt;&lt;br /&gt;
'''RAM:''' 2GB or 3GB LPDDR3 SDRAM&amp;lt;br&amp;gt;&lt;br /&gt;
'''Internal Storage:''' 16GB or 32GB eMMC, extendable up to 2TB via microSD, supports SDHC and SDXC &amp;lt;br&amp;gt;&lt;br /&gt;
'''Back Camera:''' Single 5MP, 1/4&amp;quot;, LED Flash &amp;lt;br&amp;gt;&lt;br /&gt;
'''Selfie Camera:''' Single 2MP, f/2.8, 1/5&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
'''Sound:''' Loudspeaker, 3.5mm jack &amp;amp; mic (jack doubles as hardware UART if killswitch 6 is deactivated) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Communication: G25-G'''&lt;br /&gt;
: '''LTE:''' B1, B2, B3, B4, B5, B7, B8, B12, B13, B18, B19, B20, B25, B26, B28, B38, B39, B40, B41&lt;br /&gt;
: '''WCDMA:''' B1, B2, B4, B5, B6, B8, B19&lt;br /&gt;
: '''GSM:''' 850, 900, 1800, 1900 (MHz)&lt;br /&gt;
: '''WLAN:''' Wi-Fi 802.11 b/g/n, single-band, hotspot&lt;br /&gt;
: '''Bluetooth:''' 4.0, A2DP&lt;br /&gt;
: '''GNSS:''' GPS/GLONASS/BeiDou/Galileo/QZSS, with A-GPS&lt;br /&gt;
'''Sensors:''' Accelerometer, gyro, proximity, ambient light, compass &amp;lt;br&amp;gt;&lt;br /&gt;
'''Killswitches:''' Modem, WiFi &amp;amp; Bluetooth, Microphone, Cameras &amp;lt;br&amp;gt;&lt;br /&gt;
'''Battery:''' Lithium-ion, rated capacity 2800mAh (10.64Wh), typical capacity 3000mAh (11.40Wh) (nominally replaceable with any Samsung J7 form-factor battery) &amp;lt;br&amp;gt;&lt;br /&gt;
'''I/O:''' USB Type-C, USB Host, DisplayPort Alternate Mode output, 15W 5V 3A Quick Charge, follows USB PD specification&lt;br /&gt;
&lt;br /&gt;
== Components ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Component&lt;br /&gt;
! Model&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen&lt;br /&gt;
| Goodix GT917S&lt;br /&gt;
|-&lt;br /&gt;
| Rear camera&lt;br /&gt;
| OmniVision OV5640&lt;br /&gt;
|-&lt;br /&gt;
| Camera flash&lt;br /&gt;
| SGMICRO SGM3140&lt;br /&gt;
|-&lt;br /&gt;
| Front camera&lt;br /&gt;
| GalaxyCore GC2145&lt;br /&gt;
|-&lt;br /&gt;
| LCD&lt;br /&gt;
| Xingbangda XBD599&lt;br /&gt;
|-&lt;br /&gt;
| WiFi&lt;br /&gt;
| Realtek RTL8723CS&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth&lt;br /&gt;
| Realtek RTL8723CS&lt;br /&gt;
|-&lt;br /&gt;
| Modem&lt;br /&gt;
| Quectel EG25-G&lt;br /&gt;
|-&lt;br /&gt;
| GNSS/GPS&lt;br /&gt;
| Quectel EG25-G&lt;br /&gt;
|-&lt;br /&gt;
| Magnetometer&lt;br /&gt;
| ST LIS3MDL&lt;br /&gt;
|-&lt;br /&gt;
| Ambient light / Proximity&lt;br /&gt;
| SensorTek STK3335&lt;br /&gt;
|-&lt;br /&gt;
| Sixaxis&lt;br /&gt;
| InvenSense MPU-6050&lt;br /&gt;
|-&lt;br /&gt;
| Vibration motor&lt;br /&gt;
| Unknown model&lt;br /&gt;
|-&lt;br /&gt;
| Notification LED&lt;br /&gt;
| LED0603RGB&lt;br /&gt;
|-&lt;br /&gt;
| Volume buttons&lt;br /&gt;
| Buttons connected to the KEYADC&lt;br /&gt;
|-&lt;br /&gt;
| Power button&lt;br /&gt;
| X-Powers AXP803&lt;br /&gt;
|-&lt;br /&gt;
| Battery fuel gauge&lt;br /&gt;
| X-Powers AXP803&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
See the [[PinePhone_component_list|PinePhone Component List]].&lt;br /&gt;
&lt;br /&gt;
== Hardware revisions ==&lt;br /&gt;
&lt;br /&gt;
# [[Project Anakin]]&lt;br /&gt;
# [[Project Don't be evil|&amp;quot;Project Don't Be Evil&amp;quot; devkit]]&lt;br /&gt;
# [[PinePhone v1.0 - Dev|PinePhone v1.0 - Developer batch]]&lt;br /&gt;
# [[PinePhone v1.1 - Braveheart]]&lt;br /&gt;
# [[PinePhone v1.2‎]] - Ubports Community Edition&lt;br /&gt;
# [[PinePhone v1.2a]] - postmarketOS Community Edition&lt;br /&gt;
# [[PinePhone v1.2b]] - Manjaro Community Edition&lt;br /&gt;
&lt;br /&gt;
== Swapping in a new mainboard revision ==&lt;br /&gt;
&lt;br /&gt;
Prior to replacing your PinePhone’s mainboard please read the steps outlined in bullet points below and watch the attached video.&lt;br /&gt;
&lt;br /&gt;
#You’ll need a small Phillip’s screwdriver and a prying tool to swap out the PinePhone’s mainboard.&lt;br /&gt;
#Remove the PinePhone’s back cover. See your quick start guide for details.&lt;br /&gt;
#Remove the battery as well as any inserted SD and SIM cards.&lt;br /&gt;
#Unscrew all 15 Phillip’s head screws around the midframe of the phone.&lt;br /&gt;
#Gently pry up the midframe using a guitar pick or credit card corner. It is easiest to separate the midframe at one of the bottom edges. Work your way around all the sides of the phone until the midframe separates from the phone’s body.&lt;br /&gt;
#Detach all ribbon cables and “Lego” connectors. List of things to detach: 1) two “Lego” connects at the bottom of the mainboard. 2) u.FL antenna connect and touchscreen digitizer on PCD left side. 3) LCD ribbon cable top of mainboard, next to audio/ UART jack.&lt;br /&gt;
#Pry the mainboard up gently from the left-hand side.&lt;br /&gt;
#Remove front and main cameras and reset them into the new mainboard.&lt;br /&gt;
#Check that the rubber proximity sensor housing is in the chassis, not stuck to the removed mainboard.&lt;br /&gt;
#Place the new mainboard in the chassis, hooking in on the plastic tabs on left side and pressing down firmly on opposite side, and follow the steps (7-2) in reverse. When reattaching the midframe take care that no cables are out of place or trapped, as they may be damaged when tightening screws.&lt;br /&gt;
&lt;br /&gt;
A video tutorial can be found here:&lt;br /&gt;
[[File:Pinephone_martijn_pcb_replacement.png|thumb|none|600px|link=https://www.youtube.com/watch?v=5GbMoZ_zuZs|Watch Martijn Braam's video tutorial here, https://youtu.be/5GbMoZ_zuZs]]&lt;br /&gt;
[[File:Pinephone_martijn_pcb_replacement.png|thumb|none|600px|link=https://www.youtube.com/watch?v=J3AJEF7akkw|bridadan's video tutorial includes camera swap and proximity sensor housing, https://youtu.be/J3AJEF7akkw]]&lt;br /&gt;
&lt;br /&gt;
== Hardware accessory ==&lt;br /&gt;
&lt;br /&gt;
=== PinePhone hardware accessory compatibility ===&lt;br /&gt;
See [[PinePhone Hardware Accessory Compatibility]] for a list of devices working with the PinePhone (depending on their OS support).&lt;br /&gt;
&lt;br /&gt;
=== USB-C connector ===&lt;br /&gt;
&lt;br /&gt;
The USB-C can be used to power the device, and offers USB2 host and OTG possibilities, and also can make use of the USB-C capability to integrate HDMI signals. Some USB-C hubs are available that offer power throughput, USB connection, HDMI port and Ethernet connection. The driver that would make this connection available is not supported at this time.&lt;br /&gt;
&lt;br /&gt;
=== Pogo pins ===&lt;br /&gt;
&lt;br /&gt;
The PinePhone has 6 pogo pins on the back allowing for custom hardware extensions such as wireless charging, an IR blaster, a keyboard extension or extended battery case. The pogo pins provide access to an interrupt line, power input to charge the battery, power source and an I2C interface.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinephone pogo.png|none|400px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| Interrupt&lt;br /&gt;
| SDA&lt;br /&gt;
| SCL&lt;br /&gt;
|-&lt;br /&gt;
| 5V / VBUS&lt;br /&gt;
| VBAT&lt;br /&gt;
| GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The VBUS pin is powered by USB and is 5V. The second power pin is VBAT, which connects to the battery voltage. The I2C and interrupt lines have pull-ups on the phone side. The I2C lines are pulled up to 3V3 by the phone.&lt;br /&gt;
&lt;br /&gt;
For a breakout board see [https://github.com/SMR404/PinephonePogoBreakout here]. For an example project see Martijn's blog post [https://blog.brixit.nl/making-a-backcover-extension-for-the-pinephone/ &amp;lt;i&amp;gt;&amp;quot;Making a backcover extension for the PinePhone&amp;quot;&amp;lt;/i&amp;gt;].&lt;br /&gt;
&lt;br /&gt;
=== Back cover ===&lt;br /&gt;
A step file for the back cover for creating custom cases is freely available [https://files.pine64.org/doc/PinePhone/PinePhone%20Back%20Cover%20ver%200.5.stp here].&lt;br /&gt;
&lt;br /&gt;
=== Serial console ===&lt;br /&gt;
&lt;br /&gt;
The PinePhone has a serial port in the headphone connector, it's activated by the 6th contact on the dipswitch. If the switch is set to &amp;quot;on&amp;quot;, the headphone connector is in audio mode, if it is set to &amp;quot;off&amp;quot; it's in UART mode. The UART serial connection can also be used for communication with other devices from the PinePhone.&lt;br /&gt;
&lt;br /&gt;
The UART is 115200n8.&lt;br /&gt;
&lt;br /&gt;
The pinout for the serial connector is:&lt;br /&gt;
&lt;br /&gt;
* Tip: RX&lt;br /&gt;
* Ring: TX&lt;br /&gt;
* Sleeve: GND&lt;br /&gt;
&lt;br /&gt;
[[File:PinePhone_Serial_Cable.png|none|400px]]&lt;br /&gt;
&lt;br /&gt;
You can buy a serial debug cable from the [https://pine64.com/product/pinebook-pinephone-pinetab-serial-console/ Pine64 Store]. The store cable uses a 4 ring plug, as seen in the [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf here], but a 3 ring plug works just as well. The cable uses a CH340 chipset based serial to USB converter, but any 3.3v serial connection can be used. Because it is a &amp;quot;host&amp;quot;/DTE it means that you need a ''cross modem cable'' ([https://en.wikipedia.org/wiki/Null_modem Null Modem]) with TX on Tip to be connected to RX. A cable like e.g. [https://www.ftdichip.com/Products/Cables/USBTTLSerial.htm FTDI TTL-232R-3V3-AJ] which has TX on Tip and RX on Ring fits perfectly.&lt;br /&gt;
&lt;br /&gt;
== Killswitch configuration ==&lt;br /&gt;
&lt;br /&gt;
[[File:PinePhone Kill Interruptors de Maquinari del PinePhone 4529.jpg|320px|thumb|right|Detail of DIP switch]]&lt;br /&gt;
&lt;br /&gt;
The PinePhone features six switches that can be used to configure its hardware. They are numbered 1-6, with switch 1 located nearest to the modem. Their &amp;quot;on&amp;quot; position is toward the top of the phone.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Number&lt;br /&gt;
! Name&lt;br /&gt;
! Explanation&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Modem&lt;br /&gt;
| Pulls Q1501 gate up (FET killing modem power)&lt;br /&gt;
| &amp;quot;On&amp;quot; enables 2G/3G/4G communication and GNSS hardware, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| WiFi / Bluetooth&lt;br /&gt;
| Pulls up CHIP_EN&lt;br /&gt;
| &amp;quot;On&amp;quot; enables WiFi and Bluetooth communication hardware, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Microphone&lt;br /&gt;
| Breaks microphone bias voltage from the SoC&lt;br /&gt;
| &amp;quot;On&amp;quot; enables audio input from on-board microphones (not 3.5mm jack), &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Rear camera&lt;br /&gt;
| Pulls up PWDN on OV5640 &lt;br /&gt;
| &amp;quot;On&amp;quot; enables the rear camera, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Front camera&lt;br /&gt;
| Pulls up PWDN on GC2145&lt;br /&gt;
| &amp;quot;On&amp;quot; enables the front camera, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Headphone&lt;br /&gt;
| Pulls up IN2 on analog switch BCT4717ETB&lt;br /&gt;
| &amp;quot;On&amp;quot; enables audio input and output via the 3.5mm audio jack, &amp;quot;off&amp;quot; switches the jack to hardware UART mode.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Camera ==&lt;br /&gt;
&lt;br /&gt;
The PinePhone has two cameras, OmniVision OV5640 with 5MP (up to 2592 x 1944 pixels) as rear camera and GalaxyCore GC2145 with 2MP (up to 1600 x 1200 pixels) as front camera.&lt;br /&gt;
&lt;br /&gt;
[[File:Rose.jpg|400px|thumb|none|Example picture taken on the PinePhone's rear camera by Martijn Braam using his app ''Megapixels''.]]&lt;br /&gt;
&lt;br /&gt;
== Battery ==&lt;br /&gt;
&lt;br /&gt;
{{Hint|The EG25 modem and RTL8723CS WiFi/bluetooth do not work without battery power, even if you are supplying enough power to the PinePhone with USB-C.}}&lt;br /&gt;
&lt;br /&gt;
The phone ships with a plastic sticker between the battery and the phone. You need to open the back cover (gently), then remove the battery and finally remove the sticker and check that the pins aren't bent. This is to protect the device from turning on during shipping.&lt;br /&gt;
&lt;br /&gt;
The [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20QZ01%20Battery%20Specification.pdf supplied battery] is [https://forum.pine64.org/showthread.php?tid=8120&amp;amp;pid=53307#pid53307 meant to be] compatible with Samsung part number EB-BJ700BBC / BBE / CBE from the 2015 J7 phone. &lt;br /&gt;
* The extended life aftermarket BBU does fit, although it is a tight fit.&lt;br /&gt;
* There is [https://forum.pine64.org/showthread.php?tid=8563&amp;amp;pid=55053#pid55053 a report] that the EB-BJ700CBE isn't quite the same size, causing the back not to fit the BraveHeart Edition properly.&lt;br /&gt;
&lt;br /&gt;
The battery terminals, in order from nearest the edge to nearest the middle, are:&lt;br /&gt;
&lt;br /&gt;
# +ve&lt;br /&gt;
# thermistor&lt;br /&gt;
# -ve&lt;br /&gt;
# not connected&lt;br /&gt;
&lt;br /&gt;
The battery includes a protection circuit that isolates it in a number of fault conditions, including if it is discharged too far. The fully discharged battery [https://forum.pine64.org/showthread.php?tid=8563&amp;amp;pid=55377#pid55377 can be recharged] by connecting the phone to a charger. Once it has charged sufficiently you will be able to boot the phone.&lt;br /&gt;
&lt;br /&gt;
If your battery is hard to remove from the phone, try loosening the screws around it. Possibly cutting up a piece of plastic and sliding it under the battery as a pull tab can work too.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;, heights=300px&amp;gt;&lt;br /&gt;
Image:PinePhone battery1.png|Photo of Brave Heart case from OSAKANA TARO on Twitter&lt;br /&gt;
Image:PinePhone battery3.jpeg|Photo of Brave Heart battery sticker from OSAKANA TARO on Twitter&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Modem and carrier support ==&lt;br /&gt;
=== APN settings ===&lt;br /&gt;
&lt;br /&gt;
The APN setting is required for a public Internet connection on the phone. For tested APN settings and how to apply them see [[PinePhone APN Settings]].&lt;br /&gt;
&lt;br /&gt;
=== Carrier support ===&lt;br /&gt;
The page [[PinePhone Carrier Support]] contains information about the frequency support of different carriers and hints on setting up cellular network connectivity.&lt;br /&gt;
&lt;br /&gt;
=== Documents ===&lt;br /&gt;
&lt;br /&gt;
Detailed information about the modem can be found on the [https://xnux.eu/devices/feature/modem-pp.html#toc-modem-on-pinephone page of the developer megi], including reverse-engineered parts of the firmware and its functions. There is also a document about using the modem from January 18th 2020 by megi [https://megous.com/dl/tmp/modem.txt here]. A script at the end of the document showcases a way to poweroff the modem before powering off the phone, which is integrated into most of the available OSes.&lt;br /&gt;
&lt;br /&gt;
=== Firmware modifications ===&lt;br /&gt;
&lt;br /&gt;
See [[PineModems]] for more information regarding modem bootloader unlocking, building a custom modem firmware and modem recovery.&lt;br /&gt;
&lt;br /&gt;
=== Voice mail ===&lt;br /&gt;
&lt;br /&gt;
Some phone operating systems may not have support for accessing your voicemail by holding down the 1 key. If you are in Canada and using rogers or a rogers associated carrier (such as ''Chatr''), you can access your voice mail by calling an external number, see: https://www.howardforums.com/showthread.php/913346-Rogers-GSM-Voicemail-Retrieval-Numbers&lt;br /&gt;
&lt;br /&gt;
In America, AT&amp;amp;T also has support for accessing your voicemail via an external phone number: https://www.att.com/support/article/wireless/KM1009101/&lt;br /&gt;
&lt;br /&gt;
== Operating Systems ==&lt;br /&gt;
&lt;br /&gt;
The PinePhone will automatically boot from microSD if a bootable card is inserted. Although it is technically possible to use any ARM distribution (because the PinePhone uses the mainline kernel), there are a few that are designed specifically for mobile use on devices like the PinePhone.&lt;br /&gt;
&lt;br /&gt;
=== Software releases ===&lt;br /&gt;
&lt;br /&gt;
The [[PinePhone Software Releases]] page has a complete list of currently supported phone-optimized Operating System images that work with the PinePhone as well as other related software information. As soon as more patches get mainlined and distributions ship with the updated kernel, they will also be able to run unmodified on the device.&lt;br /&gt;
&lt;br /&gt;
=== Installation instructions ===&lt;br /&gt;
&lt;br /&gt;
For instructions on how to install the operating systems to the eMMC or SD card see [[PinePhone Installation Instructions]].&lt;br /&gt;
&lt;br /&gt;
=== Flashing eMMC using Jumpdrive ===&lt;br /&gt;
&lt;br /&gt;
[[File:jumpdrive.jpg|400px|thumb|right|Jumpdrive running on the PinePhone]]&lt;br /&gt;
The internal eMMC flash storage can be flashed using the Jumpdrive utility by Danct12 and Martijn from postmarketOS.&lt;br /&gt;
This utility boots from micro SD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
The process of flashing an OS to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a SD card. You can use the 'DD' command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
Latest Jumpdrive can be found [https://github.com/dreemurrs-embedded/Jumpdrive/releases/ here].&lt;br /&gt;
&lt;br /&gt;
==== Detailed usage instructions ====&lt;br /&gt;
&lt;br /&gt;
# Download the Jumpdrive image&lt;br /&gt;
# Flash the Jumpdrive image to a micro SD card&lt;br /&gt;
# Boot the PinePhone from the Jumpdrive micro SD card&lt;br /&gt;
# Connect the PinePhone to your computer using USB-A -&amp;gt; USB-C cable&lt;br /&gt;
# Flash the exposed PinePhone drive (e.g. /dev/mm..., check for the right device in dmesg, GNOME disks, or similar, and make sure it's unmounted) with your chosen OS image&lt;br /&gt;
# Once the flashing process is complete, disconnect the PinePhone from your PC, power it down and remove the Jumpdrive SD card&lt;br /&gt;
# The process is now finished, and you can boot from eMMC&lt;br /&gt;
&lt;br /&gt;
Jumpdrive also acts as a rescue image in case if you messed up your installation. To do so, you can telnet to '''172.16.42.1''', mount rootfs and fix it!&lt;br /&gt;
&lt;br /&gt;
==== Resize file system ====&lt;br /&gt;
&lt;br /&gt;
If you flash a 4GB image distribution (such as phosh+debian) to your eMMC, your eMMC will only have a 3.7GB partition on it. To use the entire 14.7GB on the eMMC, run the following commands:&lt;br /&gt;
&lt;br /&gt;
# sudo cfdisk /dev/sdX&lt;br /&gt;
# Change to [Resize] in the ncurses program, resize the 3.7GB partition to 14.7GB, and [Write]&lt;br /&gt;
# sudo resize2fs /dev/sdXY&lt;br /&gt;
&lt;br /&gt;
Replace X with your drive's name. Replace Y with the partition you resized in cfdisk.&lt;br /&gt;
&lt;br /&gt;
==== Feedback ====&lt;br /&gt;
&lt;br /&gt;
If you've found an issue or want to improve the tool consider these sites:&lt;br /&gt;
&lt;br /&gt;
* Issues: https://github.com/dreemurrs-embedded/Jumpdrive/issues&lt;br /&gt;
* Pull Requests: https://github.com/dreemurrs-embedded/Jumpdrive/pulls&lt;br /&gt;
&lt;br /&gt;
== Frequently asked questions ==&lt;br /&gt;
&lt;br /&gt;
For a list of frequently asked questions (including information regarding the shipping) see [[PinePhone FAQ]].&lt;br /&gt;
&lt;br /&gt;
== Press ==&lt;br /&gt;
&lt;br /&gt;
For an overview about media of the PinePhone you can use for the news, blogs, or similar see [[PinePhone Press]].&lt;br /&gt;
&lt;br /&gt;
== PinePhone board information, schematics and certifications ==&lt;br /&gt;
* PinePhone mainboard schematic:&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20v1.2b%20Released%20Schematic.pdf PinePhone mainboard Released Schematic ver 1.2b]&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20v1.2a%20Released%20Schematic.pdf PinePhone mainboard Released Schematic ver 1.2a]&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20v1.2%20Released%20Schematic.pdf PinePhone mainboard Released Schematic ver 1.2]&lt;br /&gt;
** [[PinePhone_v1.2|PinePhone schematic ver 1.2 change list]]&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20Schematic%20v1.1%2020191031.pdf &amp;quot;Braveheart&amp;quot; PinePhone mainboard Schematic ver 1.1]&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20mainboard%20top%20placement%20v1.1%2020191031.pdf &amp;quot;Braveheart&amp;quot; PinePhone mainboard component top placement drawing ver 1.1]&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20mainboard%20bottom%20placement%20v1.1%2020191031.pdf &amp;quot;Braveheart&amp;quot; PinePhone mainboard component bottom placement drawing ver 1.1]&lt;br /&gt;
* PinePhone USB-C small board schematic:&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20USB-C%20small%20board%20schematic%20v1.0%2020190730.pdf PinePhone USB-C small board Schematic ver 1.0]&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20USB-C%20small%20board%20top%20placement%20v1.0%2020190730.pdf PinePhone USB-C small board component top placement drawing ver 1.0]&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20USB-C%20small%20board%20bottom%20placement%20v1.0%2020190730.pdf PinePhone USB-C small board component bottom placement drawing ver 1.0]&lt;br /&gt;
* PinePhone certifications:&lt;br /&gt;
** [https://files.pine64.org/doc/cert/PinePhone%20FCC%20SDOC%20Certificate-S19112602605001.pdf PinePhone FCC Certificate]&lt;br /&gt;
** [https://fcc.report/FCC-ID/2AWAG-PINEPHONE RF Exposure SAR Information from FCC ID site]&lt;br /&gt;
** [https://files.pine64.org/doc/cert/PinePhone%20CE%20RED%20Certificate-S19112602602.pdf PinPhone CE RED Certificate]&lt;br /&gt;
** [https://files.pine64.org/doc/cert/PinePhone%20ROHS%20Report.pdf PinePhone ROHS Report]&lt;br /&gt;
** PinePhone's GSMA TAC (Type Allocation Code) is 86769804&lt;br /&gt;
&lt;br /&gt;
== Datasheets for components and peripherals ==&lt;br /&gt;
&lt;br /&gt;
* Allwinner A64 SoC information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/A64%20brief%20v1.0%2020150323.pdf Allwinner A64 SoC brief introduction]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/A64_Datasheet_V1.1.pdf Allwinner A64 SoC Data Sheet V1.1 (Official Released Version)]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/Allwinner_A64_User_Manual_V1.0.pdf Allwinner A64 SoC User Manual V1.0 (Official Release Version)]&lt;br /&gt;
&lt;br /&gt;
* X-Powers AXP803 PMU (Power Management Unit) information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/AXP803_Datasheet_V1.0.pdf AXP803 PMIC datasheet]&lt;br /&gt;
&lt;br /&gt;
* LPDDR3 (178 Balls) SDRAM:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/ATL3A1632H12A_mobile_lpddr3_11x11.5_v1.0_1600.pdf Artmem LPDDR3 datasheet]&lt;br /&gt;
&lt;br /&gt;
* eMMC information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/Kimtigo_fbga153_16_32_64_eMMC_datasheet_v1.3.pdf Kimtigo eMMC datasheet]&lt;br /&gt;
&lt;br /&gt;
* CMOS camera module information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/QZ01-rear-2019-0717(HW)%20Model.pdf PinePhone 5M Pixel Real CMOS Image Sensor Module]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/OV5640_datasheet.pdf OV5640 5MP CMOS Image Sensor SoC for Rear Module datasheet]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/QZ01-front-2019-0717(HW)%20Model.pdf PinePhone 2M Pixel Front CMOS Image Sensor Module]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GC2145 2MP CMOS Image Sensor SoC for Front Module datasheet]&lt;br /&gt;
&lt;br /&gt;
* LCD touch screen panel information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20LCD-QZ01.pdf 5.99&amp;quot; 1440x720 LCD IPS Panel specification]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/ST7703_DS_v01_20160128.pdf ST7703 LCD Controller datasheet]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/GT917S-Datasheet.pdf GOODiX GT917S Capacitive Touch Controller datasheet]&lt;br /&gt;
&lt;br /&gt;
* Lithium battery information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20QZ01%20Battery%20Specification.pdf PinePhone Lithium Battery specification]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20QZ01%20Battery%20ZCV%20Curve%20Chart.xlsx PinePhone Lithium Battery ZCV curve chart]&lt;br /&gt;
&lt;br /&gt;
* WiFi/BT module information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/RTL8723BS.pdf RTL8723BS/RTL8723CS specification]&lt;br /&gt;
&lt;br /&gt;
* LTE module information:&lt;br /&gt;
** [https://www.quectel.com/UploadFile/Product/Quectel_EG25-G_LTE_Standard_Specification_V1.2.pdf Quectel EG25-G LTE Module specification v1.2]&lt;br /&gt;
** [[Media:Quectel EC25EC21 AT Commands Manual V1.2.pdf|EC25&amp;amp;EC21 AT Commands Manual]]&lt;br /&gt;
** [https://www.quectel.com/UploadImage/Downlad/Quectel_EC2x&amp;amp;EG25-G&amp;amp;EG9x&amp;amp;EM05_FILE_AT_Commands_Manual_V1.0.pdf Quectel EC2x EG25-G EG9x EM05 FILE AT Commands Manual v1.0]&lt;br /&gt;
** [https://sixfab.com/wp-content/uploads/2018/09/Quectel_EC25EC21_GNSS_AT_Commands_Manual_V1.1.pdf Quectel EC25 EC21 GNSS AT Commands Manual v1.1]&lt;br /&gt;
&lt;br /&gt;
* Sensors:&lt;br /&gt;
** [https://www.st.com/en/mems-and-sensors/lis3mdl.html ST LIS3MDL 3-axis Magnetomater Datasheet]&lt;br /&gt;
** [https://www.invensense.com/products/motion-tracking/6-axis/mpu-6050/ InvenSense MPU-6050 Six-Axis (Gyro + Accelerometer) MEMS datasheet]&lt;br /&gt;
** [https://www.sensortek.com.tw/en/product/Proximity_Sensor_with_ALS.html SensorTek STK3335 Ambient Light Sensor and Proximity Sensor]&lt;br /&gt;
&lt;br /&gt;
* Digital video to USB-C bridge:&lt;br /&gt;
** [https://www.analogix.com/en/system/files/AA-002281-PB-6-ANX7688_Product_Brief.pdf ANX7688 product brief]&lt;br /&gt;
&lt;br /&gt;
* Case information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20Exploded%20Diagram%20ver%201.0.pdf PinePhone case exploded diagram]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20Back%20Cover.stp PinePhone back cover 3D file]&lt;br /&gt;
&lt;br /&gt;
* Other components:&lt;br /&gt;
** See links in the [[PinePhone_component_list|Component List]]&lt;br /&gt;
&lt;br /&gt;
== Developer works ==&lt;br /&gt;
=== Megous ===&lt;br /&gt;
&lt;br /&gt;
* [https://xnux.eu/howtos/pine64-pinephone-getting-started.html Getting start with PinePhone Hardware]&lt;br /&gt;
* [https://xnux.eu/devices/pine64-pinephone.html#toc-pine64-pinephone State of development progress]&lt;br /&gt;
* [https://xnux.eu/news.html PinePhone Technical News and Update, also applies to other Allwinner devices including PINE A64 SBC]&lt;br /&gt;
* [https://xnux.eu/contribute.html#toc-contributing-to-pinephone-kernel-development Contributions to the kernel development]&lt;br /&gt;
&lt;br /&gt;
== External links == &lt;br /&gt;
* [https://pine64.com/product-category/pinephone/ The PinePhone on the official Pine store]&lt;br /&gt;
* [https://pine64.com/product-category/smarphone-spare-parts/ PinePhone spare parts on the official Pine store]&lt;br /&gt;
* [https://pine64.com/product-category/smartphone-accessories/ PinePhone accessories on the official Pine store]&lt;br /&gt;
&lt;br /&gt;
[[Category:PinePhone]] [[Category:Allwinner A64]]&lt;/div&gt;</summary>
		<author><name>Wibble</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PinePhone&amp;diff=8295</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PinePhone&amp;diff=8295"/>
		<updated>2020-11-27T13:30:00Z</updated>

		<summary type="html">&lt;p&gt;Wibble: /* Swapping in a new mainboard revision */ add another video tutorial, check for proximity sensor rubber, and trapped cables on midplane reattachment&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The PinePhone is a smartphone created by Pine64, capable of running mainline Linux and supported by many partner projects. The BraveHeart Edition was the first publicly-available version of the phone, though it came without a fully functional OS (factory test image) and was geared specifically towards tinkerers and hackers. Its successor is the Community Edition, the first Community Edition started to ship in June 2020. The phone will be available for at least five years.&lt;br /&gt;
&lt;br /&gt;
== First time installation ==&lt;br /&gt;
&lt;br /&gt;
{{Hint|The default PIN for the Manjaro Community Edition is '''123456'''.}}&lt;br /&gt;
&lt;br /&gt;
[[File:PinePhone-3.jpg|400px|thumb|right|PinePhone is capable of running a multitude of different Linux mobile OSes]]&lt;br /&gt;
&lt;br /&gt;
[[File:Pinephone_rendering_blank.png|400px|thumb|right|Rendering of the back and front of PinePhone]]&lt;br /&gt;
&lt;br /&gt;
From the factory the battery has a sticker on it that isolates the battery from the phone. The battery '''will not''' charge until this is removed.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinephone_warning.png|none|left|400px]]&lt;br /&gt;
&lt;br /&gt;
After unboxing remove the back panel using the notch in the corner of the back panel. Then remove the battery and peel off the clear plastic sticker below it that isolates the charging contact. Then replace the battery, see [[PinePhone#Battery|Battery]] for more information.&lt;br /&gt;
&lt;br /&gt;
The SIM card has to be placed in the lower slot, while the microSD has to be placed in the upper slot, as pictured here:&lt;br /&gt;
&lt;br /&gt;
[[File:Pinephone_backside.png|none|left|400px]]&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
'''Dimensions:''' 160.5 x 76.6 x 9.2mm &amp;lt;br&amp;gt;&lt;br /&gt;
'''Weight:''' Between 180-200 grams &amp;lt;br&amp;gt;&lt;br /&gt;
'''SIM Card:''' Micro-SIM &amp;lt;br&amp;gt;&lt;br /&gt;
'''Display:'''&lt;br /&gt;
: '''Size:''' 5.95 inches (151mm) diagonal&lt;br /&gt;
: '''Type:''' HD IPS capacitive touchscreen, 16M colors&lt;br /&gt;
: '''Resolution:''' 1440x720, 18:9 ratio &amp;lt;br&amp;gt;&lt;br /&gt;
'''System on Chip:''' [https://linux-sunxi.org/A64 Allwinner A64] &amp;lt;br&amp;gt;&lt;br /&gt;
'''RAM:''' 2GB or 3GB LPDDR3 SDRAM&amp;lt;br&amp;gt;&lt;br /&gt;
'''Internal Storage:''' 16GB or 32GB eMMC, extendable up to 2TB via microSD, supports SDHC and SDXC &amp;lt;br&amp;gt;&lt;br /&gt;
'''Back Camera:''' Single 5MP, 1/4&amp;quot;, LED Flash &amp;lt;br&amp;gt;&lt;br /&gt;
'''Selfie Camera:''' Single 2MP, f/2.8, 1/5&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
'''Sound:''' Loudspeaker, 3.5mm jack &amp;amp; mic (jack doubles as hardware UART if killswitch 6 is deactivated) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Communication: G25-G'''&lt;br /&gt;
: '''LTE:''' B1, B2, B3, B4, B5, B7, B8, B12, B13, B18, B19, B20, B25, B26, B28, B38, B39, B40, B41&lt;br /&gt;
: '''WCDMA:''' B1, B2, B4, B5, B6, B8, B19&lt;br /&gt;
: '''GSM:''' 850, 900, 1800, 1900 (MHz)&lt;br /&gt;
: '''WLAN:''' Wi-Fi 802.11 b/g/n, single-band, hotspot&lt;br /&gt;
: '''Bluetooth:''' 4.0, A2DP&lt;br /&gt;
: '''GNSS:''' GPS/GLONASS/BeiDou/Galileo/QZSS, with A-GPS&lt;br /&gt;
'''Sensors:''' Accelerometer, gyro, proximity, ambient light, compass &amp;lt;br&amp;gt;&lt;br /&gt;
'''Killswitches:''' Modem, WiFi &amp;amp; Bluetooth, Microphone, Cameras &amp;lt;br&amp;gt;&lt;br /&gt;
'''Battery:''' Lithium-ion, rated capacity 2800mAh (10.64Wh), typical capacity 3000mAh (11.40Wh) (nominally replaceable with any Samsung J7 form-factor battery) &amp;lt;br&amp;gt;&lt;br /&gt;
'''I/O:''' USB Type-C, USB Host, DisplayPort Alternate Mode output, 15W 5V 3A Quick Charge, follows USB PD specification&lt;br /&gt;
&lt;br /&gt;
== Components ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Component&lt;br /&gt;
! Model&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen&lt;br /&gt;
| Goodix GT917S&lt;br /&gt;
|-&lt;br /&gt;
| Rear camera&lt;br /&gt;
| OmniVision OV5640&lt;br /&gt;
|-&lt;br /&gt;
| Camera flash&lt;br /&gt;
| SGMICRO SGM3140&lt;br /&gt;
|-&lt;br /&gt;
| Front camera&lt;br /&gt;
| GalaxyCore GC2145&lt;br /&gt;
|-&lt;br /&gt;
| LCD&lt;br /&gt;
| Xingbangda XBD599&lt;br /&gt;
|-&lt;br /&gt;
| WiFi&lt;br /&gt;
| Realtek RTL8723CS&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth&lt;br /&gt;
| Realtek RTL8723CS&lt;br /&gt;
|-&lt;br /&gt;
| Modem&lt;br /&gt;
| Quectel EG25-G&lt;br /&gt;
|-&lt;br /&gt;
| GNSS/GPS&lt;br /&gt;
| Quectel EG25-G&lt;br /&gt;
|-&lt;br /&gt;
| Magnetometer&lt;br /&gt;
| ST LIS3MDL&lt;br /&gt;
|-&lt;br /&gt;
| Ambient light / Proximity&lt;br /&gt;
| SensorTek STK3335&lt;br /&gt;
|-&lt;br /&gt;
| Sixaxis&lt;br /&gt;
| InvenSense MPU-6050&lt;br /&gt;
|-&lt;br /&gt;
| Vibration motor&lt;br /&gt;
| Unknown model&lt;br /&gt;
|-&lt;br /&gt;
| Notification LED&lt;br /&gt;
| LED0603RGB&lt;br /&gt;
|-&lt;br /&gt;
| Volume buttons&lt;br /&gt;
| Buttons connected to the KEYADC&lt;br /&gt;
|-&lt;br /&gt;
| Power button&lt;br /&gt;
| X-Powers AXP803&lt;br /&gt;
|-&lt;br /&gt;
| Battery fuel gauge&lt;br /&gt;
| X-Powers AXP803&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
See the [[PinePhone_component_list|PinePhone Component List]].&lt;br /&gt;
&lt;br /&gt;
== Hardware revisions ==&lt;br /&gt;
&lt;br /&gt;
# [[Project Anakin]]&lt;br /&gt;
# [[Project Don't be evil|&amp;quot;Project Don't Be Evil&amp;quot; devkit]]&lt;br /&gt;
# [[PinePhone v1.0 - Dev|PinePhone v1.0 - Developer batch]]&lt;br /&gt;
# [[PinePhone v1.1 - Braveheart]]&lt;br /&gt;
# [[PinePhone v1.2‎]] - Ubports Community Edition&lt;br /&gt;
# [[PinePhone v1.2a]] - postmarketOS Community Edition&lt;br /&gt;
# [[PinePhone v1.2b]] - Manjaro Community Edition&lt;br /&gt;
&lt;br /&gt;
== Swapping in a new mainboard revision ==&lt;br /&gt;
&lt;br /&gt;
Prior to replacing your PinePhone’s mainboard please read the steps outlined in bullet points below and watch the attached video.&lt;br /&gt;
&lt;br /&gt;
#You’ll need a small Phillip’s screwdriver and a prying tool to swap out the PinePhone’s mainboard.&lt;br /&gt;
#Remove the PinePhone’s back cover. See your quick start guide for details.&lt;br /&gt;
#Remove the battery as well as any inserted SD and SIM cards.&lt;br /&gt;
#Unscrew all 15 Phillip’s head screws around the midframe of the phone.&lt;br /&gt;
#Gently pry up the midframe using a guitar pick or credit card corner. It is easiest to separate the midframe at one of the bottom edges. Work your way around all the sides of the phone until the midframe separates from the phone’s body.&lt;br /&gt;
#Detach all ribbon cables and “Lego” connectors. List of things to detach: 1) two “Lego” connects at the bottom of the mainboard. 2) u.FL antenna connect and touchscreen digitizer on PCD left side. 3) LCD ribbon cable top of mainboard, next to audio/ UART jack.&lt;br /&gt;
#Pry the mainboard up gently from the left-hand side.&lt;br /&gt;
#Remove front and main cameras and reset them into the new mainboard.&lt;br /&gt;
#Check that the rubber proximity sensor housing is in the chassis, not stuck to the removed mainboard.&lt;br /&gt;
#Place the new mainboard in the chassis, hooking in on the plastic tabs on left side and pressing down firmly on opposite side, and follow the steps (7-2) in reverse. When reattaching the midframe take care that no cables are out of place or trapped, as they may be damaged when tightening screws.&lt;br /&gt;
&lt;br /&gt;
A video tutorial can be found here:&lt;br /&gt;
[[File:Pinephone_martijn_pcb_replacement.png|thumb|none|600px|link=https://www.youtube.com/watch?v=5GbMoZ_zuZs|Watch Martijn Braam's video tutorial here, https://youtu.be/5GbMoZ_zuZs]]&lt;br /&gt;
[[File:Pinephone_martijn_pcb_replacement.png|thumb|none|600px|link=https://www.youtube.com/watch?v=J3AJEF7akkw|bridadan's video tutorial includes camera swap and proximity sensor housing, https://youtu.be/J3AJEF7akkw]]&lt;br /&gt;
&lt;br /&gt;
== Hardware accessory ==&lt;br /&gt;
&lt;br /&gt;
=== PinePhone hardware accessory compatibility ===&lt;br /&gt;
See [[PinePhone Hardware Accessory Compatibility]] for a list of devices working with the PinePhone (depending on their OS support).&lt;br /&gt;
&lt;br /&gt;
=== USB-C connector ===&lt;br /&gt;
&lt;br /&gt;
The USB-C can be used to power the device, and offers USB2 host and OTG possibilities, and also can make use of the USB-C capability to integrate HDMI signals. Some USB-C hubs are available that offer power throughput, USB connection, HDMI port and Ethernet connection. The driver that would make this connection available is not supported at this time.&lt;br /&gt;
&lt;br /&gt;
=== Pogo pins ===&lt;br /&gt;
&lt;br /&gt;
The PinePhone has 6 pogo pins on the back allowing for custom hardware extensions such as wireless charging, an IR blaster, a keyboard extension or extended battery case. The pogo pins provide access to an interrupt line, power input to charge the battery, power source and an I2C interface.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinephone pogo.png|none|400px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| Interrupt&lt;br /&gt;
| SDA&lt;br /&gt;
| SCL&lt;br /&gt;
|-&lt;br /&gt;
| 5V / VBUS&lt;br /&gt;
| VBAT&lt;br /&gt;
| GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The VBUS pin is powered by USB and is 5V. The second power pin is VBAT, which connects to the battery voltage. The I2C and interrupt lines have pull-ups on the phone side. The I2C lines are pulled up to 3V3 by the phone.&lt;br /&gt;
&lt;br /&gt;
For a breakout board see [https://github.com/SMR404/PinephonePogoBreakout here]. For an example project see Martijn's blog post [https://blog.brixit.nl/making-a-backcover-extension-for-the-pinephone/ &amp;lt;i&amp;gt;&amp;quot;Making a backcover extension for the PinePhone&amp;quot;&amp;lt;/i&amp;gt;].&lt;br /&gt;
&lt;br /&gt;
=== Back cover ===&lt;br /&gt;
A step file for the back cover for creating custom cases is freely available [https://files.pine64.org/doc/PinePhone/PinePhone%20Back%20Cover%20ver%200.5.stp here].&lt;br /&gt;
&lt;br /&gt;
=== Serial console ===&lt;br /&gt;
&lt;br /&gt;
The PinePhone has a serial port in the headphone connector, it's activated by the 6th contact on the dipswitch. If the switch is set to &amp;quot;on&amp;quot;, the headphone connector is in audio mode, if it is set to &amp;quot;off&amp;quot; it's in UART mode. The UART serial connection can also be used for communication with other devices from the PinePhone.&lt;br /&gt;
&lt;br /&gt;
The UART is 115200n8.&lt;br /&gt;
&lt;br /&gt;
The pinout for the serial connector is:&lt;br /&gt;
&lt;br /&gt;
* Tip: RX&lt;br /&gt;
* Ring: TX&lt;br /&gt;
* Sleeve: GND&lt;br /&gt;
&lt;br /&gt;
[[File:PinePhone_Serial_Cable.png|none|400px]]&lt;br /&gt;
&lt;br /&gt;
You can buy a serial debug cable from the [https://pine64.com/product/pinebook-pinephone-pinetab-serial-console/ Pine64 Store]. The store cable uses a 4 ring plug, as seen in the [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf here], but a 3 ring plug works just as well. The cable uses a CH340 chipset based serial to USB converter, but any 3.3v serial connection can be used. Because it is a &amp;quot;host&amp;quot;/DTE it means that you need a ''cross modem cable'' ([https://en.wikipedia.org/wiki/Null_modem Null Modem]) with TX on Tip to be connected to RX. A cable like e.g. [https://www.ftdichip.com/Products/Cables/USBTTLSerial.htm FTDI TTL-232R-3V3-AJ] which has TX on Tip and RX on Ring fits perfectly.&lt;br /&gt;
&lt;br /&gt;
== Killswitch configuration ==&lt;br /&gt;
&lt;br /&gt;
[[File:PinePhone Kill Interruptors de Maquinari del PinePhone 4529.jpg|320px|thumb|right|Detail of DIP switch]]&lt;br /&gt;
&lt;br /&gt;
The PinePhone features six switches that can be used to configure its hardware. They are numbered 1-6, with switch 1 located nearest to the modem. Their &amp;quot;on&amp;quot; position is toward the top of the phone.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Number&lt;br /&gt;
! Name&lt;br /&gt;
! Explanation&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Modem&lt;br /&gt;
| Pulls Q1501 gate up (FET killing modem power)&lt;br /&gt;
| &amp;quot;On&amp;quot; enables 2G/3G/4G communication and GNSS hardware, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| WiFi / Bluetooth&lt;br /&gt;
| Pulls up CHIP_EN&lt;br /&gt;
| &amp;quot;On&amp;quot; enables WiFi and Bluetooth communication hardware, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Microphone&lt;br /&gt;
| Breaks microphone bias voltage from the SoC&lt;br /&gt;
| &amp;quot;On&amp;quot; enables audio input from on-board microphones (not 3.5mm jack), &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Rear camera&lt;br /&gt;
| Pulls up PWDN on OV5640 &lt;br /&gt;
| &amp;quot;On&amp;quot; enables the rear camera, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Front camera&lt;br /&gt;
| Pulls up PWDN on GC2145&lt;br /&gt;
| &amp;quot;On&amp;quot; enables the front camera, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Headphone&lt;br /&gt;
| Pulls up IN2 on analog switch BCT4717ETB&lt;br /&gt;
| &amp;quot;On&amp;quot; enables audio input and output via the 3.5mm audio jack, &amp;quot;off&amp;quot; switches the jack to hardware UART mode.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Camera ==&lt;br /&gt;
&lt;br /&gt;
The PinePhone has two cameras, OmniVision OV5640 with 5MP (up to 2592 x 1944 pixels) as rear camera and GalaxyCore GC2145 with 2MP (up to 1600 x 1200 pixels) as front camera.&lt;br /&gt;
&lt;br /&gt;
[[File:Rose.jpg|400px|thumb|none|Example picture taken on the PinePhone's rear camera by Martijn Braam using his app ''Megapixels''.]]&lt;br /&gt;
&lt;br /&gt;
== Battery ==&lt;br /&gt;
&lt;br /&gt;
{{Hint|The EG25 modem and RTL8723CS WiFi/bluetooth do not work without battery power, even if you are supplying enough power to the PinePhone with USB-C.}}&lt;br /&gt;
&lt;br /&gt;
The phone ships with a plastic sticker between the battery and the phone. You need to open the back cover (gently), then remove the battery and finally remove the sticker and check that the pins aren't bent. This is to protect the device from turning on during shipping.&lt;br /&gt;
&lt;br /&gt;
The [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20QZ01%20Battery%20Specification.pdf supplied battery] is [https://forum.pine64.org/showthread.php?tid=8120&amp;amp;pid=53307#pid53307 meant to be] compatible with Samsung part number EB-BJ700BBC / BBE / CBE from the 2015 J7 phone. &lt;br /&gt;
* The extended life aftermarket BBU does fit, although it is a tight fit.&lt;br /&gt;
* There is [https://forum.pine64.org/showthread.php?tid=8563&amp;amp;pid=55053#pid55053 a report] that the EB-BJ700CBE isn't quite the same size, causing the back not to fit the BraveHeart Edition properly.&lt;br /&gt;
&lt;br /&gt;
The battery terminals, in order from nearest the edge to nearest the middle, are:&lt;br /&gt;
&lt;br /&gt;
# +ve&lt;br /&gt;
# thermistor&lt;br /&gt;
# -ve&lt;br /&gt;
# not connected&lt;br /&gt;
&lt;br /&gt;
The battery includes a protection circuit that isolates it in a number of fault conditions, including if it is discharged too far. The fully discharged battery [https://forum.pine64.org/showthread.php?tid=8563&amp;amp;pid=55377#pid55377 can be recharged] by connecting the phone to a charger. Once it has charged sufficiently you will be able to boot the phone.&lt;br /&gt;
&lt;br /&gt;
If your battery is hard to remove from the phone, try loosening the screws around it. Possibly cutting up a piece of plastic and sliding it under the battery as a pull tab can work too.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;, heights=300px&amp;gt;&lt;br /&gt;
Image:PinePhone battery1.png|Photo of Brave Heart case from OSAKANA TARO on Twitter&lt;br /&gt;
Image:PinePhone battery3.jpeg|Photo of Brave Heart battery sticker from OSAKANA TARO on Twitter&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Modem and carrier support ==&lt;br /&gt;
=== APN settings ===&lt;br /&gt;
&lt;br /&gt;
The APN setting is required for a public Internet connection on the phone. For tested APN settings and how to apply them see [[PinePhone APN Settings]].&lt;br /&gt;
&lt;br /&gt;
=== Carrier support ===&lt;br /&gt;
The page [[PinePhone Carrier Support]] contains information about the frequency support of different carriers and hints on setting up cellular network connectivity.&lt;br /&gt;
&lt;br /&gt;
=== Documents ===&lt;br /&gt;
&lt;br /&gt;
Detailed information about the modem can be found on the [https://xnux.eu/devices/feature/modem-pp.html#toc-modem-on-pinephone page of the developer megi], including reverse-engineered parts of the firmware and its functions. There is also a document about using the modem from January 18th 2020 by megi [https://megous.com/dl/tmp/modem.txt here]. A script at the end of the document showcases a way to poweroff the modem before powering off the phone, which is integrated into most of the available OSes.&lt;br /&gt;
&lt;br /&gt;
=== Firmware modifications ===&lt;br /&gt;
&lt;br /&gt;
See [[PineModems]] for more information regarding modem bootloader unlocking, building a custom modem firmware and modem recovery.&lt;br /&gt;
&lt;br /&gt;
=== Voice mail ===&lt;br /&gt;
&lt;br /&gt;
Some phone operating systems may not have support for accessing your voicemail by holding down the 1 key. If you are in Canada and using rogers or a rogers associated carrier (such as ''Chatr''), you can access your voice mail by calling an external number, see: https://www.howardforums.com/showthread.php/913346-Rogers-GSM-Voicemail-Retrieval-Numbers&lt;br /&gt;
&lt;br /&gt;
In America, AT&amp;amp;T also has support for accessing your voicemail via an external phone number: https://www.att.com/support/article/wireless/KM1009101/&lt;br /&gt;
&lt;br /&gt;
== Operating Systems ==&lt;br /&gt;
&lt;br /&gt;
The PinePhone will automatically boot from microSD if a bootable card is inserted. Although it is technically possible to use any ARM distribution (because the PinePhone uses the mainline kernel), there are a few that are designed specifically for mobile use on devices like the PinePhone.&lt;br /&gt;
&lt;br /&gt;
=== Software releases ===&lt;br /&gt;
&lt;br /&gt;
The [[PinePhone Software Releases]] page has a complete list of currently supported phone-optimized Operating System images that work with the PinePhone as well as other related software information. As soon as more patches get mainlined and distributions ship with the updated kernel, they will also be able to run unmodified on the device.&lt;br /&gt;
&lt;br /&gt;
=== Installation instructions ===&lt;br /&gt;
&lt;br /&gt;
For instructions on how to install the operating systems to the eMMC or SD card see [[PinePhone Installation Instructions]].&lt;br /&gt;
&lt;br /&gt;
=== Flashing eMMC using Jumpdrive ===&lt;br /&gt;
&lt;br /&gt;
[[File:jumpdrive.jpg|400px|thumb|right|Jumpdrive running on the PinePhone]]&lt;br /&gt;
The internal eMMC flash storage can be flashed using the Jumpdrive utility by Danct12 and Martijn from postmarketOS.&lt;br /&gt;
This utility boots from micro SD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
The process of flashing an OS to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a SD card. You can use the 'DD' command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
Latest Jumpdrive can be found [https://github.com/dreemurrs-embedded/Jumpdrive/releases/ here].&lt;br /&gt;
&lt;br /&gt;
==== Detailed usage instructions ====&lt;br /&gt;
&lt;br /&gt;
# Download the Jumpdrive image&lt;br /&gt;
# Flash the Jumpdrive image to a micro SD card&lt;br /&gt;
# Boot the PinePhone from the Jumpdrive micro SD card&lt;br /&gt;
# Connect the PinePhone to your computer using USB-A -&amp;gt; USB-C cable&lt;br /&gt;
# Flash the exposed PinePhone drive (e.g. /dev/mm..., check for the right device in dmesg, GNOME disks, or similar, and make sure it's unmounted) with your chosen OS image&lt;br /&gt;
# Once the flashing process is complete, disconnect the PinePhone from your PC, power it down and remove the Jumpdrive SD card&lt;br /&gt;
# The process is now finished, and you can boot from eMMC&lt;br /&gt;
&lt;br /&gt;
Jumpdrive also acts as a rescue image in case if you messed up your installation. To do so, you can telnet to '''172.16.42.1''', mount rootfs and fix it!&lt;br /&gt;
&lt;br /&gt;
==== Resize file system ====&lt;br /&gt;
&lt;br /&gt;
If you flash a 4GB image distribution (such as phosh+debian) to your eMMC, your eMMC will only have a 3.7GB partition on it. To use the entire 14.7GB on the eMMC, run the following commands:&lt;br /&gt;
&lt;br /&gt;
# sudo cfdisk /dev/sdX&lt;br /&gt;
# Change to [Resize] in the ncurses program, resize the 3.7GB partition to 14.7GB, and [Write]&lt;br /&gt;
# sudo resize2fs /dev/sdXY&lt;br /&gt;
&lt;br /&gt;
Replace X with your drive's name. Replace Y with the partition you resized in cfdisk.&lt;br /&gt;
&lt;br /&gt;
==== Feedback ====&lt;br /&gt;
&lt;br /&gt;
If you've found an issue or want to improve the tool consider these sites:&lt;br /&gt;
&lt;br /&gt;
* Issues: https://github.com/dreemurrs-embedded/Jumpdrive/issues&lt;br /&gt;
* Pull Requests: https://github.com/dreemurrs-embedded/Jumpdrive/pulls&lt;br /&gt;
&lt;br /&gt;
== Frequently asked questions ==&lt;br /&gt;
&lt;br /&gt;
For a list of frequently asked questions (including information regarding the shipping) see [[PinePhone FAQ]].&lt;br /&gt;
&lt;br /&gt;
== Press ==&lt;br /&gt;
&lt;br /&gt;
For an overview about media of the PinePhone you can use for the news, blogs, or similar see [[PinePhone Press]].&lt;br /&gt;
&lt;br /&gt;
== PinePhone board information, schematics and certifications ==&lt;br /&gt;
* PinePhone mainboard schematic:&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20v1.2b%20Released%20Schematic.pdf PinePhone mainboard Released Schematic ver 1.2b]&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20v1.2a%20Released%20Schematic.pdf PinePhone mainboard Released Schematic ver 1.2a]&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20v1.2%20Released%20Schematic.pdf PinePhone mainboard Released Schematic ver 1.2]&lt;br /&gt;
** [[PinePhone_v1.2|PinePhone schematic ver 1.2 change list]]&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20Schematic%20v1.1%2020191031.pdf &amp;quot;Braveheart&amp;quot; PinePhone mainboard Schematic ver 1.1]&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20mainboard%20top%20placement%20v1.1%2020191031.pdf &amp;quot;Braveheart&amp;quot; PinePhone mainboard component top placement drawing ver 1.1]&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20mainboard%20bottom%20placement%20v1.1%2020191031.pdf &amp;quot;Braveheart&amp;quot; PinePhone mainboard component bottom placement drawing ver 1.1]&lt;br /&gt;
* PinePhone USB-C small board schematic:&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20USB-C%20small%20board%20schematic%20v1.0%2020190730.pdf PinePhone USB-C small board Schematic ver 1.0]&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20USB-C%20small%20board%20top%20placement%20v1.0%2020190730.pdf PinePhone USB-C small board component top placement drawing ver 1.0]&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20USB-C%20small%20board%20bottom%20placement%20v1.0%2020190730.pdf PinePhone USB-C small board component bottom placement drawing ver 1.0]&lt;br /&gt;
* PinePhone certifications:&lt;br /&gt;
** [https://files.pine64.org/doc/cert/PinePhone%20FCC%20SDOC%20Certificate-S19112602605001.pdf PinePhone FCC Certificate]&lt;br /&gt;
** [https://fcc.report/FCC-ID/2AWAG-PINEPHONE RF Exposure SAR Information from FCC ID site]&lt;br /&gt;
** [https://files.pine64.org/doc/cert/PinePhone%20CE%20RED%20Certificate-S19112602602.pdf PinPhone CE RED Certificate]&lt;br /&gt;
** [https://files.pine64.org/doc/cert/PinePhone%20ROHS%20Report.pdf PinePhone ROHS Report]&lt;br /&gt;
** PinePhone's GSMA TAC (Type Allocation Code) is 86769804&lt;br /&gt;
&lt;br /&gt;
== Datasheets for components and peripherals ==&lt;br /&gt;
&lt;br /&gt;
* Allwinner A64 SoC information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/A64%20brief%20v1.0%2020150323.pdf Allwinner A64 SoC brief introduction]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/A64_Datasheet_V1.1.pdf Allwinner A64 SoC Data Sheet V1.1 (Official Released Version)]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/Allwinner_A64_User_Manual_V1.0.pdf Allwinner A64 SoC User Manual V1.0 (Official Release Version)]&lt;br /&gt;
&lt;br /&gt;
* X-Powers AXP803 PMU (Power Management Unit) information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/AXP803_Datasheet_V1.0.pdf AXP803 PMIC datasheet]&lt;br /&gt;
&lt;br /&gt;
* LPDDR3 (178 Balls) SDRAM:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/ATL3A1632H12A_mobile_lpddr3_11x11.5_v1.0_1600.pdf Artmem LPDDR3 datasheet]&lt;br /&gt;
&lt;br /&gt;
* eMMC information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/Kimtigo_fbga153_16_32_64_eMMC_datasheet_v1.3.pdf Kimtigo eMMC datasheet]&lt;br /&gt;
&lt;br /&gt;
* CMOS camera module information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/QZ01-rear-2019-0717(HW)%20Model.pdf PinePhone 5M Pixel Real CMOS Image Sensor Module]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/OV5640_datasheet.pdf OV5640 5MP CMOS Image Sensor SoC for Rear Module datasheet]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/QZ01-front-2019-0717(HW)%20Model.pdf PinePhone 2M Pixel Front CMOS Image Sensor Module]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GC2145 2MP CMOS Image Sensor SoC for Front Module datasheet]&lt;br /&gt;
&lt;br /&gt;
* LCD touch screen panel information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20LCD-QZ01.pdf 5.99&amp;quot; 1440x720 LCD IPS Panel specification]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/ST7703_DS_v01_20160128.pdf ST7703 LCD Controller datasheet]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/GT917S-Datasheet.pdf GOODiX GT917S Capacitive Touch Controller datasheet]&lt;br /&gt;
&lt;br /&gt;
* Lithium battery information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20QZ01%20Battery%20Specification.pdf PinePhone Lithium Battery specification]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20QZ01%20Battery%20ZCV%20Curve%20Chart.xlsx PinePhone Lithium Battery ZCV curve chart]&lt;br /&gt;
&lt;br /&gt;
* WiFi/BT module information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/RTL8723BS.pdf RTL8723BS/RTL8723CS specification]&lt;br /&gt;
&lt;br /&gt;
* LTE module information:&lt;br /&gt;
** [https://www.quectel.com/UploadFile/Product/Quectel_EG25-G_LTE_Standard_Specification_V1.2.pdf Quectel EG25-G LTE Module specification]&lt;br /&gt;
** [[Media:Quectel EC25EC21 AT Commands Manual V1.2.pdf|EC25&amp;amp;EC21 AT Commands Manual]]&lt;br /&gt;
&lt;br /&gt;
* Sensors:&lt;br /&gt;
** [https://www.st.com/en/mems-and-sensors/lis3mdl.html ST LIS3MDL 3-axis Magnetomater Datasheet]&lt;br /&gt;
** [https://www.invensense.com/products/motion-tracking/6-axis/mpu-6050/ InvenSense MPU-6050 Six-Axis (Gyro + Accelerometer) MEMS datasheet]&lt;br /&gt;
** [https://www.sensortek.com.tw/en/product/Proximity_Sensor_with_ALS.html SensorTek STK3335 Ambient Light Sensor and Proximity Sensor]&lt;br /&gt;
&lt;br /&gt;
* Digital video to USB-C bridge:&lt;br /&gt;
** [https://www.analogix.com/en/system/files/AA-002281-PB-6-ANX7688_Product_Brief.pdf ANX7688 product brief]&lt;br /&gt;
&lt;br /&gt;
* Case information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20Exploded%20Diagram%20ver%201.0.pdf PinePhone case exploded diagram]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20Back%20Cover.stp PinePhone back cover 3D file]&lt;br /&gt;
&lt;br /&gt;
* Other components:&lt;br /&gt;
** See links in the [[PinePhone_component_list|Component List]]&lt;br /&gt;
&lt;br /&gt;
== Developer works ==&lt;br /&gt;
=== Megous ===&lt;br /&gt;
&lt;br /&gt;
* [https://xnux.eu/howtos/pine64-pinephone-getting-started.html Getting start with PinePhone Hardware]&lt;br /&gt;
* [https://xnux.eu/devices/pine64-pinephone.html#toc-pine64-pinephone State of development progress]&lt;br /&gt;
* [https://xnux.eu/news.html PinePhone Technical News and Update, also applies to other Allwinner devices including PINE A64 SBC]&lt;br /&gt;
* [https://xnux.eu/contribute.html#toc-contributing-to-pinephone-kernel-development Contributions to the kernel development]&lt;br /&gt;
&lt;br /&gt;
== External links == &lt;br /&gt;
* [https://pine64.com/product-category/pinephone/ The PinePhone on the official Pine store]&lt;br /&gt;
* [https://pine64.com/product-category/smarphone-spare-parts/ PinePhone spare parts on the official Pine store]&lt;br /&gt;
* [https://pine64.com/product-category/smartphone-accessories/ PinePhone accessories on the official Pine store]&lt;br /&gt;
&lt;br /&gt;
[[Category:PinePhone]] [[Category:Allwinner A64]]&lt;/div&gt;</summary>
		<author><name>Wibble</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PinePhone&amp;diff=7574</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PinePhone&amp;diff=7574"/>
		<updated>2020-10-12T17:03:13Z</updated>

		<summary type="html">&lt;p&gt;Wibble: /* Battery */ update datasheet link to the one for the one shipping with BH and above instead of the developer one. This matches the link in the datasheets section below.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The PinePhone is a smartphone created by Pine64, capable of running mainline Linux and supported by many partner projects. The BraveHeart Edition was the first publicly-available version of the phone, though it came without a fully functional OS (factory test image) and was geared specifically towards tinkerers and hackers. Its successor is the Community Edition, the first Community Edition started to ship in June 2020. The phone will be available for at least five years.&lt;br /&gt;
&lt;br /&gt;
== First time installation ==&lt;br /&gt;
&lt;br /&gt;
[[File:PinePhone-3.jpg|400px|thumb|right|PinePhone is capable of running a multitude of different Linux mobile OSes]]&lt;br /&gt;
&lt;br /&gt;
[[File:Pinephone_rendering_blank.png|400px|thumb|right|Rendering of the back and front of PinePhone]]&lt;br /&gt;
&lt;br /&gt;
From the factory the battery has a sticker on it that isolates the battery from the phone. The battery '''will not''' charge until this is removed.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinephone_warning.png|none|left|400px]]&lt;br /&gt;
&lt;br /&gt;
After unboxing remove the back panel using the notch in the corner of the back panel. Then remove the battery and peel off the clear plastic sticker below it that isolates the charging contact. Then replace the battery. See [[PinePhone#Battery|Battery]] for more information.&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
'''Dimensions:''' 160.5 x 76.6 x 9.2mm &amp;lt;br&amp;gt;&lt;br /&gt;
'''Weight:''' Between 180-200 grams &amp;lt;br&amp;gt;&lt;br /&gt;
'''SIM Card:''' Micro-SIM &amp;lt;br&amp;gt;&lt;br /&gt;
'''Display:'''&lt;br /&gt;
: '''Size:''' 5.95 inches (151mm) diagonal&lt;br /&gt;
: '''Type:''' HD IPS capacitive touchscreen, 16M colors&lt;br /&gt;
: '''Resolution:''' 1440x720, 18:9 ratio &amp;lt;br&amp;gt;&lt;br /&gt;
'''System on Chip:''' [https://linux-sunxi.org/A64 Allwinner A64] &amp;lt;br&amp;gt;&lt;br /&gt;
'''RAM:''' 2GB or 3GB LPDDR3 SDRAM&amp;lt;br&amp;gt;&lt;br /&gt;
'''Internal Storage:''' 16GB or 32GB eMMC, extendable up to 2TB via microSD, supports SDHC and SDXC &amp;lt;br&amp;gt;&lt;br /&gt;
'''Back Camera:''' Single 5MP, 1/4&amp;quot;, LED Flash &amp;lt;br&amp;gt;&lt;br /&gt;
'''Selfie Camera:''' Single 2MP, f/2.8, 1/5&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
'''Sound:''' Loudspeaker, 3.5mm jack &amp;amp; mic (jack doubles as hardware UART if killswitch 6 is deactivated) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Communication: G25-G'''&lt;br /&gt;
: '''LTE:''' B1, B2, B3, B4, B5, B7, B8, B12, B13, B18, B19, B20, B25, B26, B28, B38, B39, B40, B41&lt;br /&gt;
: '''WCDMA:''' B1, B2, B4, B5, B6, B8, B19&lt;br /&gt;
: '''GSM:''' 850, 900, 1800, 1900 (MHz)&lt;br /&gt;
: '''WLAN:''' Wi-Fi 802.11 b/g/n, single-band, hotspot&lt;br /&gt;
: '''Bluetooth:''' 4.0, A2DP&lt;br /&gt;
: '''GNSS:''' GPS/GLONASS/BeiDou/Galileo/QZSS, with A-GPS&lt;br /&gt;
'''Sensors:''' Accelerometer, gyro, proximity, ambient light, compass &amp;lt;br&amp;gt;&lt;br /&gt;
'''Killswitches:''' Modem, WiFi &amp;amp; Bluetooth, Microphone, Cameras &amp;lt;br&amp;gt;&lt;br /&gt;
'''Battery:''' Lithium-ion, rated capacity 2800mAh (10.64Wh), typical capacity 3000mAh (11.40Wh) (nominally replaceable with any Samsung J7 form-factor battery) &amp;lt;br&amp;gt;&lt;br /&gt;
'''I/O:''' USB Type-C, USB Host, DisplayPort Alternate Mode output, 15W 5V 3A Quick Charge, follows USB PD specification&lt;br /&gt;
&lt;br /&gt;
== Components ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Component&lt;br /&gt;
! Model&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen&lt;br /&gt;
| Goodix GT917S&lt;br /&gt;
|-&lt;br /&gt;
| Rear camera&lt;br /&gt;
| OmniVision OV5640&lt;br /&gt;
|-&lt;br /&gt;
| Camera flash&lt;br /&gt;
| SGMICRO SGM3140&lt;br /&gt;
|-&lt;br /&gt;
| Front camera&lt;br /&gt;
| GalaxyCore GC2145&lt;br /&gt;
|-&lt;br /&gt;
| LCD&lt;br /&gt;
| Xingbangda XBD599&lt;br /&gt;
|-&lt;br /&gt;
| WiFi&lt;br /&gt;
| Realtek RTL8723CS&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth&lt;br /&gt;
| Realtek RTL8723CS&lt;br /&gt;
|-&lt;br /&gt;
| Modem&lt;br /&gt;
| Quectel EG25-G&lt;br /&gt;
|-&lt;br /&gt;
| GNSS/GPS&lt;br /&gt;
| Quectel EG25-G&lt;br /&gt;
|-&lt;br /&gt;
| Magnetometer&lt;br /&gt;
| ST LIS3MDL&lt;br /&gt;
|-&lt;br /&gt;
| Ambient light / Proximity&lt;br /&gt;
| SensorTek STK3335&lt;br /&gt;
|-&lt;br /&gt;
| Sixaxis&lt;br /&gt;
| InvenSense MPU-6050&lt;br /&gt;
|-&lt;br /&gt;
| Vibration motor&lt;br /&gt;
| Yes, unknown model&lt;br /&gt;
|-&lt;br /&gt;
| Notification LED&lt;br /&gt;
| LED0603RGB&lt;br /&gt;
|-&lt;br /&gt;
| Volume buttons&lt;br /&gt;
| Buttons connected to the KEYADC&lt;br /&gt;
|-&lt;br /&gt;
| Power button&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Battery fuel gauge&lt;br /&gt;
| X-Powers AXP803&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hardware revisions ==&lt;br /&gt;
&lt;br /&gt;
# [[Project Anakin]]&lt;br /&gt;
# [[Project Don't be evil|&amp;quot;Project Don't Be Evil&amp;quot; devkit]]&lt;br /&gt;
# [[PinePhone v1.0 - Dev|PinePhone v1.0 - Developer batch]]&lt;br /&gt;
# [[PinePhone v1.1 - Braveheart]]&lt;br /&gt;
# [[PinePhone v1.2‎]] - Ubports Community Edition&lt;br /&gt;
# [[PinePhone v1.2a]] - Community Editions&lt;br /&gt;
&lt;br /&gt;
== Hardware accessory ==&lt;br /&gt;
&lt;br /&gt;
=== PinePhone hardware accessory compatibility ===&lt;br /&gt;
See [[PinePhone Hardware Accessory Compatibility]] for a list of devices working with the PinePhone (depending on their OS support).&lt;br /&gt;
&lt;br /&gt;
=== USB-C connector ===&lt;br /&gt;
&lt;br /&gt;
The USB-C can be used to power the device, and offers USB2 host and OTG possibilities, and also can make use of the USB-C capability to integrate HDMI signals. Some USB-C hubs are available that offer power throughput, USB connection, HDMI port and Ethernet connection. The driver that would make this connection available is not supported at this time.&lt;br /&gt;
&lt;br /&gt;
=== Pogo pins ===&lt;br /&gt;
&lt;br /&gt;
The PinePhone has 6 pogo pins on the back allowing for custom hardware extensions such as wireless charging, an IR blaster, a keyboard extension or extended battery case. The pogo pins provide access to an interrupt line, power input to charge the battery, power source and an I2C interface.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinephone pogo.png|none|400px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| Interrupt&lt;br /&gt;
| SDA&lt;br /&gt;
| SCL&lt;br /&gt;
|-&lt;br /&gt;
| 5V / VBUS&lt;br /&gt;
| VBAT&lt;br /&gt;
| GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The VBUS pin is powered by USB and is 5V. The second power pin is VBAT, which connects to the battery voltage. The I2C and interrupt lines have pull-ups on the phone side. The I2C lines are pulled up to 3V3 by the phone.&lt;br /&gt;
&lt;br /&gt;
For a breakout board see [https://github.com/SMR404/PinephonePogoBreakout here]. For an example project see Martijn's blog post [https://blog.brixit.nl/making-a-backcover-extension-for-the-pinephone/ &amp;lt;i&amp;gt;Making a backcover extension for the PinePhone&amp;lt;/i&amp;gt;].&lt;br /&gt;
&lt;br /&gt;
=== Back cover ===&lt;br /&gt;
A step file for the back cover for creating custom cases is freely available [http://files.pine64.org/doc/PinePhone/PinePhone%20Back%20Cover%20ver%200.5.stp here].&lt;br /&gt;
&lt;br /&gt;
=== Serial console ===&lt;br /&gt;
&lt;br /&gt;
The PinePhone has a serial port in the headphone connector, it's activated by the 6th contact on the dipswitch. If the switch is set to &amp;quot;on&amp;quot;, the headphone connector is in audio mode, if it is set to &amp;quot;off&amp;quot; it's in UART mode. The UART serial connection can also be used for communication with other devices from the PinePhone.&lt;br /&gt;
&lt;br /&gt;
The UART is 115200n8.&lt;br /&gt;
&lt;br /&gt;
The pinout for the serial connector is:&lt;br /&gt;
&lt;br /&gt;
* Tip: RX&lt;br /&gt;
* Ring: TX&lt;br /&gt;
* Sleeve: GND&lt;br /&gt;
&lt;br /&gt;
[[File:PinePhone_Serial_Cable.png|none|400px]]&lt;br /&gt;
&lt;br /&gt;
You can buy a serial debug cable from the [https://store.pine64.org/product/pinebook-serial-console/ Pine64 Store]. The store cable uses a 4 ring plug, as seen in the [http://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf here], but a 3 ring plug works just as well. The cable uses a CH340 chipset based serial to USB converter, but any 3.3v serial connection can be used. Because it is a &amp;quot;host&amp;quot;/DTE it means that you need a ''cross modem cable'' ([https://en.wikipedia.org/wiki/Null_modem Null Modem]) with TX on Tip to be connected to RX. A cable like e.g. [https://www.ftdichip.com/Products/Cables/USBTTLSerial.htm FTDI TTL-232R-3V3-AJ] which has TX on Tip and RX on Ring fits perfectly.&lt;br /&gt;
&lt;br /&gt;
== Killswitch configuration ==&lt;br /&gt;
&lt;br /&gt;
[[File:PinePhone switches.jpeg|320px|thumb|right|Photo of BraveHeart switches from OSAKANA TARO on Twitter]]&lt;br /&gt;
&lt;br /&gt;
The PinePhone features six switches that can be used to configure its hardware. They are numbered 1-6, with switch 1 located nearest to the modem. Their &amp;quot;on&amp;quot; position is toward the top of the phone.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Number&lt;br /&gt;
! Name&lt;br /&gt;
! Explanation&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Modem&lt;br /&gt;
| Pulls Q1501 gate up (FET killing modem power)&lt;br /&gt;
| &amp;quot;On&amp;quot; enables 2G/3G/4G communication and GNSS hardware, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| WiFi / Bluetooth&lt;br /&gt;
| Pulls up CHIP_EN&lt;br /&gt;
| &amp;quot;On&amp;quot; enables WiFi and Bluetooth communication hardware, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Microphone&lt;br /&gt;
| Breaks microphone bias voltage from the SoC&lt;br /&gt;
| &amp;quot;On&amp;quot; enables audio input from on-board microphones (not 3.5mm jack), &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Rear camera&lt;br /&gt;
| Pulls up PWDN on OV5640 &lt;br /&gt;
| &amp;quot;On&amp;quot; enables the rear camera, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Front camera&lt;br /&gt;
| Pulls up PWDN on GC2145&lt;br /&gt;
| &amp;quot;On&amp;quot; enables the front camera, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Headphone&lt;br /&gt;
| Pulls up IN2 on analog switch BCT4717ETB&lt;br /&gt;
| &amp;quot;On&amp;quot; enables audio input and output via the 3.5mm audio jack, &amp;quot;off&amp;quot; switches the jack to hardware UART mode.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Battery ==&lt;br /&gt;
&lt;br /&gt;
{{Hint|The EG25 modem and RTL8723CS WiFi/bluetooth do not work without battery power, even if you are supplying enough power to the PinePhone with USB-C.}}&lt;br /&gt;
&lt;br /&gt;
The phone ships with a plastic sticker between the battery and the phone. You need to open the back cover (gently), then remove the battery and finally remove the sticker and check that the pins aren't bent. This is to protect the device from turning on during shipping.&lt;br /&gt;
&lt;br /&gt;
The [http://files.pine64.org/doc/datasheet/pinephone/PinePhone%20QZ01%20Battery%20Specification.pdf supplied battery] is [https://forum.pine64.org/showthread.php?tid=8120&amp;amp;pid=53307#pid53307 meant to be] compatible with Samsung part number EB-BJ700BBC / BBE / CBE from the 2015 J7 phone. &lt;br /&gt;
* The extended life aftermarket BBU does fit, although it is a tight fit.&lt;br /&gt;
* There is [https://forum.pine64.org/showthread.php?tid=8563&amp;amp;pid=55053#pid55053 a report] that the EB-BJ700CBE isn't quite the same size, causing the back not to fit the BraveHeart Edition properly.&lt;br /&gt;
&lt;br /&gt;
The battery terminals, in order from nearest the edge to nearest the middle, are:&lt;br /&gt;
&lt;br /&gt;
# +ve&lt;br /&gt;
# thermistor&lt;br /&gt;
# -ve&lt;br /&gt;
# not connected&lt;br /&gt;
&lt;br /&gt;
The battery includes a protection circuit that isolates it in a number of fault conditions, including if it is discharged too far. The fully discharged battery [https://forum.pine64.org/showthread.php?tid=8563&amp;amp;pid=55377#pid55377 can be recharged] by connecting the phone to a charger. Once it has charged sufficiently you will be able to boot the phone.&lt;br /&gt;
&lt;br /&gt;
If your battery is hard to remove from the phone, try loosening the screws around it. Possibly cutting up a piece of plastic and sliding it under the battery as a pull tab can work too.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;, heights=300px&amp;gt;&lt;br /&gt;
Image:PinePhone battery1.png|Photo of Brave Heart case from OSAKANA TARO on Twitter&lt;br /&gt;
Image:PinePhone battery3.jpeg|Photo of Brave Heart battery sticker from OSAKANA TARO on Twitter&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Modem and carrier support ==&lt;br /&gt;
=== APN settings ===&lt;br /&gt;
&lt;br /&gt;
For tested APN settings and how to apply them see [[PinePhone APN Settings]].&lt;br /&gt;
&lt;br /&gt;
=== Carrier support ===&lt;br /&gt;
The page [[PinePhone Carrier Support]] contains information about the frequency support of different carriers and hints on setting up cellular network connectivity.&lt;br /&gt;
&lt;br /&gt;
=== Documents ===&lt;br /&gt;
&lt;br /&gt;
There is a document about using the modem from January 18th 2020 by user ''megi'' [https://megous.com/dl/tmp/modem.txt here]. The script at the end to disable the modem before power off is pretty essential to avoid corrupting your modem's flash memory.&lt;br /&gt;
&lt;br /&gt;
=== Firmware modifications ===&lt;br /&gt;
&lt;br /&gt;
See [[PineModems]] for more information regarding modem bootloader unlocking, building a custom modem firmware and modem recovery.&lt;br /&gt;
&lt;br /&gt;
=== Voice mail ===&lt;br /&gt;
&lt;br /&gt;
Some phone operating systems may not have support for accessing your voicemail by holding down the 1 key. If you are in Canada and using rogers or a rogers associated carrier (such as ''Chatr''), you can access your voice mail by calling an external number, see: https://www.howardforums.com/showthread.php/913346-Rogers-GSM-Voicemail-Retrieval-Numbers&lt;br /&gt;
&lt;br /&gt;
In America, AT&amp;amp;T also has support for accessing your voicemail via an external phone number: https://www.att.com/support/article/wireless/KM1009101/&lt;br /&gt;
&lt;br /&gt;
== Operating Systems ==&lt;br /&gt;
&lt;br /&gt;
The PinePhone will automatically boot from microSD if a bootable card is inserted. Although it is technically possible to use any ARM distribution (because the PinePhone uses the mainline kernel), there are a few that are designed specifically for mobile use on devices like the PinePhone.&lt;br /&gt;
&lt;br /&gt;
=== Software releases ===&lt;br /&gt;
&lt;br /&gt;
The [[PinePhone Software Releases]] page has a complete list of currently supported phone-optimized Operating System images that work with the PinePhone as well as other related software information. As soon as more patches get mainlined and distributions ship with the updated kernel, they will also be able to run unmodified on the device.&lt;br /&gt;
&lt;br /&gt;
=== Installation instructions ===&lt;br /&gt;
&lt;br /&gt;
For instructions on how to install the operating systems to the eMMC or SD card see [[PinePhone Installation Instructions]].&lt;br /&gt;
&lt;br /&gt;
=== Flashing eMMC using Jumpdrive ===&lt;br /&gt;
&lt;br /&gt;
[[File:jumpdrive.jpg|400px|thumb|right|Jumpdrive running on the PinePhone]]&lt;br /&gt;
The internal eMMC flash storage can be flashed using the Jumpdrive utility by Danct12 and Martijn from postmarketOS.&lt;br /&gt;
This utility boots from micro SD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
The process of flashing an OS to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a SD card. You can use the 'DD' command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
Latest Jumpdrive can be found [https://github.com/dreemurrs-embedded/Jumpdrive/releases/ here].&lt;br /&gt;
&lt;br /&gt;
==== Detailed usage instructions ====&lt;br /&gt;
&lt;br /&gt;
# Download the Jumpdrive image&lt;br /&gt;
# Flash the Jumpdrive image to a micro SD card&lt;br /&gt;
# Boot the PinePhone from the Jumpdrive micro SD card&lt;br /&gt;
# Connect the PinePhone to your computer using USB-A -&amp;gt; USB-C cable&lt;br /&gt;
# Flash the exposed PinePhone drive (e.g. /dev/mm..., check for the right device in dmesg, GNOME disks, or similar, and make sure it's unmounted) with your chosen OS image&lt;br /&gt;
# Once the flashing process is complete, disconnect the PinePhone from your PC, power it down and remove the Jumpdrive SD card&lt;br /&gt;
# The process is now finished, and you can boot from eMMC&lt;br /&gt;
&lt;br /&gt;
Jumpdrive also acts as a rescue image in case if you messed up your installation. To do so, you can telnet to '''172.16.42.1''', mount rootfs and fix it!&lt;br /&gt;
&lt;br /&gt;
==== Resize file system ====&lt;br /&gt;
&lt;br /&gt;
If you flash a 4GB image distribution (such as phosh+debian) to your eMMC, your eMMC will only have a 3.7GB partition on it. To use the entire 14.7GB on the eMMC, run the following commands:&lt;br /&gt;
&lt;br /&gt;
# sudo cfdisk /dev/sdX&lt;br /&gt;
# Change to [Resize] in the ncurses program, resize the 3.7GB partition to 14.7GB, and [Write]&lt;br /&gt;
# sudo resize2fs /dev/sdXY&lt;br /&gt;
&lt;br /&gt;
Replace X with your drive's name. Replace Y with the partition you resized in cfdisk.&lt;br /&gt;
&lt;br /&gt;
==== Feedback ====&lt;br /&gt;
&lt;br /&gt;
If you've found an issue or want to improve the tool consider these sites:&lt;br /&gt;
&lt;br /&gt;
* Issues: https://github.com/dreemurrs-embedded/Jumpdrive/issues&lt;br /&gt;
* Pull Requests: https://github.com/dreemurrs-embedded/Jumpdrive/pulls&lt;br /&gt;
&lt;br /&gt;
== Frequently asked questions ==&lt;br /&gt;
&lt;br /&gt;
For a list of frequently asked questions (including information regarding the shipping) see [[PinePhone FAQ]].&lt;br /&gt;
&lt;br /&gt;
== Press ==&lt;br /&gt;
&lt;br /&gt;
For an overview about media of the PinePhone you can use for the news, blogs, or similar see [[PinePhone Press]].&lt;br /&gt;
&lt;br /&gt;
== PinePhone board information, schematics and certifications ==&lt;br /&gt;
* PinePhone mainboard schematic:&lt;br /&gt;
** [http://files.pine64.org/doc/PinePhone/PinePhone%20v1.2a%20Released%20Schematic.pdf PinePhone mainboard Released Schematic ver 1.2a]&lt;br /&gt;
** [http://files.pine64.org/doc/PinePhone/PinePhone%20v1.2%20Released%20Schematic.pdf PinePhone mainboard Released Schematic ver 1.2]&lt;br /&gt;
** [[PinePhone_v1.2|PinePhone schematic ver 1.2 change list]]&lt;br /&gt;
** [http://files.pine64.org/doc/PinePhone/PinePhone%20Schematic%20v1.1%2020191031.pdf &amp;quot;Braveheart&amp;quot; PinePhone mainboard Schematic ver 1.1]&lt;br /&gt;
** [http://files.pine64.org/doc/PinePhone/PinePhone%20mainboard%20top%20placement%20v1.1%2020191031.pdf &amp;quot;Braveheart&amp;quot; PinePhone mainboard component top placement drawing ver 1.1]&lt;br /&gt;
** [http://files.pine64.org/doc/PinePhone/PinePhone%20mainboard%20bottom%20placement%20v1.1%2020191031.pdf &amp;quot;Braveheart&amp;quot; PinePhone mainboard component bottom placement drawing ver 1.1]&lt;br /&gt;
* PinePhone USB-C small board schematic:&lt;br /&gt;
** [http://files.pine64.org/doc/PinePhone/PinePhone%20USB-C%20small%20board%20schematic%20v1.0%2020190730.pdf PinePhone USB-C small board Schematic ver 1.0]&lt;br /&gt;
** [http://files.pine64.org/doc/PinePhone/PinePhone%20USB-C%20small%20board%20top%20placement%20v1.0%2020190730.pdf PinePhone USB-C small board component top placement drawing ver 1.0]&lt;br /&gt;
** [http://files.pine64.org/doc/PinePhone/PinePhone%20USB-C%20small%20board%20bottom%20placement%20v1.0%2020190730.pdf PinePhone USB-C small board component bottom placement drawing ver 1.0]&lt;br /&gt;
* PinePhone certifications:&lt;br /&gt;
** [http://files.pine64.org/doc/cert/PinePhone%20FCC%20SDOC%20Certificate-S19112602605001.pdf PinePhone FCC Certificate]&lt;br /&gt;
** [https://fcc.report/FCC-ID/2AWAG-PINEPHONE RF Exposure SAR Information from FCC ID site]&lt;br /&gt;
** [http://files.pine64.org/doc/cert/PinePhone%20CE%20RED%20Certificate-S19112602602.pdf PinPhone CE RED Certificate]&lt;br /&gt;
** [http://files.pine64.org/doc/cert/PinePhone%20ROHS%20Report.pdf PinePhone ROHS Report]&lt;br /&gt;
* [[PinePhone component list]]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for components and peripherals ==&lt;br /&gt;
&lt;br /&gt;
* Allwinner A64 SoC information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pine64/A64%20brief%20v1.0%2020150323.pdf Allwinner A64 SoC brief introduction]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pine64/A64_Datasheet_V1.1.pdf Allwinner A64 SoC Data Sheet V1.1 (Official Released Version)]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pine64/Allwinner_A64_User_Manual_V1.0.pdf Allwinner A64 SoC User Manual V1.0 (Official Release Version)]&lt;br /&gt;
&lt;br /&gt;
* X-Powers AXP803 PMU (Power Management Unit) information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pine64/AXP803_Datasheet_V1.0.pdf AXP803 PMIC datasheet]&lt;br /&gt;
&lt;br /&gt;
* LPDDR3 (178 Balls) SDRAM:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinephone/ATL3A1632H12A_mobile_lpddr3_11x11.5_v1.0_1600.pdf Artmem LPDDR3 datasheet]&lt;br /&gt;
&lt;br /&gt;
* eMMC information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinephone/Kimtigo_fbga153_16_32_64_eMMC_datasheet_v1.3.pdf Kimtigo eMMC datasheet]&lt;br /&gt;
&lt;br /&gt;
* CMOS camera module information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinephone/QZ01-rear-2019-0717(HW)%20Model.pdf PinePhone 5M Pixel Real CMOS Image Sensor Module]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinephone/OV5640_datasheet.pdf OV5640 5MP CMOS Image Sensor SoC for Rear Module datasheet]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinephone/QZ01-front-2019-0717(HW)%20Model.pdf PinePhone 2M Pixel Front CMOS Image Sensor Module]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinephone/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GC2145 2MP CMOS Image Sensor SoC for Front Module datasheet]&lt;br /&gt;
&lt;br /&gt;
* LCD touch screen panel information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinephone/PinePhone%20LCD-QZ01.pdf 5.99&amp;quot; 1440x720 LCD IPS Panel specification]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinephone/ST7703_DS_v01_20160128.pdf ST7703 LCD Controller datasheet]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinephone/GT917S-Datasheet.pdf GOODiX GT917S Capacitive Touch Controller datasheet]&lt;br /&gt;
&lt;br /&gt;
* Lithium battery information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinephone/PinePhone%20QZ01%20Battery%20Specification.pdf PinePhone Lithium Battery specification]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinephone/PinePhone%20QZ01%20Battery%20ZCV%20Curve%20Chart.xlsx PinePhone Lithium Battery ZCV curve chart]&lt;br /&gt;
&lt;br /&gt;
* WiFi/BT module information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pine64/RTL8723BS.pdf RTL8723BS/RTL8723CS specification]&lt;br /&gt;
&lt;br /&gt;
* LTE module information:&lt;br /&gt;
** [https://www.quectel.com/UploadFile/Product/Quectel_EG25-G_LTE_Standard_Specification_V1.2.pdf Quectel EG25-G LTE Module specification]&lt;br /&gt;
** [[Media:Quectel EC25EC21 AT Commands Manual V1.2.pdf|EC25&amp;amp;EC21 AT Commands Manual]]&lt;br /&gt;
&lt;br /&gt;
* Sensors:&lt;br /&gt;
** [https://www.st.com/en/mems-and-sensors/lis3mdl.html ST LIS3MDL 3-axis Magnetomater Datasheet]&lt;br /&gt;
** [https://www.invensense.com/products/motion-tracking/6-axis/mpu-6050/ InvenSense MPU-6050 Six-Axis (Gyro + Accelerometer) MEMS datasheet]&lt;br /&gt;
** [http://www.sensortek.com.tw/en/product/Proximity_Sensor_with_ALS.html SensorTek STK3335 Ambient Light Sensor and Proximity Sensor]&lt;br /&gt;
&lt;br /&gt;
* Digital video to USB-C bridge:&lt;br /&gt;
** [https://www.analogix.com/en/system/files/AA-002281-PB-6-ANX7688_Product_Brief.pdf ANX7688 product brief]&lt;br /&gt;
&lt;br /&gt;
* Case information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinephone/PinePhone%20Exploded%20Diagram%20ver%201.0.pdf PinePhone case exploded diagram]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinephone/PinePhone%20Back%20Cover.stp PinePhone back cover 3D file]&lt;br /&gt;
&lt;br /&gt;
== Developer works ==&lt;br /&gt;
=== Megous ===&lt;br /&gt;
&lt;br /&gt;
* [https://xnux.eu/howtos/pine64-pinephone-getting-started.html Getting start with PinePhone Hardware]&lt;br /&gt;
* [https://xnux.eu/devices/pine64-pinephone.html#toc-pine64-pinephone State of development progress]&lt;br /&gt;
* [https://xnux.eu/news.html PinePhone Technical News and Update, also applies to other Allwinner devices including PINE A64 SBC]&lt;br /&gt;
* [https://xnux.eu/contribute.html#toc-contributing-to-pinephone-kernel-development Contributions to the kernel development]&lt;br /&gt;
&lt;br /&gt;
== External links == &lt;br /&gt;
* [https://store.pine64.org/?post_type=product Pine64 shop]&lt;br /&gt;
&lt;br /&gt;
[[Category:PinePhone]] [[Category:Allwinner A64]]&lt;/div&gt;</summary>
		<author><name>Wibble</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PinePhone_Software_Releases&amp;diff=7452</id>
		<title>PinePhone Software Releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PinePhone_Software_Releases&amp;diff=7452"/>
		<updated>2020-10-07T19:31:54Z</updated>

		<summary type="html">&lt;p&gt;Wibble: /* Software Releases */  - added Gentoo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains a list of all available releases for the PinePhone as well as links to further resources.&lt;br /&gt;
&lt;br /&gt;
See [[PinePhone Installation Instructions]] on how to install the operating systems.&lt;br /&gt;
&lt;br /&gt;
Note: Some releases may not have a good setup for the backlight at low brightness. If configured too low the backlight shuts down completely, but the screen is still displayed and usable in bright front-light.&lt;br /&gt;
&lt;br /&gt;
= Software Releases =&lt;br /&gt;
This is a list of OSes that specifically support the PinePhone, but as support is included in Mainline Linux, in principle any ARM Linux OS can be used, if possible required patches are included.&lt;br /&gt;
&lt;br /&gt;
== postmarketOS ==&lt;br /&gt;
[[File:PostmarketOS-logo.png|100px]]&lt;br /&gt;
&lt;br /&gt;
postmarketOS is a preconfigured version of [https://www.alpinelinux.org/ Alpine Linux] for mobile devices that offers a choice of several desktop environments including Plasma Mobile and Phosh. &lt;br /&gt;
&lt;br /&gt;
* ''' Download location '''&lt;br /&gt;
Rather than downloading a demo image, postmarketOS [https://wiki.postmarketos.org/wiki/Installation_guide recommends the use of their script], pmbootstrap, that can tailor build your SD card for you.&lt;br /&gt;
&lt;br /&gt;
Note: pmbootstrap offers an option [https://wiki.postmarketos.org/wiki/PINE64_PinePhone_(pine64-pinephone)#Installation to install to the eMMC].&lt;br /&gt;
&lt;br /&gt;
Demo images can be found [http://images.postmarketos.org/pinephone/ here].&lt;br /&gt;
&lt;br /&gt;
* ''' username/password '''&lt;br /&gt;
demo/147147 (for demo images only - when building an image with pmbootstrap you set your own username and password (the Phosh lock screen requires your password, but only presents a numeric keyboard, so you should use only numbers in your password).&lt;br /&gt;
&lt;br /&gt;
* ''' What works, what does not work '''&lt;br /&gt;
See [https://wiki.postmarketos.org/wiki/PINE64_PinePhone_(pine64-pinephone) postmarketOS dedicated PinePhone wiki page]&lt;br /&gt;
&lt;br /&gt;
If you install Firefox browser (or are using a demo image that already has it installed) then [https://wiki.postmarketos.org/wiki/Firefox these hints] in the pmOS wiki are recommended.&lt;br /&gt;
&lt;br /&gt;
* ''' How to contribute and report defects '''&lt;br /&gt;
[https://gitlab.com/postmarketOS/postmarketos/issues/3 postmarketOS issue tracker] for PinePhone support. See [https://wiki.postmarketos.org/wiki/Contributing  postmarketOS wiki] for options to contribute.&lt;br /&gt;
&lt;br /&gt;
== Ubuntu Touch by UBports ==&lt;br /&gt;
[[File:Ubports-logo.png|100px]]&lt;br /&gt;
&lt;br /&gt;
A Mobile Version of the Ubuntu Operating System made and maintained by the UBports Community.&lt;br /&gt;
&lt;br /&gt;
Ubuntu touch is a mobile version of Ubuntu developed by the UBports community. Installation instructions can be found on [https://gitlab.com/ubports/community-ports/pinephone#how-do-i-install-ubuntu-touch-on-my-pinephone the UBports PinePhone project]. There is also a [https://github.com/goddard/pinephone/ script] to download the latest image and flash to your PinePhone. In the future, Ubuntu Touch will be able to be installed onto the PinePhone with the [https://devices.ubuntu-touch.io/installer UBports installer] GUI tool.&lt;br /&gt;
&lt;br /&gt;
* ''' Download location '''&lt;br /&gt;
[https://gitlab.com/ubports/community-ports/pinephone#how-do-i-install-ubuntu-touch-on-my-pinephone UBports PinePhone project]&lt;br /&gt;
&lt;br /&gt;
* ''' username/password '''&lt;br /&gt;
Set up during boot&lt;br /&gt;
&lt;br /&gt;
* ''' What works, what does not work '''&lt;br /&gt;
Scroll down to the bottom of [https://gitlab.com/ubports/community-ports/pinephone this page].&lt;br /&gt;
&lt;br /&gt;
* ''' How to contribute and report defects '''&lt;br /&gt;
See [https://gitlab.com/ubports/community-ports/pinephone UBports gitlab page]. See [https://ubports.com/foundation/sponsors UBports website] for how to donate.&lt;br /&gt;
&lt;br /&gt;
== Mobian ==&lt;br /&gt;
[[File:Debian-logo.png]]&lt;br /&gt;
&lt;br /&gt;
An unofficial Debian build for ARM64 running with the Phosh user interface (developed by Purism, Phosh uses Wayland instead of Xorg). The base system is pure Debian, with only the GUI applications and a few others (ModemManager, WiFi chip firmware) being built from modified sources (as well as the kernel and u-boot). Current version is Debian Bullseye.  &lt;br /&gt;
&lt;br /&gt;
* ''' Download location '''&lt;br /&gt;
[http://images.mobian-project.org/ Mobian downloadable images]&lt;br /&gt;
&lt;br /&gt;
Don't forget to extract the image before installing: &lt;br /&gt;
$ gzip -d Downloads/mobian-pinephone-*.img.gz&lt;br /&gt;
&lt;br /&gt;
See the [https://wiki.mobian-project.org/doku.php?id=install project page] for specific installation instructions.&lt;br /&gt;
&lt;br /&gt;
* ''' username/password '''&lt;br /&gt;
mobian/1234&lt;br /&gt;
&lt;br /&gt;
* ''' What works, what does not work '''&lt;br /&gt;
&lt;br /&gt;
See [https://gitlab.com/mobian1/mobian-recipes/-/blob/master/README.md the project's README file] or [https://wiki.mobian-project.org/doku.php?id=pinephone the wiki]for most up to date status.&lt;br /&gt;
&lt;br /&gt;
Check [https://gitlab.com/a-wai/debos-pinephone/-/issues bug tracker] for known issues. Questions? Ask on our [https://forum.pine64.org/showthread.php?tid=9016 thread].&lt;br /&gt;
&lt;br /&gt;
* ''' How to contribute and report defects '''&lt;br /&gt;
It is recommended that you log your bug reports in [https://gitlab.com/mobian1/issues the project's issue tracker]. As a general rule, issues with third-party apps (even the default ones) should be reported upstream. A Mobian issue would be related to getting the hardware to work on the PinePhone, but if unsure where the issue should be reported just open a ticket or ask. Feel free to pick an open issue to work on, or send a merge request on [https://gitlab.com/mobian1 Gitlab].&lt;br /&gt;
&lt;br /&gt;
* ''' Notes '''&lt;br /&gt;
See [[Mobian for PinePhone]] or [https://wiki.mobian-project.org/doku.php?id=start the wiki] for additional information regarding screen resolution, USB networking, WiFi hotspot, Chatty and the repository.&lt;br /&gt;
&lt;br /&gt;
== SailfishOS ==&lt;br /&gt;
[[File:Sailfish_logo.png|150px]]&lt;br /&gt;
&lt;br /&gt;
Sailfish OS is a Linux-based operating system based on open source projects such as Mer and including a closed source UI.&lt;br /&gt;
&lt;br /&gt;
* ''' Download location '''&lt;br /&gt;
The SailfishOS image is built on Gitlab CI. The latest image can be installed using the [https://raw.githubusercontent.com/sailfish-on-dontbeevil/flash-it/master/flash-it.sh flashing script].&lt;br /&gt;
&lt;br /&gt;
The script downloads the image and bootloader from our CI, extracts everything and burns it onto the SD card. '''Note:''' The script will format and erase the SD card!&lt;br /&gt;
&lt;br /&gt;
Instructions:&lt;br /&gt;
# Download the flashing script&lt;br /&gt;
# Insert a microSD card in your device&lt;br /&gt;
# Make the script executable: &amp;lt;code&amp;gt;chmod +x flash-it.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
# Verify that you have the &amp;lt;code&amp;gt;bsdtar&amp;lt;/code&amp;gt; package installed&lt;br /&gt;
# Execute it: &amp;lt;code&amp;gt;./flash-it.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
# Follow the instructions. Some commands in the script require root permissions (for example: mounting and flashing the SD card).&lt;br /&gt;
* ''' username/password '''&lt;br /&gt;
&lt;br /&gt;
Set PIN on initialization.&lt;br /&gt;
&lt;br /&gt;
* ''' What works, what does not work '''&lt;br /&gt;
NB The first run always stalls before the tutorial. Reboot and it starts from setting the security pin.&lt;br /&gt;
The homescreen may be locked unless you boot with a sim card inserted.&lt;br /&gt;
&lt;br /&gt;
May 4th 2020: The SFOS image is now the latest 3.3.0.16 release. This release of SF has Nextcloud integration.&lt;br /&gt;
&lt;br /&gt;
Sept 17. Calls work.....sort of. Volunteer troubleshooters required. 4G works. Nextcloud sync works. Camera still WIP.&lt;br /&gt;
 &lt;br /&gt;
If you're not familiar with SFOS pay attention to the tutorial - the interface works great but isn't immediately obvious. If you are familiar with SF you can skip the tutorial by touching all 4 corners starting top left. There is a limited selection of apps available from the Jolla store, the vast majority are hosted on openrepos.net. The Storeman app for openrepos is now preinstalled, and also Webcat browser as the built in browser is not working at the moment.&lt;br /&gt;
&lt;br /&gt;
* ''' How to contribute and report defects '''&lt;br /&gt;
&lt;br /&gt;
See the [https://sailfishos.org/wiki/Collaborative_Development#Reporting_issues SailfishOS wiki] for links to their forum as well as info required when reporting an issue. See the [https://sailfishos.org/wiki/SailfishOS SailfishOS wiki] for options to contribute&lt;br /&gt;
&lt;br /&gt;
* ''' Notes '''&lt;br /&gt;
OTA is supported: &amp;lt;code&amp;gt;zypper refresh &amp;amp;&amp;amp; zypper update&amp;lt;/code&amp;gt; as root (&amp;lt;code&amp;gt;devel-su&amp;lt;/code&amp;gt; to get root access). Things that need reflash are bootloader specific at the moment. If improvements like crust or changes of partition layout are added then you need to reflash.&lt;br /&gt;
&lt;br /&gt;
== PureOS ==&lt;br /&gt;
[[File:Pureos.png]]&lt;br /&gt;
&lt;br /&gt;
PureOS is a GNU/Linux distribution focusing on privacy and security, using the GNOME desktop environment. It is developed and maintained by Purism.&lt;br /&gt;
&lt;br /&gt;
* ''' Download location '''&lt;br /&gt;
This is an unofficial/unsupported PinePhone port by ''mozzwald'' and maintained by clover that can be downloaded [https://www.ironrobin.net/pureos/droppy/#/Images here].&lt;br /&gt;
&lt;br /&gt;
* ''' source code '''&lt;br /&gt;
If you want to report a bug or look at what goes into the PinePhone build of PureOS, visit the Git [https://www.ironrobin.net/pureos/git/clover/pinephone/ repository].&lt;br /&gt;
&lt;br /&gt;
* ''' username/password '''&lt;br /&gt;
purism/123456&lt;br /&gt;
&lt;br /&gt;
* ''' Build instructions '''&lt;br /&gt;
If you want to build it yourself you can follow the instructions posted [https://mozzwald.com/pp/pureos-pinephone-build-instructions.txt here].&lt;br /&gt;
&lt;br /&gt;
== Fedora ==&lt;br /&gt;
[[File:Fedora-logo.png|100px]]&lt;br /&gt;
&lt;br /&gt;
An (unofficial) vanilla Fedora rawhide build for aarch64 with megi's kernel and [https://copr.fedorainfracloud.org/coprs/njha/mobile/packages/ some additional packages] to tie it all together. It aims to eventually be an upstream part of the Fedora project, rather than a phone-specific distribution.&lt;br /&gt;
&lt;br /&gt;
See [https://forum.pine64.org/showthread.php?tid=9347 this thread in the forum].&lt;br /&gt;
&lt;br /&gt;
* ''' Download location '''&lt;br /&gt;
[https://github.com/nikhiljha/pp-fedora-sdsetup/releases/ flashable images] or [https://github.com/nikhiljha/pp-fedora-sdsetup/tree/image build scripts]&lt;br /&gt;
&lt;br /&gt;
* ''' username/password '''&lt;br /&gt;
pine/1111&lt;br /&gt;
&lt;br /&gt;
* ''' What works, what does not work '''&lt;br /&gt;
WiFi, Bluetooth, SMS, Data, Calls all work! There are still a few bugs though, and [some features don't have driver support yet https://xnux.eu/devices/pine64-pinephone.html#toc-feature-driver-support-matrix] on any PinePhone distribution. &lt;br /&gt;
&lt;br /&gt;
* ''' How to contribute and report defects '''&lt;br /&gt;
Please send your bug reports at [https://github.com/nikhiljha/pp-fedora-sdsetup/issues the project's issue tracker]. Be sure to include logs if applicable! Send us merge requests on [https://github.com/nikhiljha/pp-fedora-sdsetup/ Github].&lt;br /&gt;
&lt;br /&gt;
== Arch Linux ARM ==&lt;br /&gt;
[[File:Archlinux-logo.png|100px]]&lt;br /&gt;
&lt;br /&gt;
(Unofficial) Arch Linux ARM with Phosh as the UI selection, it's usable on the PinePhone and currently being maintained by the DanctNIX community.&lt;br /&gt;
&lt;br /&gt;
* ''' Download location '''&lt;br /&gt;
Get the latest image here: https://github.com/dreemurrs-embedded/Pine64-Arch/releases&lt;br /&gt;
&lt;br /&gt;
* ''' username/password '''&lt;br /&gt;
alarm/123456&lt;br /&gt;
&lt;br /&gt;
* ''' What works, what does not work '''&lt;br /&gt;
Most of the things now works, there are some minor issues with crust.&lt;br /&gt;
&lt;br /&gt;
* ''' How to contribute and report defects  '''&lt;br /&gt;
Feel free to send us merge requests and report issues on [https://github.com/dreemurrs-embedded/Pine64-Arch/pulls GitHub].&lt;br /&gt;
&lt;br /&gt;
== Manjaro ARM ==&lt;br /&gt;
[[File:Manjaro-logo.svg|100px]]&lt;br /&gt;
&lt;br /&gt;
Manjaro is a user-friendly Linux distribution based on the independently developed Arch operating system with the Plasma Mobile desktop environment.&lt;br /&gt;
&lt;br /&gt;
* ''' Download location '''&lt;br /&gt;
&lt;br /&gt;
Phosh: [https://forum.manjaro.org/t/manjaro-arm-alpha2-with-phosh-pinephone/148 See Manjaro forum announcement of Alpha2 version]&lt;br /&gt;
&lt;br /&gt;
Plasma: [https://osdn.net/projects/manjaro-arm/storage/pinephone/plasma-mobile/alpha7/ Download link for the Alpha7 version of the Plasma Mobile release]&lt;br /&gt;
&lt;br /&gt;
Lomiri: [https://osdn.net/projects/manjaro-arm/storage/pinephone/lomiri/ Download link for the Alpha1 version of the Lomiri release]&lt;br /&gt;
&lt;br /&gt;
* ''' username/password '''&lt;br /&gt;
** manjazo/123456&lt;br /&gt;
** root/root&lt;br /&gt;
&lt;br /&gt;
* ''' What works, what does not work '''&lt;br /&gt;
See Manjaro's [https://forum.manjaro.org/t/manjaro-arm-alpha5-for-pinephone-testing-branch/136614 announcement]. In particular, phone calls do not yet work from the Phone application.&lt;br /&gt;
&lt;br /&gt;
* ''' How to contribute and report defects '''&lt;br /&gt;
&lt;br /&gt;
See the end of the [https://forum.manjaro.org/t/manjaro-arm-alpha5-for-pinephone-testing-branch/136614 announcement].&lt;br /&gt;
&lt;br /&gt;
== Maemo Leste ==&lt;br /&gt;
[[File:Maemoleste-logo.png|100px]]&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Maemo Maemo] is a trimmed-down version of Debian for mobile devices, originally a collaboration between Nokia and many open source projects (the [http://maemo.org/intro/ Maemo community]) before Nokia abandoned it. The community now takes full responsibility in developing fully open source Maemo for a variety of mobile devices. &lt;br /&gt;
&lt;br /&gt;
The new version Maemo 7 &amp;quot;Leste&amp;quot; is an ARM64 port of [https://devuan.org/ Devuan] (Debian without systemd) and runs the mainline Linux kernel. The default user interface stack is [https://en.wikipedia.org/wiki/Hildon Hildon], [https://en.wikipedia.org/wiki/X.Org_Server Xorg], [https://en.wikipedia.org/wiki/Matchbox_(window_manager) Matchbox WM], and [https://en.wikipedia.org/wiki/GTK GTK]. The current version is Devuan Ascii (Debian Stretch) and they are working on an upgrade to Devuan Beowulf (Debian Buster) as well as simultaneous support for both Devuan and Debian. In addition to the main repository, they [https://maemo-leste.github.io/maemo-leste-repositories-and-community-packages.html announced] a [https://github.com/maemo-leste-extras/bugtracker community repository]. To keep updated they use automation in their package maintenance with [https://github.com/maemo-leste/jenkins-integration jenkins] (similar to [https://www.debian.org/devel/buildd/ debian's buildd]). Porting packages to Maemo Leste is basically a simple matter of porting to arm64 version of Debian/Devuan, which benefits both projects.&lt;br /&gt;
&lt;br /&gt;
More detailed information can be found on [https://leste.maemo.org/Main_Page the Maemo Leste wiki], or follow [https://maemo-leste.github.io/ announcements on their website], and check out [https://leste.maemo.org/Leste_FAQ Frequently Asked Questions]. &lt;br /&gt;
&lt;br /&gt;
* ''' Download location '''&lt;br /&gt;
[http://maedevu.maemo.org/images/pinephone/ Maemo Leste test builds]. There is also an [https://github.com/maemo-leste/image-builder image builder], see their wiki for instructions on how to [https://leste.maemo.org/Image_Builder build a custom image].&lt;br /&gt;
&lt;br /&gt;
* ''' username/password '''&lt;br /&gt;
root/toor&lt;br /&gt;
&lt;br /&gt;
You may use &amp;quot;sudo&amp;quot; directly.&lt;br /&gt;
&lt;br /&gt;
* ''' What works, what does not work '''&lt;br /&gt;
For current status and work arounds please read their [https://leste.maemo.org/PinePhone PinePhone wiki page], and update as necessary (make sure to notify them of new issues by leaving a report on their github, see below).&lt;br /&gt;
&lt;br /&gt;
* ''' How to contribute and report defects '''&lt;br /&gt;
Most discussion occurs at #maemo-leste on freenode IRC. The Maemo website also has an [https://talk.maemo.org/showthread.php?p=1565822 ongoing forum thread] for feedback about Maemo Leste on the PinePhone BraveHeart edition.&lt;br /&gt;
&lt;br /&gt;
All other contact information is listed on the [https://leste.maemo.org/Main_Page main page] of the Maemo wiki. You should [https://github.com/maemo-leste/bugtracker/issues submit bug reports] on github. To track known issues, you may use these search terms: [https://github.com/maemo-leste/bugtracker/issues?utf8=%E2%9C%93&amp;amp;q=is%3Aissue+is%3Aopen+pinephone pinephone], [https://github.com/maemo-leste/bugtracker/issues?utf8=%E2%9C%93&amp;amp;q=is%3Aissue+is%3Aopen+pine64 pine64]. Learn about [https://leste.maemo.org/Development development], [https://leste.maemo.org/Development/Porting_Packages porting packages], [https://leste.maemo.org/Development/Building_Packages building packages], [https://leste.maemo.org/Development/Tasks todo list], and general info on [https://wiki.debian.org/HowToPackageForDebian how to package for Debian]. Some tasks have funding available.&lt;br /&gt;
&lt;br /&gt;
== Nemo Mobile ==&lt;br /&gt;
&amp;lt;!--http://files.pine64.org/sw/pine64_installer/json/nemo_mobile.png--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nemo Mobile is the open source build of Sailfish OS, see the new website nemomobile.net.&lt;br /&gt;
&lt;br /&gt;
You can install Nemo on any device that runs Sailfish, see the above website for details. Or you can flash the image to SD card/emmc on the PinePhone, download here https://yadi.sk/d/8oSZp-frGidscw (requires Yandex Disk account).&lt;br /&gt;
&lt;br /&gt;
* ''' Download location '''&lt;br /&gt;
Download location is [https://github.com/neochapay/nemo-device-dont_be_evil/ here on GitHub]. The latest version is not an image file and therefore not for beginners!&lt;br /&gt;
&lt;br /&gt;
Alternative easy installation method: install Sailfish on your PP first (follow instructions on this page under Sailfish). Enable developer mode.&lt;br /&gt;
In the terminal run as root (devel-su):&lt;br /&gt;
&lt;br /&gt;
 ssu ar nemo-devel-ux http://repo.merproject.org/obs/home:/neochapay:/nemo-ux/sailfish_latest_armv7hl/&lt;br /&gt;
&lt;br /&gt;
then&lt;br /&gt;
 pkcon refresh&lt;br /&gt;
&lt;br /&gt;
then install the nemo-specific Glacier packages:&lt;br /&gt;
&lt;br /&gt;
 pkcon install lipstick-glacier-home-qt5&lt;br /&gt;
&lt;br /&gt;
If necessary, reboot.&lt;br /&gt;
&lt;br /&gt;
* ''' username/password '''&lt;br /&gt;
&lt;br /&gt;
* ''' What works, what does not work '''&lt;br /&gt;
Scroll down the page [https://github.com/neochapay/nemo-device-dont_be_evil/ here].&lt;br /&gt;
&lt;br /&gt;
* ''' How to contribute and report defects '''&lt;br /&gt;
For more info please visit [https://github.com/neochapay/nemo-device-dont_be_evil neochapay's Github page]&lt;br /&gt;
&lt;br /&gt;
== KDE Neon ==&lt;br /&gt;
&amp;lt;!--http://files.pine64.org/sw/pine64_installer/json/plasma_mobile.png--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Based on KDE Neon for the desktop, comes with Plasma Mobile.&lt;br /&gt;
&lt;br /&gt;
* ''' Download location '''&lt;br /&gt;
Plasma mobile images can be found [https://images.plasma-mobile.org/pinephone/ here].&lt;br /&gt;
&lt;br /&gt;
* ''' username/password '''&lt;br /&gt;
phablet/1234&lt;br /&gt;
&lt;br /&gt;
* ''' What works, what does not work '''&lt;br /&gt;
&lt;br /&gt;
* ''' How to contribute and report defects '''&lt;br /&gt;
&lt;br /&gt;
== NixOS ==&lt;br /&gt;
&amp;lt;!--http://files.pine64.org/sw/pine64_installer/json/nixos.png--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''NixOS support is handled through the Mobile NixOS project.''&lt;br /&gt;
&lt;br /&gt;
* [https://mobile.nixos.org/ Project home page]&lt;br /&gt;
* [https://github.com/NixOS/mobile-nixos Source code repository]&lt;br /&gt;
&lt;br /&gt;
There is no pre-built complete image. For now users are expected to follow the instructions in the [https://mobile.nixos.org/getting-started.html Getting Started page], and on [https://mobile.nixos.org/devices/pine64-pinephone-braveheart.html the device's page].&lt;br /&gt;
&lt;br /&gt;
* ''' What works, what does not work '''&lt;br /&gt;
&lt;br /&gt;
This information may change, but currently it boots, it's as compatible as the Android-based devices are with Mobile NixOS. It even supports a bit more since it can use Wi-Fi.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;&lt;br /&gt;
Support for all of the hardware will be coming, this project is a breadth-first work, where the work spans multiple devices in parallel.&lt;br /&gt;
&amp;lt;/cite&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* ''' How to contribute and report defects '''&lt;br /&gt;
On [https://github.com/NixOS/mobile-nixos/issues the project's repository]. Please specify that you are using a PinePhone when reporting issues. Details about contributions and donations are on the [https://nixos.org/nixos/community.html NixOS website].&lt;br /&gt;
&lt;br /&gt;
== LuneOS ==&lt;br /&gt;
&amp;lt;!--http://files.pine64.org/sw/pine64_installer/json/luneos.jpg--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Based on WebOS by LG, comes with Luna Next desktop environment.&lt;br /&gt;
&lt;br /&gt;
* ''' Download location '''&lt;br /&gt;
[http://build.webos-ports.org/luneos-testing/images/pinephone/ LuneOS test image for PinePhone]&lt;br /&gt;
Tofe recommends using bmaptool ; for example &amp;quot;bmaptool copy http://build.webos-ports.org/luneos-testing/images/pinephone/luneos-dev-image-pinephone-testing-0-15.rootfs.wic.gz /dev/mmcblk0&amp;quot;. Rename .wic file to .img for standard dd usage. &lt;br /&gt;
&lt;br /&gt;
* ''' username/password '''&lt;br /&gt;
&lt;br /&gt;
* ''' What works, what does not work '''&lt;br /&gt;
&lt;br /&gt;
* ''' How to contribute and report defects '''&lt;br /&gt;
&lt;br /&gt;
== Sxmo ==&lt;br /&gt;
&lt;br /&gt;
A collection of Suckless programs to create a mobile UI. Based on Postmarket OS&lt;br /&gt;
&lt;br /&gt;
* ''' Download location '''&lt;br /&gt;
Sxmo images can be found [http://images.lrdu.org/pinephone/ here].&lt;br /&gt;
&lt;br /&gt;
* ''' username/password '''&lt;br /&gt;
mo/mo&lt;br /&gt;
&lt;br /&gt;
* ''' What works, what does not work '''&lt;br /&gt;
&lt;br /&gt;
PinePhone's backlight turns off at 2/10 brightness.&lt;br /&gt;
&lt;br /&gt;
* ''' How to contribute and report defects '''&lt;br /&gt;
&lt;br /&gt;
All the contributing information is [https://git.sr.ht/~mil/sxmo-docs/tree/master/CONTRIBUTING.md here].&lt;br /&gt;
&lt;br /&gt;
== openSUSE ==&lt;br /&gt;
[[File:SLEM-OS-logo.png|100px]]&lt;br /&gt;
&lt;br /&gt;
openSUSE running on the PinePhone&lt;br /&gt;
&lt;br /&gt;
* ''' Download location '''&lt;br /&gt;
Offical openSUSE images can be found [https://download.opensuse.org/repositories/devel:/ARM:/Factory:/Contrib:/PinePhone/images/ here].&lt;br /&gt;
&lt;br /&gt;
Nightly images [https://download.opensuse.org/repositories/home:/alefnode:/devel:/ARM:/Factory:/Contrib:/PinePhone/images/ here].&lt;br /&gt;
&lt;br /&gt;
CI/CD for nightly slemos images [https://jenkins.alefnode.com/job/public/job/slemos-imagebuilder/ here].&lt;br /&gt;
&lt;br /&gt;
* ''' username/password'''&lt;br /&gt;
pine/1234&lt;br /&gt;
&lt;br /&gt;
* ''' What works, what does not work '''&lt;br /&gt;
You can find all information about the progress of the project [https://gitlab.com/slem.os/slem.os/-/blob/master/CHANGELOG.md here].&lt;br /&gt;
&lt;br /&gt;
== AVMultiPhone ==&lt;br /&gt;
&lt;br /&gt;
AVMultimedia linux running on the PinePhone&lt;br /&gt;
&lt;br /&gt;
* ''' Download location '''&lt;br /&gt;
&lt;br /&gt;
https://de.osdn.net/projects/avmultimedia/releases/&lt;br /&gt;
&lt;br /&gt;
* ''' username/password'''&lt;br /&gt;
archivista/1234&lt;br /&gt;
&lt;br /&gt;
* ''' What works, what does not work '''&lt;br /&gt;
&lt;br /&gt;
All linux applications (Firefox, LibreOffice, Gimp, Inkscape, Kodi etc.). Phone calls and SMS (text messages), primitiv acces to camera (1280x720).&lt;br /&gt;
&lt;br /&gt;
AVMultiPhone offers a classic Linux desktop (Mate) on the PinePhone. The basis is PostmarketOS. In contrast to other PinePhone distributions, AVMultiPhone offers real Linux feeling without sacrificing the functionality of a smartphone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GloDroid ==&lt;br /&gt;
&lt;br /&gt;
A fully open source port of Android to the PinePhone&lt;br /&gt;
&lt;br /&gt;
* ''' Download location '''&lt;br /&gt;
&lt;br /&gt;
https://github.com/GloDroid/glodroid_manifest/releases&lt;br /&gt;
&lt;br /&gt;
* ''' username/password'''&lt;br /&gt;
* ''' What works, what does not work '''&lt;br /&gt;
WiFi, screen dimming, touchscreen and charging all work. No Bluetooth support yet.&lt;br /&gt;
&lt;br /&gt;
== Multi-boot image with 13 distributions ==&lt;br /&gt;
&lt;br /&gt;
The purpose of this image is for users to easily try many of the above Linux distributions, without having to figure out how to flash them individually and juggle with many uSD cards.&lt;br /&gt;
&lt;br /&gt;
More information can be found at:&lt;br /&gt;
&lt;br /&gt;
https://xnux.eu/p-boot-demo/&lt;br /&gt;
&lt;br /&gt;
== Gentoo ==&lt;br /&gt;
&lt;br /&gt;
An unofficial gentoo overlay with ebuilds for the pinephone. There is no image - you'll be building it yourself, picking which kernel, bootloader and desktop environment you want to use.&lt;br /&gt;
&lt;br /&gt;
* ''' Download location '''&lt;br /&gt;
&lt;br /&gt;
https://gitlab.com/bingch/gentoo-overlay/-/blob/master/README.md&lt;br /&gt;
&lt;br /&gt;
= Factory Test OS =&lt;br /&gt;
On the BraveHeart model there was a pmOS based basic factory test OS pre-installed on the eMMC. Martijn Braam from pmOS has improved the functionality of the image considerably.&lt;br /&gt;
&lt;br /&gt;
Since the 20200501 version it is able to test all the hardware.  It also includes functionality to install a new OS to the eMMC when using with an test image that includes that OS image. The downloadable image just does the hardware tests.&lt;br /&gt;
&lt;br /&gt;
Do not flash eMMC to test your device, just copy it to mSD and test from there. New versions are distributed as part of the pmOS distribution.&lt;br /&gt;
&lt;br /&gt;
Links:&lt;br /&gt;
* [https://images.postmarketos.org/pinephone/ Software Images] (download the latest one that is marked pine-pinephone-YYYYMMDD-factorytestX.img.xz)&lt;br /&gt;
* [https://gitlab.com/MartijnBraam/factorytest Git repo]&lt;br /&gt;
* [https://gitlab.com/MartijnBraam/factorytest/-/blob/master/README.rst Documentation]&lt;br /&gt;
&lt;br /&gt;
= Installing other ARM64 distributions =&lt;br /&gt;
'''Warning:''' Distributions not on this page may not even boot after you follow this section. In the best case, they will be barely usable. This is more for fun, or if you would like to port a new distribution to the PinePhone.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' This section uses megi's kernel releases, and not the official ones from PINE64. While it is possible to use the official (and in the future, mainline) kernel, megi provides binary releases, which makes it very easy.&lt;br /&gt;
&lt;br /&gt;
If you would like to see specific commands for how to complete these steps, see https://github.com/nikhiljha/pp-fedora-sdsetup (an example for Fedora) or https://xnux.eu/howtos/install-arch-linux-arm.html (an example for Arch Linux).&lt;br /&gt;
&lt;br /&gt;
# Create a boot (from 4 MB to about 252 MB) and root (from 252 MB to the end of the card) filesystem on the SD card.&lt;br /&gt;
# Format the boot partition with vfat, and the root partition with f2fs.&lt;br /&gt;
# Extract the root filesystem from your distribution's ARM image into the root filesystem on the SD card. Do not copy the partition, copy the files (in archive mode: like rsync -ar).&lt;br /&gt;
# Edit /etc/fstab to match your partitions.&lt;br /&gt;
# Grab megi's kernel from https://xff.cz/kernels/ (you probably want 5.6 or later).&lt;br /&gt;
# Follow the README instructions, which involves copying the kernel modules into the SD card rootfs and writing u-boot and the bootloader.&lt;br /&gt;
&lt;br /&gt;
= Other Resources =&lt;br /&gt;
Community&lt;br /&gt;
* [[Main_Page#Community_and_Support|Links to the community services]]&lt;br /&gt;
&lt;br /&gt;
Hardware information&lt;br /&gt;
* [[PinePhone|General PinePhone hardware info]] in this Pine64 wiki.&lt;br /&gt;
* [[PinePhone_v1.1_-_Braveheart|PinePhone 1.1 BraveHeart hardware details]] (details specific to the BraveHeart Edition).&lt;br /&gt;
* [[PinePhone_v1.2|PinePhone 1.2 hardware details]] (details specific to the Community Edition).&lt;br /&gt;
* The postmarketOS wiki has a detailed page on the PinePhone hardware [https://wiki.postmarketos.org/wiki/PINE64_PinePhone_(pine64-pinephone) here,] and the preceding devkit [https://wiki.postmarketos.org/wiki/PINE64_Don%27t_be_evil_devkit_(pine64-dontbeevil) here].&lt;br /&gt;
&lt;br /&gt;
Other software information&lt;br /&gt;
* [https://linux-sunxi.org/Main_Page sunxi community wiki]&lt;br /&gt;
* [https://xnux.eu/devices/pine64-pinephone.html megi feature/driver support matrix]&lt;br /&gt;
* [https://megous.com/dl/tmp/README.bootui megi bootUI notes (for dualbooting/multibooting)] see demonstration [https://www.youtube.com/watch?v=ZL1GREqoqx8 on YouTube,]&lt;br /&gt;
* [https://github.com/ayufan-pine64/boot-tools ayufan boot tools]&lt;br /&gt;
&lt;br /&gt;
Other&lt;br /&gt;
* [https://store.pine64.org/?post_type=product Pine64 shop]&lt;br /&gt;
* [https://www.pine64.org/2020/01/24/setting-the-record-straight-pinephone-misconceptions/ Pine64 blog on blobs]&lt;br /&gt;
* [https://tuxphones.com/yet-another-librem-5-and-pinephone-linux-smartphone-comparison/ Martijn Braam Librem 5 comparison, especially covering openness/blobs]&lt;br /&gt;
* [https://fam-ribbers.com/2019/12/28/State-of-Linux-on-mobile-and-common-misconceptions.html Bart Ribbers blog on Linux distributions and desktop environments on mobile devices]&lt;br /&gt;
* [https://www.jeffgeerling.com/blog/2019/a2-class-microsd-cards-offer-no-better-performance-raspberry-pi Jeff Geerling on testing micro SD cards]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:PinePhone]]&lt;/div&gt;</summary>
		<author><name>Wibble</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PinePhone&amp;diff=4980</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PinePhone&amp;diff=4980"/>
		<updated>2020-02-10T22:51:20Z</updated>

		<summary type="html">&lt;p&gt;Wibble: Add section for factory test requirements&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The PinePhone is a smartphone created by Pine64, capable of running mainline Linux and supported by many partner projects. The &amp;quot;BraveHeart&amp;quot; edition was the first publicly-available version of the phone, though it came without a fully functional OS (factory test image) and was geared specifically towards tinkerers and hackers. People looking for a stable consumer-grade phone should wait for the final release, which is expected to occur in March 2020 and will be available for at least five years.&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
'''Dimensions:''' 160.5 x 76.6 x 9.2mm &amp;lt;br&amp;gt;&lt;br /&gt;
'''Weight:''' Between 180-200 grams &amp;lt;br&amp;gt;&lt;br /&gt;
'''SIM Card:''' Micro-SIM &amp;lt;br&amp;gt;&lt;br /&gt;
'''Display:'''&lt;br /&gt;
: '''Size:''' 5.95 inches (151mm) diagonal&lt;br /&gt;
: '''Type:''' HD IPS capacitive touchscreen, 16M colors&lt;br /&gt;
: '''Resolution:''' 1440x720, 18:9 ratio &amp;lt;br&amp;gt;&lt;br /&gt;
'''System on Chip:''' [https://linux-sunxi.org/A64 Allwinner A64] &amp;lt;br&amp;gt;&lt;br /&gt;
'''RAM:''' 2GB LPDDR3 SDRAM &amp;lt;br&amp;gt;&lt;br /&gt;
'''Internal Storage:''' 16GB eMMC, extendable up to 2TB via microSD, supports SDHC and SDXC &amp;lt;br&amp;gt;&lt;br /&gt;
'''Back Camera:''' Single 5MP, 1/4&amp;quot;, LED Flash &amp;lt;br&amp;gt;&lt;br /&gt;
'''Selfie Camera:''' Single 2MP, f/2.8, 1/5&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
'''Sound:''' Loudspeaker, 3.5mm jack &amp;amp; mic (jack doubles as hardware UART if killswitch 6 is deactivated) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Communication: [http://files.pine64.org/doc/datasheet/project_anakin/LTE_module/Quectel_EG25-G_LTE_Specification_V1.1_Preliminary_20180522%20(002).pdf EG25-G]'''&lt;br /&gt;
: '''LTE:''' B1, B2, B3, B4, B5, B7, B8, B12, B13, B18, B19, B20, B25, B26, B28, B38, B39, B40, B41&lt;br /&gt;
: '''WCDMA:''' B1, B2, B4, B5, B6, B8, B19&lt;br /&gt;
: '''GSM:''' 850, 900, 1800, 1900 (MHz)&lt;br /&gt;
: '''WLAN:''' Wi-Fi 802.11 b/g/n, single-band, hotspot&lt;br /&gt;
: '''Bluetooth:''' 4.0, A2DP&lt;br /&gt;
: '''GNSS:''' GPS/GLONASS/BeiDou/Galileo/QZSS, with A-GPS&lt;br /&gt;
'''Sensors:''' Accelerometer, gyro, proximity, ambient light, compass &amp;lt;br&amp;gt;&lt;br /&gt;
'''[[#Killswitch configuration|Killswitches]]:''' Modem, Wifi &amp;amp; Bluetooth, Microphone, Cameras &amp;lt;br&amp;gt;&lt;br /&gt;
'''[[#Battery|Battery]]:''' 2750-3000 mAh [https://wiki.pine64.org/images/0/04/PinePhone_Battery_model_QZ01-396172-2750.pdf Lithium ion] (nominally replaceable with any Samsung J7 form-factor battery) &amp;lt;br&amp;gt;&lt;br /&gt;
'''I/O:''' USB Type-C (SlimPort), USB Host, DisplayPort Alternate Mode output, 15W 5V 3A Quick Charge, follows USB PD specification&lt;br /&gt;
&lt;br /&gt;
== Hardware Revisions ==&lt;br /&gt;
&lt;br /&gt;
# [[Project Don't be evil|&amp;quot;Project Don't Be Evil&amp;quot; devkit]]&lt;br /&gt;
# [[PinePhone v1.0 - Dev|PinePhone v1.0 - Developer batch]]&lt;br /&gt;
# [[PinePhone v1.1 - Braveheart]]&lt;br /&gt;
&lt;br /&gt;
== Hardware Addons ==&lt;br /&gt;
&lt;br /&gt;
===[[PinePhone Hardware Accessory Compatibility]] list===&lt;br /&gt;
List of devices working with the PinePhone (depending on OS support)&lt;br /&gt;
&lt;br /&gt;
===Pogo Pins===&lt;br /&gt;
&lt;br /&gt;
The PinePhone has 6 &amp;quot;pogo pins&amp;quot; on the back allowing for custom hardware extensions such as wireless charging or an IR blaster. The pogo pins provide access to an interrupt line, power input to charge the battery, 3.3v power source, and an I2C interface.&lt;br /&gt;
&lt;br /&gt;
'''A step/stl/stp (3D model) file for the back cover is [http://files.pine64.org/doc/PinePhone/PinePhone%20Back%20Cover%20ver%200.5.stp freely available] for creating custom cases that interface with the pogo pins.'''&lt;br /&gt;
&lt;br /&gt;
=== Serial console ===&lt;br /&gt;
[[File:Uart pinephone connection.gif|250px|thumb|left|UART serial connector for PineBook and PinePhone]]&lt;br /&gt;
The PinePhone has a serial port in the headphone connector, it's activated by the 6th contact on the dipswitch. If the switch is on then the headphone connector is in audio mode, if it's off then it's in UART mode.&lt;br /&gt;
&lt;br /&gt;
The uart is 115200n8&lt;br /&gt;
&lt;br /&gt;
The pinout for the serial connector on the tablet side is:&lt;br /&gt;
&lt;br /&gt;
* Tip: RX&lt;br /&gt;
* Ring: TX&lt;br /&gt;
* Sleeve: GND&lt;br /&gt;
&lt;br /&gt;
The serial connection is 3.3V&lt;br /&gt;
&lt;br /&gt;
You can also buy the debug cable from [https://store.pine64.org PINE64 Store]&lt;br /&gt;
The store cable uses a 4 ring plug, as seen in the [http://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf PDF], but a 3 ring plug works just as well. That cable uses a CH340 chipset based serial to USB converter, but any 3.3v serial connection can be used.&lt;br /&gt;
&lt;br /&gt;
== Killswitch configuration ==&lt;br /&gt;
&lt;br /&gt;
The PinePhone features six switches that can be used to configure its hardware. They are numbered 1-6, with switch 1 located nearest to the modem. Their on position is toward the top of the phone.&lt;br /&gt;
&lt;br /&gt;
[[File:PinePhone switches.jpeg|600px|thumb|centre|Photo of Brave Heart switches from OSAKANA TARO on Twitter]]&lt;br /&gt;
&lt;br /&gt;
# Modem: On enables 2G/3G/4G communication and GNSS hardware, off disables.&lt;br /&gt;
# WiFi/BT: On enables Wi-Fi and Bluetooth communication hardware, off disables.&lt;br /&gt;
# Microphone: On enables audio input from on-board microphones (not 3.5mm jack), off disables.&lt;br /&gt;
# Rear camera: On enables the rear camera, off disables.&lt;br /&gt;
# Front camera: On enables the front camera, off disables.&lt;br /&gt;
# Headphone: On enables audio input and output via the 3.5mm audio jack, off switches the jack to hardware UART mode.&lt;br /&gt;
&lt;br /&gt;
== Battery ==&lt;br /&gt;
&lt;br /&gt;
The [https://wiki.pine64.org/images/0/04/PinePhone_Battery_model_QZ01-396172-2750.pdf supplied battery] is [https://forum.pine64.org/showthread.php?tid=8120&amp;amp;pid=53307#pid53307 meant to be] compatible with Samsung part number EB-BJ700BBC / BBE / CBE from the 2015 J7 phone. There is [https://forum.pine64.org/showthread.php?tid=8563&amp;amp;pid=55053#pid55053 a report] that the EB-BJ700CBE isn't quite the same size, causing the back not to fit properly.&lt;br /&gt;
&lt;br /&gt;
The battery terminals, in order from nearest the edge to nearest the middle, are:&lt;br /&gt;
&lt;br /&gt;
# +ve&lt;br /&gt;
# thermistor&lt;br /&gt;
# -ve&lt;br /&gt;
# not connected&lt;br /&gt;
&lt;br /&gt;
The battery includes a protection circuit that isolates it in a number of fault conditions, including if it is discharged too far. The fully discharged battery [https://forum.pine64.org/showthread.php?tid=8563&amp;amp;pid=55377#pid55377 can be recharged] by connecting the phone to a charger. Once it has charged sufficiently you will be able to boot the phone.&lt;br /&gt;
&lt;br /&gt;
If your battery is hard to remove from the phone, try loosening the screws around it. Possibly cutting up a piece of plastic and sliding it under the battery as a pull tab can work too.&lt;br /&gt;
&lt;br /&gt;
'''When you first receive your Pinephone you will need to remove the plastic tab under the battery terminals to boot it. This is to protect it from turning on during shipping.'''&lt;br /&gt;
&lt;br /&gt;
''' It's also important to note that the EG25 modem and RTL8723CS wifi/bluetooth do not work without the battery plugged in, even if you are supplying enough power to the Pinephone with USB-C'''&lt;br /&gt;
&lt;br /&gt;
== Modem and Carrier Support ==&lt;br /&gt;
&lt;br /&gt;
To check if the PinePhone is supported on your carrier: &lt;br /&gt;
&lt;br /&gt;
Search for your carrier on [https://www.frequencycheck.com/ frequencycheck.com] and compare the carrier's LTE/GSM/WCDMA frequencies to the PinePhone's supported frequencies (listed under the [[#Specifications|specifications]] section).&lt;br /&gt;
&lt;br /&gt;
It is likely that there will be a few frequencies that your carrier uses which are not supported by the PinePhone. Not all of the carrier's frequencies need to be supported by the PinePhone for it to work - as long as ''most'' of them are supported, you will still get good coverage.&lt;br /&gt;
&lt;br /&gt;
== Factory Test Requirements ==&lt;br /&gt;
&lt;br /&gt;
Most of the self tests should just work, but a couple of them will fail unless certain requirements are met.&lt;br /&gt;
&lt;br /&gt;
=== RTL8723CS - WiFi ===&lt;br /&gt;
&lt;br /&gt;
* The self test needs a visible access point nearby so it can discover an SSID.&lt;br /&gt;
* The self test may fail if the battery charge is too low. &lt;br /&gt;
&lt;br /&gt;
=== EG25 - Modem ===&lt;br /&gt;
&lt;br /&gt;
* A working micro-SIM that doesn't require a PIN to unlock&lt;br /&gt;
* Enough battery charge&lt;br /&gt;
&lt;br /&gt;
== Operating Systems ==&lt;br /&gt;
The PinePhone will automatically boot from microSD if a bootable card is inserted. Although it is technically possible to use any ARM distro (because the PinePhone uses the mainline kernel), there are a few that are designed specifically for phones:&lt;br /&gt;
* [[#postmarketOS|postmarketOS]]&lt;br /&gt;
* [[#Ubuntu Touch|Ubuntu Touch]]&lt;br /&gt;
* [[#Sailfish OS|Sailfish OS]]&lt;br /&gt;
* [[#Maemo Leste|Maemo Leste]]&lt;br /&gt;
* [[#LuneOS|LuneOS]]&lt;br /&gt;
* [[#Manjaro|Manjaro]]&lt;br /&gt;
&lt;br /&gt;
For an exhaustive list of information about the different OSs, see [[PinePhone Software Release]].&lt;br /&gt;
&lt;br /&gt;
=== postmarketOS ===&lt;br /&gt;
postmarketOS is a preconfigured version of [https://www.alpinelinux.org/ Alpine Linux] for mobile devices. The latest builds can be downloaded from the [https://images.postmarketos.org/pinephone/ images page] to be flashed to the PinePhone.&lt;br /&gt;
&lt;br /&gt;
More information is available at [https://postmarketos.org postmarketos.org] and on their [https://wiki.postmarketos.org/wiki/PINE64_PinePhone_(pine64-pinephone) dedicated PinePhone wiki page].&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu Touch ===&lt;br /&gt;
[https://ubuntu-touch.io/ Ubuntu touch] is a mobile version of Ubuntu developed by the UBports community. Images can be downloaded from [https://ci.ubports.com/job/rootfs/job/rootfs-pinephone/ here]. The default password is &amp;lt;code&amp;gt;phablet&amp;lt;/code&amp;gt;. In the future, Ubuntu Touch will be able to be installed onto the PinePhone with the [https://ubuntu-touch.io/get-ut UBports installer] GUI tool. &lt;br /&gt;
&lt;br /&gt;
=== Sailfish OS ===&lt;br /&gt;
The latest Sailfish OS image can be installed using the [https://raw.githubusercontent.com/sailfish-on-dontbeevil/flash-it/master/flash-it.sh flashing script].&lt;br /&gt;
&lt;br /&gt;
The script downloads the image and bootloader, extracts everything and burns it onto the SD card. '''Note:''' The script will format and erase the SD card!&lt;br /&gt;
&lt;br /&gt;
'''Instructions:'''&lt;br /&gt;
# Download the flashing script&lt;br /&gt;
# Insert a microSD card in your device&lt;br /&gt;
# Make the script executable: &amp;lt;code&amp;gt;chmod +x flash-it.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
# Execute it: &amp;lt;code&amp;gt;./flash-it.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
# Follow the instructions. Some commands in the script require root permissions.&lt;br /&gt;
&lt;br /&gt;
=== Nemo Mobile ===&lt;br /&gt;
Nemo Mobile is the open source build of Sailfish OS. The latest images for the PinePhone are released [https://github.com/neochapay/nemo-device-dont_be_evil/releases here].&lt;br /&gt;
&lt;br /&gt;
=== Maemo Leste ===&lt;br /&gt;
[https://maemo-leste.github.io/ Maemo Leste] images can be downloaded [https://maedevu.maemo.org/images/pinephone-dontbeevil/ here]. The default username is &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; and the password is &amp;lt;code&amp;gt;toor&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== LuneOS ===&lt;br /&gt;
[https://www.webos-ports.org/wiki/Main_Page LuneOS] downloads are available [http://build.webos-ports.org/luneos-testing/images/pinephone/ here].&lt;br /&gt;
&lt;br /&gt;
=== Manjaro ===&lt;br /&gt;
[https://wiki.manjaro.org/index.php Manjaro] downloads are available [https://osdn.net/projects/manjaro-arm/storage/pinephone/ here].&lt;br /&gt;
&lt;br /&gt;
=== Neon ===&lt;br /&gt;
[https://images.plasma-mobile.org/pinephone/ Neon images] A changelog (for the postmarketOS version) can be found [https://images.postmarketos.org/pinephone/#changelog here] username: phablet pw: 1234&lt;/div&gt;</summary>
		<author><name>Wibble</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PinePhone_Software_Releases&amp;diff=4946</id>
		<title>PinePhone Software Releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PinePhone_Software_Releases&amp;diff=4946"/>
		<updated>2020-02-07T17:29:43Z</updated>

		<summary type="html">&lt;p&gt;Wibble: /* postmarketOS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This page is intended to help you install a software release on your PinePhone. In addition it provides details of all the available releases so that you can do some background reading about them to help inform your choice. Finally it provides a number of links to other resources related to your PinePhone. &lt;br /&gt;
&lt;br /&gt;
= General instructions =&lt;br /&gt;
&lt;br /&gt;
Initial (new) release installation should be to a micro SD card. It is recommended to choose a card with fast I/O of small files for best performance of your PinePhone. See blogs by Jeff Geerling (link in Other Resources at the bottom of this page) for tests on SDcards.&lt;br /&gt;
&lt;br /&gt;
Generic installation instructions are in this section, please see the releases below for specific installation options they may offer/require.&lt;br /&gt;
&lt;br /&gt;
== Boot priority ==&lt;br /&gt;
&lt;br /&gt;
The default PinePhone boot priority is first the SD card and then the eMMC so inserting your own SD card with your preferred release will result in the phone booting your image.&lt;br /&gt;
&lt;br /&gt;
User ''megi'' has demonstrated his multi-boot development [https://www.youtube.com/watch?v=ZL1GREqoqx8 on YouTube,] see Other Resouces at the bottom of this page for a link to his notes.&lt;br /&gt;
&lt;br /&gt;
== Brave Heart essential information ==&lt;br /&gt;
&lt;br /&gt;
'''Your Brave Heart phone ships with a film of plastic between the battery and the phone. You need to open the back cover (gently) and remove the film before the phone will switch on! &lt;br /&gt;
[[File:PinePhone battery1.png|600px|thumb|centre|Photo of Brave Heart case from OSAKANA TARO on Twitter]]&lt;br /&gt;
[[File:PinePhone battery2.png|600px|thumb|centre|Photo of Brave Heart inside from OSAKANA TARO on Twitter]]&lt;br /&gt;
[[File:PinePhone battery3.jpeg|600px|thumb|centre|Photo of Brave Heart battery tab from OSAKANA TARO on Twitter]]&lt;br /&gt;
&lt;br /&gt;
'''There has been [https://forum.pine64.org/showthread.php?tid=8960 a report on the forum] that this plastic can distort the connection between the battery and the phone: please check your setup carefully after removing the tab.&lt;br /&gt;
&lt;br /&gt;
Each Brave Heart phone does ship with a bootable release on the eMMC. This is a special version of postmarketOS intended only for a final factory test. As such the listed tests are not warranted to check what you may expect, e.g. the audio check only outputs to 1 channel&lt;br /&gt;
&lt;br /&gt;
=== Discussion to use the modem ===&lt;br /&gt;
There is a document about using the modem by user ''megi'' [https://megous.com/dl/tmp/modem.txt here.] This is from circa 18 Jan 2020. &lt;br /&gt;
&lt;br /&gt;
Note at this date there is no TL;DR version - the script at the end to disable the modem before power off is pretty essential to avoid corrupting your modem's flash memory.&lt;br /&gt;
&lt;br /&gt;
=== Backlight ===&lt;br /&gt;
All current distributions do not have a good setup for the backlight at low brightness.&lt;br /&gt;
If configured too low, the backlight shuts down completely, but the screen is still displayed and usable in bright front-light.&lt;br /&gt;
&lt;br /&gt;
Sailfish is currently the only OS that initially uses automatic backlight control. This makes the screen to appear blank. When shining a bright light on the screen, you can still navigate the screen. (and maybe the screen switches on temporarily due to the light sensor) This will make it possible for you to disable auto brightness in Settings, Display.&lt;br /&gt;
&lt;br /&gt;
== Preparation of SD card ==&lt;br /&gt;
# Download your chosen image from the options below&lt;br /&gt;
# Extract the compressed file&lt;br /&gt;
# Write the image to your SD card&lt;br /&gt;
# Plug SD card into phone&lt;br /&gt;
# Boot phone&lt;br /&gt;
If you need step-by-step instructions for writing an image to an SD card, check [[NOOB#Step-by-Step_Instructions_to_Flashing_MicroSD_Cards]] then return to this page.&lt;br /&gt;
&lt;br /&gt;
== Installation to eMMC ==&lt;br /&gt;
* Prepare a new SD card as above&lt;br /&gt;
* Boot the phone&lt;br /&gt;
* Run a magic script (to be defined/written/...)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;center&amp;quot; style=&amp;quot;background-color: lightyellow;&amp;quot;&amp;gt;[[#top | '''Return to top of page''']]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Software Releases =&lt;br /&gt;
&lt;br /&gt;
== postmarketOS ==&lt;br /&gt;
http://files.pine64.org/sw/pine64_installer/json/postmarketos.png&lt;br /&gt;
postmarketOS is an experimental, touch-optimized and pre-configured Alpine Linux that offers a choice of several desktop environments including Plasma Mobile and phosh.&lt;br /&gt;
&lt;br /&gt;
* ''' Download location '''&lt;br /&gt;
Rather than downloading a demo image [https://wiki.postmarketos.org/wiki/Installation_guide postmarketOS recommend] the use of their script, pmbootstrap, that can tailor build your SD card for you. The script automates steps 1,2 &amp;amp; 3 above. See for example [https://forum.pine64.org/showthread.php?tid=8285 this forum thread.] '''Top tip from IRC 4 Feb 2020: only use numeric digits for your password as keyboard that appears on unlock screens is currently numeric only! '''&lt;br /&gt;
&lt;br /&gt;
Note pmbootstrap offers an option [https://wiki.postmarketos.org/wiki/PINE64_PinePhone_(pine64-pinephone)#Installation to install to the eMMC.]&lt;br /&gt;
&lt;br /&gt;
[http://images.postmarketos.org/pinephone/ Demo images can be found here.]&lt;br /&gt;
&lt;br /&gt;
* ''' user-id/password '''&lt;br /&gt;
demo/147147 (for demo images only - when building an image with pmbootstrap you set your own user-id and password. NOTE: currently some lock screens use your password, but only present a numeric keyboard, so you should use only numbers in the password until you've verified you can unlock with other characters.)&lt;br /&gt;
&lt;br /&gt;
* ''' What works, what does not work '''&lt;br /&gt;
See [https://wiki.postmarketos.org/wiki/PINE64_PinePhone_(pine64-pinephone) postmarketOS wiki page]&lt;br /&gt;
&lt;br /&gt;
* ''' Where/how to report defects '''&lt;br /&gt;
[https://gitlab.com/postmarketOS/postmarketos/issues/3 postmarketOS issue tracker for PinePhone support]&lt;br /&gt;
&lt;br /&gt;
* ''' Contributions '''&lt;br /&gt;
[https://wiki.postmarketos.org/wiki/Contributing See postmarketOS wiki for options to contribute.]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;center&amp;quot; style=&amp;quot;background-color: lightyellow;&amp;quot;&amp;gt;[[#top | '''Return to top of page''']]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ubuntu Touch by UBPorts ==&lt;br /&gt;
http://files.pine64.org/sw/pine64_installer/json/ubports.png&lt;br /&gt;
A Mobile Version of the Ubuntu Operating System made and maintained by the UBports Community.&lt;br /&gt;
&lt;br /&gt;
A short, state-of-the-art (as at 5 Feb 2020) [https://youtu.be/ST_BjKicTAk demo on YouTube.]&lt;br /&gt;
&lt;br /&gt;
* ''' Download location '''&lt;br /&gt;
[https://gitlab.com/ubports/community-ports/pinephone See UBports gitlab page.]&lt;br /&gt;
&lt;br /&gt;
* ''' user-id/password '''&lt;br /&gt;
The default password is ''phablet''&lt;br /&gt;
&lt;br /&gt;
* ''' What works, what does not work '''&lt;br /&gt;
[https://gitlab.com/ubports/community-ports/pinephone Scroll down to the bottom of this page.]&lt;br /&gt;
&lt;br /&gt;
* ''' Where/how to report defects '''&lt;br /&gt;
[https://gitlab.com/ubports/community-ports/pinephone See UBports gitlab page.]&lt;br /&gt;
&lt;br /&gt;
* ''' Contributions '''&lt;br /&gt;
[https://ubports.com/foundation/sponsors See UBports website for how to donate.]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;center&amp;quot; style=&amp;quot;background-color: lightyellow;&amp;quot;&amp;gt;[[#top | '''Return to top of page''']]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manjaro ARM ==&lt;br /&gt;
http://files.pine64.org/sw/pine64_installer/json/manjaro.png&lt;br /&gt;
Manjaro is a user-friendly Linux distribution based on the independently developed Arch operating system with the Plasma Mobile desktop environment.&lt;br /&gt;
&lt;br /&gt;
* ''' Download location '''&lt;br /&gt;
[https://forum.manjaro.org/t/manjaro-arm-alpha3-for-pinephone-and-pinetab/120761 See Manjaro forum announcement of Alpha3 version]&lt;br /&gt;
&lt;br /&gt;
* ''' user-id/password '''&lt;br /&gt;
** manjaro/manjaro&lt;br /&gt;
** root/root&lt;br /&gt;
&lt;br /&gt;
* ''' What works, what does not work '''&lt;br /&gt;
[https://forum.manjaro.org/t/manjaro-arm-alpha3-for-pinephone-and-pinetab/120761 See Manjaro announcement.]&lt;br /&gt;
&lt;br /&gt;
* ''' Where/how to report defects '''&lt;br /&gt;
&lt;br /&gt;
* ''' Contributions '''&lt;br /&gt;
[https://forum.manjaro.org/t/manjaro-arm-alpha3-for-pinephone-and-pinetab/120761 See the end of the announcement here.]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;center&amp;quot; style=&amp;quot;background-color: lightyellow;&amp;quot;&amp;gt;[[#top | '''Return to top of page''']]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== KDE Neon ==&lt;br /&gt;
http://files.pine64.org/sw/pine64_installer/json/plasma_mobile.png&lt;br /&gt;
Based on KDE Neon for the desktop, comes with Plasma Mobile.&lt;br /&gt;
&lt;br /&gt;
* ''' Download location '''&lt;br /&gt;
[https://images.plasma-mobile.org/pinephone/ Plasma mobile images can be found here.]&lt;br /&gt;
&lt;br /&gt;
* ''' user-id/password '''&lt;br /&gt;
phablet/1234&lt;br /&gt;
&lt;br /&gt;
* ''' What works, what does not work '''&lt;br /&gt;
&lt;br /&gt;
* ''' Where/how to report defects '''&lt;br /&gt;
&lt;br /&gt;
* ''' Contributions '''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;center&amp;quot; style=&amp;quot;background-color: lightyellow;&amp;quot;&amp;gt;[[#top | '''Return to top of page''']]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SailfishOS ==&lt;br /&gt;
http://files.pine64.org/sw/pine64_installer/json/sailfishos.png&lt;br /&gt;
Sailfish OS is a Linux-based operating system based on open source projects such as Mer and including a closed source UI.&lt;br /&gt;
&lt;br /&gt;
* ''' Download location '''&lt;br /&gt;
The SailfishOS image is built on Gitlab CI. The latest image can be installed using the [https://raw.githubusercontent.com/sailfish-on-dontbeevil/flash-it/master/flash-it.sh flashing script].&lt;br /&gt;
&lt;br /&gt;
The script downloads the image and bootloader from our CI, extracts everything and burns it onto the SD card.&lt;br /&gt;
&lt;br /&gt;
''Instructions:''&lt;br /&gt;
&lt;br /&gt;
# Download the flashing script&lt;br /&gt;
# Insert a microSD card in your device&lt;br /&gt;
# Make the script executable: &amp;lt;code&amp;gt;chmod +x flash-it.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
# Verify that you have the &amp;lt;code&amp;gt;bsdtar&amp;lt;/code&amp;gt; packet installed&lt;br /&gt;
# Execute it: &amp;lt;code&amp;gt;./flash-it.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
# Follow the instructions. Some commands in the script require root permissions (for example: mounting and flashing the SD card).&lt;br /&gt;
&lt;br /&gt;
''Note'': The script will format and flash the SD card, make sure that you don't have any important data on the SD card!&lt;br /&gt;
&lt;br /&gt;
* ''' user-id/password '''&lt;br /&gt;
&lt;br /&gt;
* ''' What works, what does not work '''&lt;br /&gt;
The current (6 Feb) version of Sailfish has a defect with the auto brightness: on first boot this means you get a blank screen. You need to hold your phone up to a bright light to enable the screen, then disable the auto brightness in Settings, Display. [https://forum.pine64.org/showthread.php?tid=9054 See this forum thread.]&lt;br /&gt;
&lt;br /&gt;
* ''' Where/how to report defects '''&lt;br /&gt;
&lt;br /&gt;
See [https://sailfishos.org/wiki/Collaborative_Development#Reporting_issues the Sailfish wiki] for links to their forum as well as info required when reporting an issue.&lt;br /&gt;
&lt;br /&gt;
* ''' Contributions '''&lt;br /&gt;
[https://sailfishos.org/wiki/SailfishOS See the SailfishOS wiki for options to contribute.]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;center&amp;quot; style=&amp;quot;background-color: lightyellow;&amp;quot;&amp;gt;[[#top | '''Return to top of page''']]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Maemo Leste ==&lt;br /&gt;
http://files.pine64.org/sw/pine64_installer/json/maemo_leste.png&lt;br /&gt;
Maemo Leste continues the legacy of Maemo, developed by Nokia in collaboration with many open source projects, and is based on Devuan Ascii (Debian Stretch).&lt;br /&gt;
&lt;br /&gt;
* ''' Download location '''&lt;br /&gt;
[http://maedevu.maemo.org/images/ Maemo Leste test builds download awaited.] Note dont-be-evil images will not work on Braveheart due to hardware differences.&lt;br /&gt;
&lt;br /&gt;
* ''' user-id/password '''&lt;br /&gt;
root/toor&lt;br /&gt;
&lt;br /&gt;
* ''' What works, what does not work '''&lt;br /&gt;
&lt;br /&gt;
* ''' Where/how to report defects '''&lt;br /&gt;
&lt;br /&gt;
* ''' Contributions '''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;center&amp;quot; style=&amp;quot;background-color: lightyellow;&amp;quot;&amp;gt;[[#top | '''Return to top of page''']]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== NixOS ==&lt;br /&gt;
http://files.pine64.org/sw/pine64_installer/json/nixos.png&lt;br /&gt;
&lt;br /&gt;
* ''' Download location '''&lt;br /&gt;
&lt;br /&gt;
* ''' user-id/password '''&lt;br /&gt;
&lt;br /&gt;
* ''' What works, what does not work '''&lt;br /&gt;
&lt;br /&gt;
* ''' Where/how to report defects '''&lt;br /&gt;
See [https://nixos.org/nixos/community.html Bugs section on this page.]&lt;br /&gt;
&lt;br /&gt;
* ''' Contributions '''&lt;br /&gt;
[https://nixos.org/nixos/community.html Details about contributions and donations are on the NixOS website.]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;center&amp;quot; style=&amp;quot;background-color: lightyellow;&amp;quot;&amp;gt;[[#top | '''Return to top of page''']]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== LuneOS ==&lt;br /&gt;
http://files.pine64.org/sw/pine64_installer/json/luneos.jpg&lt;br /&gt;
Based on WebOS by LG, comes with Luna Next desktop environment.&lt;br /&gt;
&lt;br /&gt;
* ''' Download location '''&lt;br /&gt;
[http://build.webos-ports.org/luneos-testing/images/pinephone/ LuneOS test image for PinePhone]&lt;br /&gt;
Tofe recommends using bmaptool ; for example &amp;quot;bmaptool copy http://build.webos-ports.org/luneos-testing/images/pinephone/luneos-dev-image-pinephone-testing-0-15.rootfs.wic.gz /dev/mmcblk0&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* ''' user-id/password '''&lt;br /&gt;
&lt;br /&gt;
* ''' What works, what does not work '''&lt;br /&gt;
&lt;br /&gt;
* ''' Where/how to report defects '''&lt;br /&gt;
&lt;br /&gt;
* ''' Contributions '''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;center&amp;quot; style=&amp;quot;background-color: lightyellow;&amp;quot;&amp;gt;[[#top | '''Return to top of page''']]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Nemo Mobile ==&lt;br /&gt;
http://files.pine64.org/sw/pine64_installer/json/nemo_mobile.png&lt;br /&gt;
Nemo Mobile is the open source build of Sailfish OS.&lt;br /&gt;
&lt;br /&gt;
* ''' Download location '''&lt;br /&gt;
[https://github.com/neochapay/nemo-device-dont_be_evil/releases Download location is here on GitHub.]&lt;br /&gt;
&lt;br /&gt;
* ''' user-id/password '''&lt;br /&gt;
&lt;br /&gt;
* ''' What works, what does not work '''&lt;br /&gt;
&lt;br /&gt;
* ''' Where/how to report defects '''&lt;br /&gt;
For more info please visit [https://github.com/neochapay/nemo-device-dont_be_evil neochapay's github page]&lt;br /&gt;
&lt;br /&gt;
* ''' Contributions '''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;center&amp;quot; style=&amp;quot;background-color: lightyellow;&amp;quot;&amp;gt;[[#top | '''Return to top of page''']]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debian + Phosh ==&lt;br /&gt;
The description says it all - see [https://forum.pine64.org/showthread.php?tid=9016 this thread in the forum.]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;center&amp;quot; style=&amp;quot;background-color: lightyellow;&amp;quot;&amp;gt;[[#top | '''Return to top of page''']]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Other Resources =&lt;br /&gt;
Community&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=120 PinePhone Forum]&lt;br /&gt;
* [http://www.pine64.xyz:9090/?channels=PINEPHONE PinePhone IRC Channel]&lt;br /&gt;
&lt;br /&gt;
Hardware information&lt;br /&gt;
* [[PinePhone]] hardware details in this Pine64 wiki.&lt;br /&gt;
* [[PinePhone_v1.1_-_Braveheart]] hardware details specific to the Braveheart handsets.&lt;br /&gt;
* The postmarketOS wiki has a detailed page on the PinePhone hardware [https://wiki.postmarketos.org/wiki/PINE64_PinePhone_(pine64-pinephone) here,] and the preceeding devkit [https://wiki.postmarketos.org/wiki/PINE64_Don%27t_be_evil_devkit_(pine64-dontbeevil) here.]&lt;br /&gt;
&lt;br /&gt;
Other software information&lt;br /&gt;
* [https://linux-sunxi.org/Main_Page sunxi community wiki]&lt;br /&gt;
* [https://megous.com/dl/tmp/README.bootui megi bootUI notes]&lt;br /&gt;
* [https://github.com/ayufan-pine64/boot-tools ayufan boot tools]&lt;br /&gt;
&lt;br /&gt;
Other&lt;br /&gt;
* [https://store.pine64.org/?post_type=product Pine64 shop]&lt;br /&gt;
* [https://www.pine64.org/2020/01/24/setting-the-record-straight-pinephone-misconceptions/ Pine64 blog on blobs]&lt;br /&gt;
* [https://tuxphones.com/yet-another-librem-5-and-pinephone-linux-smartphone-comparison/ Martijn Braam Librem 5 comparison, especially covering openness/blobs]&lt;br /&gt;
* [https://fam-ribbers.com/2019/12/28/State-of-Linux-on-mobile-and-common-misconceptions.html Bart Ribbers blog on linux distributions and desktop environments on mobile devices.]&lt;br /&gt;
* [https://www.jeffgeerling.com/blog/2019/a2-class-microsd-cards-offer-no-better-performance-raspberry-pi Jeff Geerling on micro SD cards.]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;center&amp;quot; style=&amp;quot;background-color: lightyellow;&amp;quot;&amp;gt;[[#top | '''Return to top of page''']]&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wibble</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PineTime&amp;diff=4842</id>
		<title>PineTime</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PineTime&amp;diff=4842"/>
		<updated>2020-01-29T08:55:02Z</updated>

		<summary type="html">&lt;p&gt;Wibble: /* Development efforts */ add Dejvino/pinetime-hermes-firmware&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Frequently asked questions ==&lt;br /&gt;
&lt;br /&gt;
'''Read this first!'''&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.pine64.org/index.php/Frequently_asked_questions_about_the_PineTime Click here to see frequently asked questions about the dev kit]&lt;br /&gt;
* [https://wiki.pine64.org/index.php/Lup_Yuen_Lee_Q%26A_about_PineTime Lup Yuen Lee Q&amp;amp;A about PineTime]&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
'''Dimensions:''' 37.5 x 40 x 11mm &amp;lt;br&amp;gt;&lt;br /&gt;
'''Weight:''' 38 grams &amp;lt;br&amp;gt;&lt;br /&gt;
'''IP Rating:''' IP67 (waterproof to 1 meter) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Display:'''&lt;br /&gt;
: '''Size:''' 1.3 inches (33mm) diagonal&lt;br /&gt;
: '''Type:''' IPS capacitive touchscreen, RGB 65K colors&lt;br /&gt;
: '''Display Controller:''' ST7789&lt;br /&gt;
: '''Resolution:''' 240x240 pixels &amp;lt;br&amp;gt;&lt;br /&gt;
'''System on Chip:''' Nordic Semiconductor nRF52832 &amp;lt;br&amp;gt;&lt;br /&gt;
'''Flash:''' 512KB with additional 4MB SPI NOR &amp;lt;br&amp;gt;&lt;br /&gt;
'''RAM:''' 64KB &amp;lt;br&amp;gt;&lt;br /&gt;
'''Bluetooth:''' 5.0 (including Bluetooth Low Energy) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Sensors:''' Accelerometer, Heart rate sensor &amp;lt;br&amp;gt;&lt;br /&gt;
'''Feedback:''' Vibration motor &amp;lt;br&amp;gt;&lt;br /&gt;
'''Battery:''' 170-180mAh LiPo&lt;br /&gt;
&lt;br /&gt;
== SWD Pinout ==&lt;br /&gt;
The devkits have exposed SWD pins for flashing and debugging. The pinout is:&lt;br /&gt;
[[File:PineTime_SWD_location.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Driving the peripherals ==&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
&lt;br /&gt;
Note: The factory-default software on the PineTime does not auto-detect the display being disconnected when it has already booted. That can cause garbled output, to fix it just restart the PineTime.&lt;br /&gt;
&lt;br /&gt;
The display is driven using the ST7789 display controller. Use the following pins to drive the screen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! PineTime pin&lt;br /&gt;
! ST7789 pin&lt;br /&gt;
|-&lt;br /&gt;
| LCD_SCK (P0.02)&lt;br /&gt;
| SPI clock&lt;br /&gt;
|-&lt;br /&gt;
| LCD_SDI (P0.03)&lt;br /&gt;
| SPI MOSI&lt;br /&gt;
|-&lt;br /&gt;
| LCD_RS (P0.18)&lt;br /&gt;
| Clock/data pin (CD)&lt;br /&gt;
|-&lt;br /&gt;
| LCD_CS (P0.25)&lt;br /&gt;
| Chip select&lt;br /&gt;
|-&lt;br /&gt;
| LCD_RESET (P0.26)&lt;br /&gt;
| Display reset&lt;br /&gt;
|-&lt;br /&gt;
| LCD_BACKLIGHT_{LOW,MID,HIGH}&lt;br /&gt;
| Backlight (active low)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
* Chip select must be held low while driving the display. It must be high when using other SPI devices on the same bus (such as external flash storage) so that the display controller won't respond to the wrong commands.&lt;br /&gt;
* SPI must be used in mode 3. Mode 0 (the default) won't work.&lt;br /&gt;
* LCD_DISPLAY_* is used to enable the backlight. Set at least one to low to see anything on the screen.&lt;br /&gt;
* Use SPI at 8MHz (the fastest clock available on the nRF52832) because otherwise refreshing will be super slow.&lt;br /&gt;
&lt;br /&gt;
=== Battery measurement ===&lt;br /&gt;
&lt;br /&gt;
Reading whether the PineTime has power attached is easy: simply read the charge indication pin (P0.12). When it is high it is running on battery, when it is low it is charging.&lt;br /&gt;
&lt;br /&gt;
Reading the battery voltage is a bit harder. For that you can use the battery voltage pin on P0.31 (AIN7). The returned value is 12 bits, which means it is 0..4095. You can get the measured voltage with the following formula, assuming a reference voltage of 3.3V (this is configurable in the ADC):&lt;br /&gt;
&lt;br /&gt;
 adcVoltage = adcValue / (4095 / 3.3)&lt;br /&gt;
&lt;br /&gt;
The measured voltage is actually half of the actual battery voltage, because the ADC is connected between a voltage divider where both resistors are 1MΩ. This can be corrected by multiplying the value:&lt;br /&gt;
&lt;br /&gt;
 batteryVoltage = adcValue * 2 / (4095 / 3.3)&lt;br /&gt;
&lt;br /&gt;
It's often better to avoid floating point values on embedded systems and in this case there is no reason to use float at all, we can just represent the value in millivolts. Therefore the formula can be simplified to:&lt;br /&gt;
&lt;br /&gt;
 batteryVoltage = adcValue * 2000 / (4095 / 3.3)&lt;br /&gt;
 batteryVoltage = adcValue * 2000 / 1241&lt;br /&gt;
&lt;br /&gt;
Converting this voltage to an estimated capacity in percent requires a more complicated algorithm, because Lithium-ion batteries have a non-linear discharge curve.&lt;br /&gt;
&lt;br /&gt;
=== How to write battery friendly software? === &lt;br /&gt;
&lt;br /&gt;
The key to save battery is to enable only what you need when you need it. NRF52832 has a lot of functionalities allowing you to draw as little current as possible. Here are some tips and tricks:&lt;br /&gt;
&lt;br /&gt;
* Disable / shutdown / put in sleep mode '''all devices around the MCU''' (display controller, touch controller, external memory,...). &lt;br /&gt;
* Disable all '''peripheral inside the MCU''' when you don't need them (SPI, TWI(I²C),...). The power management of the NRF52832 is very smart and will completely shut down (power off and disable the clock) the peripheral when the software disables it.&lt;br /&gt;
* Put the MCU to sleep as soon and as often as possible. If you are not using a RTOS, this is done by calling ''WFE'' (wait for event) instruction. Most of the time, RTOS implement this functionality. For example, FreeRTOS calls it the ''tickless mode'' : it puts the CPU in sleep mode when no task is planned for execution for more than a specified time, and wakes up as soon as an event is detected or when a task is ready to run.&lt;br /&gt;
* Do not use logging (JLink RTT, SWO, semihosting,...), it uses a lot of power.&lt;br /&gt;
* Ensure that the debug circuitry of the MCU is not enabled when you measuring the battery life. The debug peripheral is enabled as soon as you connect a debugger to the device, and '''is not automatically disabled''', even if you disconnect the debugger. The software running in the NRF52832 cannot disable the debug peripheral. How to disable the debug circuitry:&lt;br /&gt;
  - using ''nrfjprog --reset''&lt;br /&gt;
  - using JLinkExe : issue the command ''writeDP 1 0''&lt;br /&gt;
* Read [https://infocenter.nordicsemi.com/pdf/nRF52832_Rev_2_Errata_v1.1.pdf the errata sheet of the MCU] and apply workarounds if they apply to you soft.&lt;br /&gt;
&lt;br /&gt;
=== Button ===&lt;br /&gt;
&lt;br /&gt;
The button on the side of the PineTime is disabled by default. To enable it, drive the button out pin (P0.15) high.&lt;br /&gt;
&lt;br /&gt;
While enabled, the button in pin (P0.13) will be high when the button is pressed, and low when it is not pressed.&lt;br /&gt;
&lt;br /&gt;
=== Touch panel ===&lt;br /&gt;
&lt;br /&gt;
The touch panel is controlled by a Hynitron CST816S chips. Unfortunately, there is not much information about this chip on the internet apart from the datasheet below and a [https://github.com/lupyuen/hynitron_i2c_cst0xxse/ reference driver]. This is enough to implement a basic driver, but crucial information needed to implement advanced functionalities are missing (I²C protocol and registers, timings, power modes,...).&lt;br /&gt;
&lt;br /&gt;
==== Pins ====&lt;br /&gt;
&lt;br /&gt;
* P0.10 : Reset&lt;br /&gt;
* P0.28 : Interrupt (signal to the CPU when a touch event is detected)&lt;br /&gt;
* P0.06 : I²C SDA&lt;br /&gt;
* P0.07 : I²C SCL&lt;br /&gt;
&lt;br /&gt;
==== I²C ====&lt;br /&gt;
&lt;br /&gt;
* Device address : 0x15&lt;br /&gt;
* Frequency : from 10Khz to 400Khz&lt;br /&gt;
&lt;br /&gt;
'''NOTE : ''' The controller go to sleep when no event is detected. In sleep mode, the controller does not communicate on the I²C bus (it appears disconnected). So, for the communication to work, you need to tap on the screen so that the chip wakes-up.&lt;br /&gt;
&lt;br /&gt;
==== Touch events ====&lt;br /&gt;
&lt;br /&gt;
Touch informations are available in the 63 first registers of the controller. Remember : the device is in sleep mode when no touch event is detected. It means that you can read the register only when the touch controller detected an event. You can use the ''Interrupt'' pin to detect such event in the software. &lt;br /&gt;
&lt;br /&gt;
These 63 bytes contain up to 10 touch point (X, Y, event type, pressure,...) : &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Byte&lt;br /&gt;
! Bit7&lt;br /&gt;
! Bit6&lt;br /&gt;
! Bit5&lt;br /&gt;
! Bit4&lt;br /&gt;
! Bit3&lt;br /&gt;
! Bit2&lt;br /&gt;
! Bit1&lt;br /&gt;
! Bit0&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|?&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|GestureID : (Gesture code ,&lt;br /&gt;
&lt;br /&gt;
0x00: no gesture,&lt;br /&gt;
&lt;br /&gt;
0x01: Slide down,&lt;br /&gt;
&lt;br /&gt;
0x02: Slide up,&lt;br /&gt;
&lt;br /&gt;
0x03: Slide left,&lt;br /&gt;
&lt;br /&gt;
0x04: Slide right,&lt;br /&gt;
&lt;br /&gt;
0x05: Single click,&lt;br /&gt;
&lt;br /&gt;
0x0B: Double click,&lt;br /&gt;
&lt;br /&gt;
0x0C: Long press) &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|? &lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|Number of touch points &lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|Event (0 = Down, 1 = Up, 2 = Contact)&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|?&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|X (MSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|X (LSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|?&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|Touch ID&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|Y (MSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|Y (LSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|Pressure (?)&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|Miscellaneous (?)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Bytes 3 to 8 are repeated 10 times (10*6 + 3 = 63 bytes).&lt;br /&gt;
&lt;br /&gt;
'''NOTES'''&lt;br /&gt;
&lt;br /&gt;
* The touch controller seems to report only 1 touch point&lt;br /&gt;
* Fields X, Y, Number of touch points and touch ID are updated. The others are always 0.&lt;br /&gt;
&lt;br /&gt;
==== Registers ====&lt;br /&gt;
&lt;br /&gt;
The reference driver specifies some registers and value, but there is no information about them: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
!Register&lt;br /&gt;
!Address&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_INT_CNT&lt;br /&gt;
|0x8F&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_FLOW_WORK_CNT&lt;br /&gt;
|0x91&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_WORKMODE &lt;br /&gt;
|0x00&lt;br /&gt;
|0 = WORK, 0x40 = FACTORY&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_CHIP_ID&lt;br /&gt;
|0xA3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_CHIP_ID2&lt;br /&gt;
|0x9F&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_POWER_MODE&lt;br /&gt;
|0xA5&lt;br /&gt;
|0x05 = SLEEP&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_FW_VER&lt;br /&gt;
|0xA6&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_VENDOR_ID&lt;br /&gt;
|0xA8&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_LCD_BUSY_NUM&lt;br /&gt;
|0xAB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_FACE_DEC_MODE_EN&lt;br /&gt;
|0xB0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_GLOVE_MODE_EN&lt;br /&gt;
|0xC0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_COVER_MODE_EN&lt;br /&gt;
|0xC1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_CHARGER_MODE_EN&lt;br /&gt;
|0x8B&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_GESTURE_EN&lt;br /&gt;
|0xD0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_GESTURE_OUTPUT_ADDRESS&lt;br /&gt;
|0xD3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_ESD_SATURATE 0xED&lt;br /&gt;
|0xED&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''WARNING : ''' Writing the SLEEP command (write 0x05 in HYN_REG_POWER_MODE) seems to freeze the controller (it returns only static values) until the battery is totally drained and the whole system reset. Analysis and debugging is more than welcome!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Programming firmware ==&lt;br /&gt;
&lt;br /&gt;
=== Using JLink programmer and nrfjprog tools ===&lt;br /&gt;
&lt;br /&gt;
The following steps have been tested with the Segger JLink embedded in the [https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52-DK NRF52-DK development board].&lt;br /&gt;
&lt;br /&gt;
1. Connect the Pinetime SWD pins to the debugger (P20 on NRF52-DK)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Pintime&lt;br /&gt;
!JLink&lt;br /&gt;
|-&lt;br /&gt;
|GND&lt;br /&gt;
|GND&lt;br /&gt;
|-&lt;br /&gt;
|SWDCLK&lt;br /&gt;
|SWDCLK&lt;br /&gt;
|-&lt;br /&gt;
|SWDIO&lt;br /&gt;
|SWDIO&lt;br /&gt;
|-&lt;br /&gt;
|VCC (3.3V)&lt;br /&gt;
|VTG (target detect)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
2. Unlock the device and erase the memory. '''You need to execute this step only once, to remove the read protection on the memory. Note that it will erase the whole flash memory of the MCU!''' :&lt;br /&gt;
 &lt;br /&gt;
 nrfjprog -f NRF52 --recover&lt;br /&gt;
&lt;br /&gt;
3. Program the BLE softdevice (if needed by the firmware). Replace PATH_TO_NRF_SDK by the path where you unzipped the [https://www.nordicsemi.com/Software-and-Tools/Software/nRF5-SDK NRF52 SDK] :&lt;br /&gt;
&lt;br /&gt;
 nrfjprog -f NRF52 --program /PATH_TO_NRF_SDK/components/softdevice/s132/hex/s132_nrf52_6.1.1_softdevice.hex --sectorerase&lt;br /&gt;
&lt;br /&gt;
4. Program the firmware (replace firmware.hex by the actual filename of the firmware):&lt;br /&gt;
&lt;br /&gt;
 nrfjprog -f NRF52 --program firmware.hex --sectorerase&lt;br /&gt;
&lt;br /&gt;
5. Reset and run the new firmware:&lt;br /&gt;
 &lt;br /&gt;
 nrfjprog -f NRF52 --reset&lt;br /&gt;
&lt;br /&gt;
=== Using OpenOCD and a Raspberry Pi ===&lt;br /&gt;
&lt;br /&gt;
Instructions in [https://medium.com/@ly.lee/build-and-flash-rust-mynewt-firmware-for-pinetime-smart-watch-5e14259c55 Medium post], subsequently [https://medium.com/@ly.lee/openocd-on-raspberry-pi-better-with-swd-on-spi-7dea9caeb590 updated] with a more reliable method under development, so may be a bit of a moving target.&lt;br /&gt;
&lt;br /&gt;
=== Using OpenOCD and a JLink ===&lt;br /&gt;
&lt;br /&gt;
Start OpenOCD:&lt;br /&gt;
&lt;br /&gt;
 openocd \&lt;br /&gt;
    -c 'interface jlink; transport select swd; source [find target/nrf52.cfg]' \&lt;br /&gt;
    -c 'init'&lt;br /&gt;
&lt;br /&gt;
Now you can connect to `127.0.0.1` port `4444` using telnet to invoke OpenOCD commands. GDB should be available on port `3333`.&lt;br /&gt;
&lt;br /&gt;
=== Using STM32 bluepill as blackmagic probe ===&lt;br /&gt;
&lt;br /&gt;
Instructions in [https://forum.pine64.org/showthread.php?tid=8816&amp;amp;pid=57095#pid57095 forum post] or [https://gist.github.com/darnel/dac1370d057e176386ca4026418abc2b gist] (mac os)&lt;br /&gt;
&lt;br /&gt;
== Manual / Articles ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/najnesnaj/pinetime-zephyr Beginner manual explained how you to programs and install zephyr on PineTime Dev Kit, big thanks to najnesnaj :-)]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/swlh/sneak-peek-of-pinetime-smart-watch-and-why-its-perfect-for-teaching-iot-81b74161c159 Sneak Peek of PineTime Smart Watch… And why it’s perfect for teaching IoT]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/@ly.lee/building-a-rust-driver-for-pinetimes-touch-controller-cbc1a5d5d3e9 Building a Rust Driver for PineTime’s Touch Controller]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/@ly.lee/porting-druid-rust-widgets-to-pinetime-smart-watch-7e1d5a5d977a Porting (druid) Rust Widgets to PineTime Smart Watch]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/@ly.lee/optimising-pinetimes-display-driver-with-rust-and-mynewt-3ba269ea2f5c Optimising PineTime’s Display Driver with Rust and Mynewt]&lt;br /&gt;
&lt;br /&gt;
* [https://www.zephyrproject.org/getting-started-with-zephyr-rtos-on-nordic-nrf52832-hackable/ Getting Started with Zephyr RTOS on Nordic nRF52832 hackaBLE]&lt;br /&gt;
&lt;br /&gt;
* [https://blog.aegrel.ee/absniffer-cmsis-dap-sniffer.html Removing the lock and installing another firmware on the nRF52832 using CMSIS-DAP dongle on Linux]&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/JF002/nrf52-baseproject/wiki/Build,-program-and-debug-NRF52-project-with-JLink,-CMake-and-CLion Build, program and debug NRF52 project with JLink, CMake and CLion]&lt;br /&gt;
&lt;br /&gt;
* [https://www.nrbtech.io/blog/2020/1/4/using-clion-for-nordic-nrf52-projects Using CLion for Nordic nRF52 projects]&lt;br /&gt;
&lt;br /&gt;
* [https://dev.to/aaronc81/flashing-your-pinetime-using-an-st-link-and-openocd-54dd Flashing your PineTime using an ST-Link and OpenOCD]&lt;br /&gt;
&lt;br /&gt;
== Development efforts ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! Project Homepage&lt;br /&gt;
! Project Source&lt;br /&gt;
! PineTime Implementations&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! FreeRTOS&lt;br /&gt;
|https://www.freertos.org&lt;br /&gt;
| https://sourceforge.net/projects/freertos/&lt;br /&gt;
| [https://github.com/JF002/Pinetime JF002/Pinetime]&lt;br /&gt;
[https://github.com/kaythe/pinetime-os kaythe/pinetime-os]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Zephyr&lt;br /&gt;
| https://www.zephyrproject.org&lt;br /&gt;
| https://github.com/zephyrproject-rtos/zephyr&lt;br /&gt;
| [https://github.com/najnesnaj/pinetime-zephyr najnesnaj/pinetime-zephyr]&lt;br /&gt;
[https://github.com/SuperPrower/pinetime_zephyr_sample_fw SuperPrower/pinetime_zephyr_sample_fw]&lt;br /&gt;
[https://github.com/Dejvino/pinetime-hermes-firmware Dejvino/pinetime-hermes-firmware]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! mynewt&lt;br /&gt;
| https://mynewt.apache.org/about/&lt;br /&gt;
| https://github.com/apache/mynewt-core&lt;br /&gt;
| [https://github.com/lupyuen/pinetime-rust-mynewt lupyuen/pinetime-rust-mynewt]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! MbedOS&lt;br /&gt;
| https://os.mbed.com&lt;br /&gt;
| https://github.com/ARMmbed/mbed-os&lt;br /&gt;
| [https://github.com/sethitow/awesome-pinetime sethitow/mbed-pinetime]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! RIOT&lt;br /&gt;
| http://riot-os.org/&lt;br /&gt;
| https://github.com/RIOT-OS/RIOT/&lt;br /&gt;
| [https://github.com/bosmoment/PineTime-apps bosmoment/PineTime-apps]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! TinyGo&lt;br /&gt;
| https://tinygo.org&lt;br /&gt;
| https://github.com/tinygo-org/tinygo&lt;br /&gt;
| [https://github.com/aykevl/go-smartwatch aykevl/go-smartwatch]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! MicroPython&lt;br /&gt;
| https://micropython.org/&lt;br /&gt;
| https://github.com/micropython/micropython&lt;br /&gt;
| [https://github.com/daniel-thompson/wasp-os daniel-thompson/wasp-os]&lt;br /&gt;
|-&lt;br /&gt;
! AdaFruit bootloader&lt;br /&gt;
|&lt;br /&gt;
| https://github.com/adafruit/Adafruit_nRF52_Bootloader&lt;br /&gt;
| [https://github.com/daniel-thompson/wasp-bootloader daniel-thompson/wasp-bootloader]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! UI concepts and drawings&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| [https://gitlab.com/arteeh/pinetimeos arteeh/pinetimeos]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Datasheets and Schematics ==&lt;br /&gt;
&lt;br /&gt;
=== Schematics ===&lt;br /&gt;
* [http://files.pine64.org/doc/PineTime/PineTime%20Schematic-V1.0a-20191103.pdf PineTime Schematic ver1.0a]&lt;br /&gt;
* [http://files.pine64.org/doc/PineTime/PineTime%20Port%20Assignment%20rev1.0.pdf PineTime GPIO Port Assignment ver1.0]&lt;br /&gt;
&lt;br /&gt;
=== Component Datasheets ===&lt;br /&gt;
* NORDIC SoC information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/nRF52832%20product%20brief.pdf NORDIC nRF52832 Product Brief]&lt;br /&gt;
* PMU (Power Management Unit) information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/SGM40561.pdf SGMicro SGM40561 Single Cell Charger Datasheet]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/SGMICRO-SGM2036.pdf SGMicro SGM2036 3.3V Low Power Low Dropout RF Linear Regulator Datasheet]&lt;br /&gt;
* SPI Flash information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/MX25L6433F,%203V,%2064Mb,%20v1.6.pdf Macronix 64Mb(8MB) SPI NOR Flash]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/MX25L12835F,%203V,%20128Mb,%20v1.6.pdf Macronix 128Mb(16MB) SPI NOR Flash]&lt;br /&gt;
* LCD Panel:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/PineTime%20LCD%20Panel.jpg 1.3&amp;quot; 240x240 IPS LCD Panel Specification for PineTime]&lt;br /&gt;
** [https://wiki.pine64.org/images/5/54/ST7789V_v1.6.pdf 11.6&amp;quot; Sitronix LCD Driver/Controller Datasheet]&lt;br /&gt;
* Touchpad information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/PineTime%20Touch%20Panel.jpg Touchpad Specification for PineTimel]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/CST816S数据手册V1.1.pdf 11.6&amp;quot; Hynitron CST816S Capacitive Touch Controller Datasheet in Chinese]&lt;br /&gt;
*** [https://wiki.pine64.org/images/5/51/CST816S%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8CV1.1.en.pdf English Translation]&lt;br /&gt;
* Sensor:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/BST-BMA421-FL000.pdf BOSCH BMA421 Triaxial VAcceleration Sensor Product Brief]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/HRS3300%20Heart%20Rate%20Sensor.pdf TianYiHeXin HRS3300 PPG Heart Rate Sensor Data Sheet]&lt;br /&gt;
&lt;br /&gt;
= Community =&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=134 PineTime forum]&lt;br /&gt;
* [https://riot.im/app/#/room/#pinetime64:matrix.org Matrix Channel] (No login required to read)&lt;br /&gt;
* IRC: Server us.pine64.xyz. Type /list to see all channels&lt;br /&gt;
* [https://t.me/pinetime Telegram group]&lt;br /&gt;
* [https://discordapp.com/invite/DgB7kzr Discord server invite link]&lt;/div&gt;</summary>
		<author><name>Wibble</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PineTime&amp;diff=4775</id>
		<title>PineTime</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PineTime&amp;diff=4775"/>
		<updated>2020-01-23T15:43:04Z</updated>

		<summary type="html">&lt;p&gt;Wibble: /* Using OpenOCD and a Raspberry Pi */  add the openocd-spi update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Frequently asked questions ==&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.pine64.org/index.php/Frequently_asked_questions_about_the_PineTime Click here to see frequently asked questions about the dev kit]&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
'''Dimensions:''' 37.5 x 40 x 11mm &amp;lt;br&amp;gt;&lt;br /&gt;
'''Weight:''' 38 grams &amp;lt;br&amp;gt;&lt;br /&gt;
'''IP Rating:''' IP67 (waterproof to 1 meter) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Display:'''&lt;br /&gt;
: '''Size:''' 1.3 inches (33mm) diagonal&lt;br /&gt;
: '''Type:''' IPS capacitive touchscreen, RGB 65K colors&lt;br /&gt;
: '''Display Controller:''' ST7789&lt;br /&gt;
: '''Resolution:''' 240x240 pixels &amp;lt;br&amp;gt;&lt;br /&gt;
'''System on Chip:''' Nordic Semiconductor nRF52832 &amp;lt;br&amp;gt;&lt;br /&gt;
'''Flash:''' 512KB with additional 4MB SPI NOR &amp;lt;br&amp;gt;&lt;br /&gt;
'''RAM:''' 64KB &amp;lt;br&amp;gt;&lt;br /&gt;
'''Bluetooth:''' 5.0 (including Bluetooth Low Energy) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Sensors:''' Accelerometer, Heart rate sensor &amp;lt;br&amp;gt;&lt;br /&gt;
'''Feedback:''' Vibration motor &amp;lt;br&amp;gt;&lt;br /&gt;
'''Battery:''' 170-180mAh LiPo&lt;br /&gt;
&lt;br /&gt;
== SWD Pinout ==&lt;br /&gt;
The devkits have exposed SWD pins for flashing and debugging. The pinout is:&lt;br /&gt;
[[File:PineTime_SWD_location.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Driving the peripherals ==&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
&lt;br /&gt;
Note: The factory-default software on the PineTime does not auto-detect the display being disconnected when it has already booted. That can cause garbled output, to fix it just restart the PineTime.&lt;br /&gt;
&lt;br /&gt;
The display is driven using the ST7789 display controller. Use the following pins to drive the screen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! PineTime pin&lt;br /&gt;
! ST7789 pin&lt;br /&gt;
|-&lt;br /&gt;
| LCD_SCK (P0.02)&lt;br /&gt;
| SPI clock&lt;br /&gt;
|-&lt;br /&gt;
| LCD_SDI (P0.03)&lt;br /&gt;
| SPI MOSI&lt;br /&gt;
|-&lt;br /&gt;
| LCD_RS (P0.18)&lt;br /&gt;
| Clock/data pin (CD)&lt;br /&gt;
|-&lt;br /&gt;
| LCD_CS (P0.25)&lt;br /&gt;
| Chip select&lt;br /&gt;
|-&lt;br /&gt;
| LCD_RESET (P0.26)&lt;br /&gt;
| Display reset&lt;br /&gt;
|-&lt;br /&gt;
| LCD_BACKLIGHT_{LOW,MID,HIGH}&lt;br /&gt;
| Backlight (active low)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
* Chip select must be held low while driving the display. It must be high when using other SPI devices on the same bus (such as external flash storage) so that the display controller won't respond to the wrong commands.&lt;br /&gt;
* SPI must be used in mode 3. Mode 0 (the default) won't work.&lt;br /&gt;
* LCD_DISPLAY_* is used to enable the backlight. Set at least one to low to see anything on the screen.&lt;br /&gt;
* Use SPI at 8MHz (the fastest clock available on the nRF52832) because otherwise refreshing will be super slow.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
&lt;br /&gt;
Reading whether the PineTime has power attached is easy: simply read the charge indication pin (P0.12). When it is high it is running on battery, when it is low it is charging.&lt;br /&gt;
&lt;br /&gt;
Reading the battery voltage is a bit harder. For that you can use the battery voltage pin on P0.31 (AIN7). The returned value is 12 bits, which means it is 0..4095. You can get the measured voltage with the following formula, assuming a reference voltage of 3.3V (this is configurable in the ADC):&lt;br /&gt;
&lt;br /&gt;
 adcVoltage = adcValue / (4095 / 3.3)&lt;br /&gt;
&lt;br /&gt;
The measured voltage is actually half of the actual battery voltage, because the ADC is connected between a voltage divider where both resistors are 1MΩ. This can be corrected by multiplying the value:&lt;br /&gt;
&lt;br /&gt;
 batteryVoltage = adcValue * 2 / (4095 / 3.3)&lt;br /&gt;
&lt;br /&gt;
It's often better to avoid floating point values on embedded systems and in this case there is no reason to use float at all, we can just represent the value in millivolts. Therefore the formula can be simplified to:&lt;br /&gt;
&lt;br /&gt;
 batteryVoltage = adcValue * 2000 / (4095 / 3.3)&lt;br /&gt;
 batteryVoltage = adcValue * 2000 / 1241&lt;br /&gt;
&lt;br /&gt;
Converting this voltage to an estimated capacity in percent requires a more complicated algorithm, because Lithium-ion batteries have a non-linear discharge curve.&lt;br /&gt;
&lt;br /&gt;
=== Button ===&lt;br /&gt;
&lt;br /&gt;
The button on the side of the PineTime is disabled by default. To enable it, drive the button out pin (P0.15) high.&lt;br /&gt;
&lt;br /&gt;
While enabled, the button in pin (P0.13) will be high when the button is pressed, and low when it is not pressed.&lt;br /&gt;
&lt;br /&gt;
=== Touch panel ===&lt;br /&gt;
&lt;br /&gt;
The touch panel is controlled by a Hynitron CST816S chips. Unfortunately, there is not much information about this chip on the internet apart from the datasheet below and a [https://github.com/lupyuen/hynitron_i2c_cst0xxse/ reference driver]. This is enough to implement a basic driver, but crucial information needed to implement advanced functionalities are missing (I²C protocol and registers, timings, power modes,...).&lt;br /&gt;
&lt;br /&gt;
==== Pins ====&lt;br /&gt;
&lt;br /&gt;
* P0.10 : Reset&lt;br /&gt;
* P0.28 : Interrupt (signal to the CPU when a touch event is detected)&lt;br /&gt;
* P0.06 : I²C SDA&lt;br /&gt;
* P0.07 : I²C SCL&lt;br /&gt;
&lt;br /&gt;
==== I²C ====&lt;br /&gt;
&lt;br /&gt;
* Device address : 0x15&lt;br /&gt;
* Frequency : from 10Khz to 400Khz&lt;br /&gt;
&lt;br /&gt;
'''NOTE : ''' The controller go to sleep when no event is detected. In sleep mode, the controller does not communicate on the I²C bus (it appears disconnected). So, for the communication to work, you need to tap on the screen so that the chip wakes-up.&lt;br /&gt;
&lt;br /&gt;
==== Touch events ====&lt;br /&gt;
&lt;br /&gt;
Touch informations are available in the 63 first registers of the controller. Remember : the device is in sleep mode when no touch event is detected. It means that you can read the register only when the touch controller detected an event. You can use the ''Interrupt'' pin to detect such event in the software. &lt;br /&gt;
&lt;br /&gt;
These 63 bytes contain up to 10 touch point (X, Y, event type, pressure,...) : &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Byte&lt;br /&gt;
! Bit7&lt;br /&gt;
! Bit6&lt;br /&gt;
! Bit5&lt;br /&gt;
! Bit4&lt;br /&gt;
! Bit3&lt;br /&gt;
! Bit2&lt;br /&gt;
! Bit1&lt;br /&gt;
! Bit0&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|?&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|GestureID : (Gesture code ,&lt;br /&gt;
&lt;br /&gt;
0x00: no gesture,&lt;br /&gt;
&lt;br /&gt;
0x01: on a slippery,&lt;br /&gt;
&lt;br /&gt;
0x02: decline,&lt;br /&gt;
&lt;br /&gt;
0x03: Left slip,&lt;br /&gt;
&lt;br /&gt;
0x04: Right slide,&lt;br /&gt;
&lt;br /&gt;
0x05: Click,&lt;br /&gt;
&lt;br /&gt;
0x0B: Double-click,&lt;br /&gt;
&lt;br /&gt;
0x0C: Press) &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|? &lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|Number of touch points &lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|Event (0 = Down, 1 = Up, 2 = Contact)&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|?&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|X (MSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|X (LSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|?&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|Touch ID&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|Y (MSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|Y (LSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|Pressure (?)&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|Miscellaneous (?)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Bytes 3 to 8 are repeated 10 times (10*6 + 3 = 63 bytes).&lt;br /&gt;
&lt;br /&gt;
'''NOTES'''&lt;br /&gt;
&lt;br /&gt;
* The touch controller seems to report only 1 touch point&lt;br /&gt;
* Fields X, Y, Number of touch points and touch ID are updated. The others are always 0.&lt;br /&gt;
&lt;br /&gt;
==== Registers ====&lt;br /&gt;
&lt;br /&gt;
The reference driver specifies some registers and value, but there is no information about them: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
!Register&lt;br /&gt;
!Address&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_INT_CNT&lt;br /&gt;
|0x8F&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_FLOW_WORK_CNT&lt;br /&gt;
|0x91&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_WORKMODE &lt;br /&gt;
|0x00&lt;br /&gt;
|0 = WORK, 0x40 = FACTORY&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_CHIP_ID&lt;br /&gt;
|0xA3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_CHIP_ID2&lt;br /&gt;
|0x9F&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_POWER_MODE&lt;br /&gt;
|0xA5&lt;br /&gt;
|0x05 = SLEEP&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_FW_VER&lt;br /&gt;
|0xA6&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_VENDOR_ID&lt;br /&gt;
|0xA8&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_LCD_BUSY_NUM&lt;br /&gt;
|0xAB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_FACE_DEC_MODE_EN&lt;br /&gt;
|0xB0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_GLOVE_MODE_EN&lt;br /&gt;
|0xC0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_COVER_MODE_EN&lt;br /&gt;
|0xC1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_CHARGER_MODE_EN&lt;br /&gt;
|0x8B&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_GESTURE_EN&lt;br /&gt;
|0xD0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_GESTURE_OUTPUT_ADDRESS&lt;br /&gt;
|0xD3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_ESD_SATURATE 0xED&lt;br /&gt;
|0xED&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''WARNING : ''' Writing the SLEEP command (write 0x05 in HYN_REG_POWER_MODE) seems to freeze the controller (it returns only static values) until the battery is totally drained and the whole system reset. Analysis and debugging is more than welcome!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Programming firmware ==&lt;br /&gt;
&lt;br /&gt;
=== Using JLink programmer and nrfjprog tools ===&lt;br /&gt;
&lt;br /&gt;
The following steps have been tested with the Segger JLink embedded in the [https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52-DK NRF52-DK development board].&lt;br /&gt;
&lt;br /&gt;
1. Connect the Pinetime SWD pins to the debugger (P20 on NRF52-DK)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Pintime&lt;br /&gt;
!JLink&lt;br /&gt;
|-&lt;br /&gt;
|GND&lt;br /&gt;
|GND&lt;br /&gt;
|-&lt;br /&gt;
|SWDCLK&lt;br /&gt;
|SWDCLK&lt;br /&gt;
|-&lt;br /&gt;
|SWDIO&lt;br /&gt;
|SWDIO&lt;br /&gt;
|-&lt;br /&gt;
|VCC (3.3V)&lt;br /&gt;
|VTG (target detect)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
2. Unlock the device and erase the memory. '''You need to execute this step only once, to remove the read protection on the memory. Note that it will erase the whole flash memory of the MCU!''' :&lt;br /&gt;
 &lt;br /&gt;
 nrfjporg -f NRF52 --recover&lt;br /&gt;
&lt;br /&gt;
3. Program the BLE softdevice (if needed by the firmware). Replace PATH_TO_NRF_SDK by the path where you unzipped the [https://www.nordicsemi.com/Software-and-Tools/Software/nRF5-SDK NRF52 SDK] :&lt;br /&gt;
&lt;br /&gt;
 nrfjprog -f NRF52 --program /PATH_TO_NRF_SDK/components/softdevice/s132/hex/s132_nrf52_6.1.1_softdevice.hex --sectorerase&lt;br /&gt;
&lt;br /&gt;
4. Program the firmware (replace firmware.hex by the actual filename of the firmware):&lt;br /&gt;
&lt;br /&gt;
 nrfjprog -f NRF52 --program firmware.hex --sectorerase&lt;br /&gt;
&lt;br /&gt;
5. Reset and run the new firmware:&lt;br /&gt;
 &lt;br /&gt;
 nrfjprog -f NRF52 --reset&lt;br /&gt;
&lt;br /&gt;
=== Using OpenOCD and a Raspberry Pi ===&lt;br /&gt;
&lt;br /&gt;
Instructions in [https://medium.com/@ly.lee/build-and-flash-rust-mynewt-firmware-for-pinetime-smart-watch-5e14259c55 Medium post], subsequently [https://medium.com/@ly.lee/openocd-on-raspberry-pi-better-with-swd-on-spi-7dea9caeb590 updated] with a more reliable method under development, so may be a bit of a moving target.&lt;br /&gt;
&lt;br /&gt;
=== Using STM32 bluepill as blackmagic probe ===&lt;br /&gt;
&lt;br /&gt;
Instructions in [https://forum.pine64.org/showthread.php?tid=8816&amp;amp;pid=57095#pid57095 forum post] or [https://gist.github.com/darnel/dac1370d057e176386ca4026418abc2b gist] (mac os)&lt;br /&gt;
&lt;br /&gt;
== Manual / Articles ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/najnesnaj/pinetime-zephyr Beginner manual explained how you to programs and install zephyr on PineTime Dev Kit, big thanks to najnesnaj :-)]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/swlh/sneak-peek-of-pinetime-smart-watch-and-why-its-perfect-for-teaching-iot-81b74161c159 Sneak Peek of PineTime Smart Watch… And why it’s perfect for teaching IoT]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/@ly.lee/building-a-rust-driver-for-pinetimes-touch-controller-cbc1a5d5d3e9 Building a Rust Driver for PineTime’s Touch Controller]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/@ly.lee/porting-druid-rust-widgets-to-pinetime-smart-watch-7e1d5a5d977a Porting (druid) Rust Widgets to PineTime Smart Watch]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/@ly.lee/optimising-pinetimes-display-driver-with-rust-and-mynewt-3ba269ea2f5c Optimising PineTime’s Display Driver with Rust and Mynewt]&lt;br /&gt;
&lt;br /&gt;
* [https://www.zephyrproject.org/getting-started-with-zephyr-rtos-on-nordic-nrf52832-hackable/ Getting Started with Zephyr RTOS on Nordic nRF52832 hackaBLE]&lt;br /&gt;
&lt;br /&gt;
* [https://blog.aegrel.ee/absniffer-cmsis-dap-sniffer.html Removing the lock and installing another firmware on the nRF52832 using CMSIS-DAP dongle on Linux]&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/JF002/nrf52-baseproject/wiki/Build,-program-and-debug-NRF52-project-with-JLink,-CMake-and-CLion Build, program and debug NRF52 project with JLink, CMake and CLion]&lt;br /&gt;
&lt;br /&gt;
* [https://www.nrbtech.io/blog/2020/1/4/using-clion-for-nordic-nrf52-projects Using CLion for Nordic nRF52 projects]&lt;br /&gt;
&lt;br /&gt;
* [https://dev.to/aaronc81/flashing-your-pinetime-using-an-st-link-and-openocd-54dd Flashing your PineTime using an ST-Link and OpenOCD]&lt;br /&gt;
&lt;br /&gt;
== Development efforts ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! Project Homepage&lt;br /&gt;
! Project Source&lt;br /&gt;
! PineTime Implementations&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! FreeRTOS&lt;br /&gt;
|https://www.freertos.org&lt;br /&gt;
| https://sourceforge.net/projects/freertos/&lt;br /&gt;
| [https://github.com/JF002/Pinetime JF002/Pinetime]&lt;br /&gt;
[https://github.com/kaythe/pinetime-os kaythe/pinetime-os]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Zephyr&lt;br /&gt;
| https://www.zephyrproject.org&lt;br /&gt;
| https://github.com/zephyrproject-rtos/zephyr&lt;br /&gt;
| [https://github.com/najnesnaj/pinetime-zephyr najnesnaj/pinetime-zephyr]&lt;br /&gt;
[https://github.com/SuperPrower/pinetime_zephyr_sample_fw SuperPrower/pinetime_zephyr_sample_fw]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! mynewt&lt;br /&gt;
| https://mynewt.apache.org/about/&lt;br /&gt;
| https://github.com/apache/mynewt-core&lt;br /&gt;
| [https://github.com/lupyuen/pinetime-rust-mynewt lupyuen/pinetime-rust-mynewt]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! MbedOS&lt;br /&gt;
| https://os.mbed.com&lt;br /&gt;
| https://github.com/ARMmbed/mbed-os&lt;br /&gt;
| [https://github.com/sethitow/awesome-pinetime sethitow/mbed-pinetime]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! RIOT&lt;br /&gt;
| http://riot-os.org/&lt;br /&gt;
| https://github.com/RIOT-OS/RIOT/&lt;br /&gt;
| [https://github.com/bosmoment/PineTime-apps bosmoment/PineTime-apps]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! TinyGo&lt;br /&gt;
| https://tinygo.org&lt;br /&gt;
| https://github.com/tinygo-org/tinygo&lt;br /&gt;
| [https://github.com/aykevl/go-smartwatch aykevl/go-smartwatch]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! MicroPython&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| [https://github.com/daniel-thompson/wasp-os daniel-thompson/wasp-os]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Datasheets and Schematics ==&lt;br /&gt;
&lt;br /&gt;
=== Schematics ===&lt;br /&gt;
* [http://files.pine64.org/doc/PineTime/PineTime%20Schematic-V1.0a-20191103.pdf PineTime Schematic ver1.0a]&lt;br /&gt;
* [http://files.pine64.org/doc/PineTime/PineTime%20Port%20Assignment%20rev1.0.pdf PineTime GPIO Port Assignment ver1.0]&lt;br /&gt;
&lt;br /&gt;
=== Component Datasheets ===&lt;br /&gt;
* NORDIC SoC information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/nRF52832%20product%20brief.pdf NORDIC nRF52832 Product Brief]&lt;br /&gt;
* PMU (Power Management Unit) information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/SGM40561.pdf SGMicro SGM40561 Single Cell Charger Datasheet]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/SGMICRO-SGM2036.pdf SGMicro SGM2036 3.3V Low Power Low Dropout RF Linear Regulator Datasheet]&lt;br /&gt;
* SPI Flash information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/MX25L6433F,%203V,%2064Mb,%20v1.6.pdf Macronix 64Mb(8MB) SPI NOR Flash]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/MX25L12835F,%203V,%20128Mb,%20v1.6.pdf Macronix 128Mb(16MB) SPI NOR Flash]&lt;br /&gt;
* LCD Panel:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/PineTime%20LCD%20Panel.jpg 1.3&amp;quot; 240x240 IPS LCD Panel Specification for PineTime]&lt;br /&gt;
** [https://wiki.pine64.org/images/5/54/ST7789V_v1.6.pdf 11.6&amp;quot; Sitronix LCD Driver/Controller Datasheet]&lt;br /&gt;
* Touchpad information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/PineTime%20Touch%20Panel.jpg Touchpad Specification for PineTimel]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/CST816S数据手册V1.1.pdf 11.6&amp;quot; Hynitron CST816S Capacitive Touch Controller Datasheet in Chinese]&lt;br /&gt;
*** [https://wiki.pine64.org/images/5/51/CST816S%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8CV1.1.en.pdf English Translation]&lt;br /&gt;
* Sensor:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/BST-BMA421-FL000.pdf BOSCH BMA421 Triaxial VAcceleration Sensor Product Brief]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/HRS3300%20Heart%20Rate%20Sensor.pdf TianYiHeXin HRS3300 PPG Heart Rate Sensor Data Sheet]&lt;br /&gt;
&lt;br /&gt;
= Community =&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=134 PineTime forum]&lt;br /&gt;
* [https://riot.im/app/#/room/#pinetime64:matrix.org Matrix Channel] (No login required to read)&lt;br /&gt;
* IRC: Server us.pine64.xyz. Type /list to see all channels&lt;br /&gt;
* [https://t.me/pinetime Telegram group]&lt;br /&gt;
* [https://discordapp.com/invite/DgB7kzr Discord server invite link]&lt;/div&gt;</summary>
		<author><name>Wibble</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PineTime&amp;diff=4715</id>
		<title>PineTime</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PineTime&amp;diff=4715"/>
		<updated>2020-01-21T11:49:22Z</updated>

		<summary type="html">&lt;p&gt;Wibble: /* Development efforts */  add Daniel Thompson's micopython project&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Frequently asked questions ==&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.pine64.org/index.php/Frequently_asked_questions_about_the_PineTime Click here to see frequently asked questions]&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.pine64.org/index.php/Frequently_asked_questions_about_the_PineTime Frequently asked questions about the dev kit]&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
'''Dimensions:''' 37.5 x 40 x 11mm &amp;lt;br&amp;gt;&lt;br /&gt;
'''Weight:''' 38 grams &amp;lt;br&amp;gt;&lt;br /&gt;
'''IP Rating:''' IP67 (waterproof to 1 meter) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Display:'''&lt;br /&gt;
: '''Size:''' 1.3 inches (33mm) diagonal&lt;br /&gt;
: '''Type:''' IPS capacitive touchscreen, RGB 65K colors&lt;br /&gt;
: '''Display Controller:''' ST7789&lt;br /&gt;
: '''Resolution:''' 240x240 pixels &amp;lt;br&amp;gt;&lt;br /&gt;
'''System on Chip:''' Nordic Semiconductor nRF52832 &amp;lt;br&amp;gt;&lt;br /&gt;
'''Flash:''' 512KB with additional 4MB SPI NOR &amp;lt;br&amp;gt;&lt;br /&gt;
'''RAM:''' 64KB &amp;lt;br&amp;gt;&lt;br /&gt;
'''Bluetooth:''' 5.0 (including Bluetooth Low Energy) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Sensors:''' Accelerometer, Heart rate sensor &amp;lt;br&amp;gt;&lt;br /&gt;
'''Feedback:''' Vibration motor &amp;lt;br&amp;gt;&lt;br /&gt;
'''Battery:''' 170-180mAh LiPo&lt;br /&gt;
&lt;br /&gt;
== SWD Pinout ==&lt;br /&gt;
The devkits have exposed SWD pins for flashing and debugging. The pinout is:&lt;br /&gt;
[[File:PineTime_SWD_location.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Driving the peripherals ==&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
&lt;br /&gt;
Note: The factory-default software on the PineTime does not auto-detect the display being disconnected when it has already booted. That can cause garbled output, to fix it just restart the PineTime.&lt;br /&gt;
&lt;br /&gt;
The display is driven using the ST7789 display controller. Use the following pins to drive the screen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! PineTime pin&lt;br /&gt;
! ST7789 pin&lt;br /&gt;
|-&lt;br /&gt;
| LCD_SCK (P0.02)&lt;br /&gt;
| SPI clock&lt;br /&gt;
|-&lt;br /&gt;
| LCD_SDI (P0.03)&lt;br /&gt;
| SPI MOSI&lt;br /&gt;
|-&lt;br /&gt;
| LCD_RS (P0.18)&lt;br /&gt;
| Clock/data pin (CD)&lt;br /&gt;
|-&lt;br /&gt;
| LCD_CS (P0.25)&lt;br /&gt;
| Chip select&lt;br /&gt;
|-&lt;br /&gt;
| LCD_RESET (P0.26)&lt;br /&gt;
| Display reset&lt;br /&gt;
|-&lt;br /&gt;
| LCD_BACKLIGHT_{LOW,MID,HIGH}&lt;br /&gt;
| Backlight (active low)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
* Chip select must be held low while driving the display. It must be high when using other SPI devices on the same bus (such as external flash storage) so that the display controller won't respond to the wrong commands.&lt;br /&gt;
* SPI must be used in mode 3. Mode 0 (the default) won't work.&lt;br /&gt;
* LCD_DISPLAY_* is used to enable the backlight. Set at least one to low to see anything on the screen.&lt;br /&gt;
* Use SPI at 8MHz (the fastest clock available on the nRF52832) because otherwise refreshing will be super slow.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
&lt;br /&gt;
Reading whether the PineTime has power attached is easy: simply read the charge indication pin (P0.12). When it is high it is running on battery, when it is low it is charging.&lt;br /&gt;
&lt;br /&gt;
Reading the battery voltage is a bit harder. For that you can use the battery voltage pin on P0.31 (AIN7). The returned value is 12 bits, which means it is 0..4095. You can get the measured voltage with the following formula, assuming a reference voltage of 3.3V (this is configurable in the ADC):&lt;br /&gt;
&lt;br /&gt;
 adcVoltage = adcValue / (4095 / 3.3)&lt;br /&gt;
&lt;br /&gt;
The measured voltage is actually half of the actual battery voltage, because the ADC is connected between a voltage divider where both resistors are 1MΩ. This can be corrected by multiplying the value:&lt;br /&gt;
&lt;br /&gt;
 batteryVoltage = adcValue * 2 / (4095 / 3.3)&lt;br /&gt;
&lt;br /&gt;
It's often better to avoid floating point values on embedded systems and in this case there is no reason to use float at all, we can just represent the value in millivolts. Therefore the formula can be simplified to:&lt;br /&gt;
&lt;br /&gt;
 batteryVoltage = adcValue * 2000 / (4095 / 3.3)&lt;br /&gt;
 batteryVoltage = adcValue * 2000 / 1241&lt;br /&gt;
&lt;br /&gt;
Converting this voltage to an estimated capacity in percent requires a more complicated algorithm, because Lithium-ion batteries have a non-linear discharge curve.&lt;br /&gt;
&lt;br /&gt;
=== Button ===&lt;br /&gt;
&lt;br /&gt;
The button on the side of the PineTime is disabled by default. To enable it, drive the button out pin (P0.15) high.&lt;br /&gt;
&lt;br /&gt;
While enabled, the button in pin (P0.13) will be high when the button is pressed, and low when it is not pressed.&lt;br /&gt;
&lt;br /&gt;
=== Touch panel ===&lt;br /&gt;
&lt;br /&gt;
The touch panel is controlled by a Hynitron CST816S chips. Unfortunately, there is not much information about this chip on the internet apart from the datasheet below and a [https://github.com/lupyuen/hynitron_i2c_cst0xxse/ reference driver]. This is enough to implement a basic driver, but crucial information needed to implement advanced functionalities are missing (I²C protocol and registers, timings, power modes,...).&lt;br /&gt;
&lt;br /&gt;
==== Pins ====&lt;br /&gt;
&lt;br /&gt;
* P0.10 : Reset&lt;br /&gt;
* P0.28 : Interrupt (signal to the CPU when a touch event is detected)&lt;br /&gt;
* P0.06 : I²C SDA&lt;br /&gt;
* P0.07 : I²C SCL&lt;br /&gt;
&lt;br /&gt;
==== I²C ====&lt;br /&gt;
&lt;br /&gt;
* Device address : 0x15&lt;br /&gt;
* Frequency : from 10Khz to 400Khz&lt;br /&gt;
&lt;br /&gt;
'''NOTE : ''' The controller go to sleep when no event is detected. In sleep mode, the controller does not communicate on the I²C bus (it appears disconnected). So, for the communication to work, you need to tap on the screen so that the chip wakes-up.&lt;br /&gt;
&lt;br /&gt;
==== Touch events ====&lt;br /&gt;
&lt;br /&gt;
Touch informations are available in the 63 first registers of the controller. Remember : the device is in sleep mode when no touch event is detected. It means that you can read the register only when the touch controller detected an event. You can use the ''Interrupt'' pin to detect such event in the software. &lt;br /&gt;
&lt;br /&gt;
These 63 bytes contain up to 10 touch point (X, Y, event type, pressure,...) : &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Byte&lt;br /&gt;
! Bit7&lt;br /&gt;
! Bit6&lt;br /&gt;
! Bit5&lt;br /&gt;
! Bit4&lt;br /&gt;
! Bit3&lt;br /&gt;
! Bit2&lt;br /&gt;
! Bit1&lt;br /&gt;
! Bit0&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|?&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|GestureID : (Gesture code ,&lt;br /&gt;
&lt;br /&gt;
0x00: no gesture,&lt;br /&gt;
&lt;br /&gt;
0x01: on a slippery,&lt;br /&gt;
&lt;br /&gt;
0x02: decline,&lt;br /&gt;
&lt;br /&gt;
0x03: Left slip,&lt;br /&gt;
&lt;br /&gt;
0x04: Right slide,&lt;br /&gt;
&lt;br /&gt;
0x05: Click,&lt;br /&gt;
&lt;br /&gt;
0x0B: Double-click,&lt;br /&gt;
&lt;br /&gt;
0x0C: Press) &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|? &lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|Number of touch points &lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|Event (0 = Down, 1 = Up, 2 = Contact)&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|?&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|X (MSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|X (LSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|?&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|Touch ID&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|Y (MSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|Y (LSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|Pressure (?)&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|Miscellaneous (?)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Bytes 3 to 8 are repeated 10 times (10*6 + 3 = 63 bytes).&lt;br /&gt;
&lt;br /&gt;
'''NOTES'''&lt;br /&gt;
&lt;br /&gt;
* The touch controller seems to report only 1 touch point&lt;br /&gt;
* Fields X, Y, Number of touch points and touch ID are updated. The others are always 0.&lt;br /&gt;
&lt;br /&gt;
==== Registers ====&lt;br /&gt;
&lt;br /&gt;
The reference driver specifies some registers and value, but there is no information about them: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
!Register&lt;br /&gt;
!Address&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_INT_CNT&lt;br /&gt;
|0x8F&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_FLOW_WORK_CNT&lt;br /&gt;
|0x91&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_WORKMODE &lt;br /&gt;
|0x00&lt;br /&gt;
|0 = WORK, 0x40 = FACTORY&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_CHIP_ID&lt;br /&gt;
|0xA3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_CHIP_ID2&lt;br /&gt;
|0x9F&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_POWER_MODE&lt;br /&gt;
|0xA5&lt;br /&gt;
|0x05 = SLEEP&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_FW_VER&lt;br /&gt;
|0xA6&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_VENDOR_ID&lt;br /&gt;
|0xA8&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_LCD_BUSY_NUM&lt;br /&gt;
|0xAB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_FACE_DEC_MODE_EN&lt;br /&gt;
|0xB0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_GLOVE_MODE_EN&lt;br /&gt;
|0xC0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_COVER_MODE_EN&lt;br /&gt;
|0xC1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_CHARGER_MODE_EN&lt;br /&gt;
|0x8B&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_GESTURE_EN&lt;br /&gt;
|0xD0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_GESTURE_OUTPUT_ADDRESS&lt;br /&gt;
|0xD3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_ESD_SATURATE 0xED&lt;br /&gt;
|0xED&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''WARNING : ''' Writing the SLEEP command (write 0x05 in HYN_REG_POWER_MODE) seems to freeze the controller (it returns only static values) until the battery is totally drained and the whole system reset. Analysis and debugging is more than welcome!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Programming firmware ==&lt;br /&gt;
&lt;br /&gt;
=== Using JLink programmer and nrfjprog tools ===&lt;br /&gt;
&lt;br /&gt;
The following steps have been tested with the Segger JLink embedded in the [https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52-DK NRF52-DK development board].&lt;br /&gt;
&lt;br /&gt;
1. Connect the Pinetime SWD pins to the debugger (P20 on NRF52-DK)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Pintime&lt;br /&gt;
!JLink&lt;br /&gt;
|-&lt;br /&gt;
|GND&lt;br /&gt;
|GND&lt;br /&gt;
|-&lt;br /&gt;
|SWDCLK&lt;br /&gt;
|SWDCLK&lt;br /&gt;
|-&lt;br /&gt;
|SWDIO&lt;br /&gt;
|SWDIO&lt;br /&gt;
|-&lt;br /&gt;
|VCC (3.3V)&lt;br /&gt;
|VTG (target detect)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
2. Unlock the device and erase the memory. '''You need to execute this step only once, to remove the read protection on the memory. Note that it will erase the whole flash memory of the MCU!''' :&lt;br /&gt;
 &lt;br /&gt;
 nrfjporg -f NRF52 --recover&lt;br /&gt;
&lt;br /&gt;
3. Program the BLE softdevice (if needed by the firmware). Replace PATH_TO_NRF_SDK by the path where you unzipped the [https://www.nordicsemi.com/Software-and-Tools/Software/nRF5-SDK NRF52 SDK] :&lt;br /&gt;
&lt;br /&gt;
 nrfjprog -f NRF52 --program /PATH_TO_NRF_SDK/components/softdevice/s132/hex/s132_nrf52_6.1.1_softdevice.hex --sectorerase&lt;br /&gt;
&lt;br /&gt;
4. Program the firmware (replace firmware.hex by the actual filename of the firmware):&lt;br /&gt;
&lt;br /&gt;
 nrfjprog -f NRF52 --program firmware.hex --sectorerase&lt;br /&gt;
&lt;br /&gt;
5. Reset and run the new firmware:&lt;br /&gt;
 &lt;br /&gt;
 nrfjprog -f NRF52 --reset&lt;br /&gt;
&lt;br /&gt;
=== Using OpenOCD and a Raspberry Pi ===&lt;br /&gt;
&lt;br /&gt;
Instructions in [https://medium.com/@ly.lee/build-and-flash-rust-mynewt-firmware-for-pinetime-smart-watch-5e14259c55 Medium post]&lt;br /&gt;
&lt;br /&gt;
=== Using STM32 bluepill as blackmagic probe ===&lt;br /&gt;
&lt;br /&gt;
Instructions in [https://forum.pine64.org/showthread.php?tid=8816&amp;amp;pid=57095#pid57095 forum post]&lt;br /&gt;
&lt;br /&gt;
== Manual / Articles ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/najnesnaj/pinetime-zephyr Beginner manual explained how you to programs and install zephyr on PineTime Dev Kit, big thanks to najnesnaj :-)]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/swlh/sneak-peek-of-pinetime-smart-watch-and-why-its-perfect-for-teaching-iot-81b74161c159 Sneak Peek of PineTime Smart Watch… And why it’s perfect for teaching IoT]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/@ly.lee/building-a-rust-driver-for-pinetimes-touch-controller-cbc1a5d5d3e9 Building a Rust Driver for PineTime’s Touch Controller]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/@ly.lee/porting-druid-rust-widgets-to-pinetime-smart-watch-7e1d5a5d977a Porting (druid) Rust Widgets to PineTime Smart Watch]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/@ly.lee/optimising-pinetimes-display-driver-with-rust-and-mynewt-3ba269ea2f5c Optimising PineTime’s Display Driver with Rust and Mynewt]&lt;br /&gt;
&lt;br /&gt;
* [https://www.zephyrproject.org/getting-started-with-zephyr-rtos-on-nordic-nrf52832-hackable/ Getting Started with Zephyr RTOS on Nordic nRF52832 hackaBLE]&lt;br /&gt;
&lt;br /&gt;
* [https://blog.aegrel.ee/absniffer-cmsis-dap-sniffer.html Removing the lock and installing another firmware on the nRF52832 using CMSIS-DAP dongle on Linux]&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/JF002/nrf52-baseproject/wiki/Build,-program-and-debug-NRF52-project-with-JLink,-CMake-and-CLion Build, program and debug NRF52 project with JLink, CMake and CLion]&lt;br /&gt;
&lt;br /&gt;
* [https://www.nrbtech.io/blog/2020/1/4/using-clion-for-nordic-nrf52-projects Using CLion for Nordic nRF52 projects]&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.pine64.org/index.php/Frequently_asked_questions_about_the_PineTime Frequently asked questions about the dev kit]&lt;br /&gt;
&lt;br /&gt;
* [https://dev.to/aaronc81/flashing-your-pinetime-using-an-st-link-and-openocd-54dd Flashing your PineTime using an ST-Link and OpenOCD]&lt;br /&gt;
&lt;br /&gt;
== Development efforts ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! Project Homepage&lt;br /&gt;
! Project Source&lt;br /&gt;
! PineTime Implementations&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! FreeRTOS&lt;br /&gt;
|https://www.freertos.org&lt;br /&gt;
| https://sourceforge.net/projects/freertos/&lt;br /&gt;
| [https://github.com/JF002/Pinetime JF002/Pinetime]&lt;br /&gt;
[https://github.com/kaythe/pinetime-os kaythe/pinetime-os]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Zephyr&lt;br /&gt;
| https://www.zephyrproject.org&lt;br /&gt;
| https://github.com/zephyrproject-rtos/zephyr&lt;br /&gt;
| [https://github.com/najnesnaj/pinetime-zephyr najnesnaj/pinetime-zephyr]&lt;br /&gt;
[https://github.com/SuperPrower/pinetime_zephyr_sample_fw SuperPrower/pinetime_zephyr_sample_fw]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! mynewt&lt;br /&gt;
| https://mynewt.apache.org/about/&lt;br /&gt;
| https://github.com/apache/mynewt-core&lt;br /&gt;
| [https://github.com/lupyuen/pinetime-rust-mynewt lupyuen/pinetime-rust-mynewt]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! MbedOS&lt;br /&gt;
| https://os.mbed.com&lt;br /&gt;
| https://github.com/ARMmbed/mbed-os&lt;br /&gt;
| [https://github.com/sethitow/awesome-pinetime sethitow/mbed-pinetime]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! RIOT&lt;br /&gt;
| http://riot-os.org/&lt;br /&gt;
| https://github.com/RIOT-OS/RIOT/&lt;br /&gt;
| [https://github.com/bosmoment/PineTime-apps bosmoment/PineTime-apps]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! TinyGo&lt;br /&gt;
| https://tinygo.org&lt;br /&gt;
| https://github.com/tinygo-org/tinygo&lt;br /&gt;
| [https://github.com/aykevl/go-smartwatch aykevl/go-smartwatch]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! MicroPython&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| [https://github.com/daniel-thompson/wasp-os daniel-thompson/wasp-os]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Datasheets and Schematics ==&lt;br /&gt;
&lt;br /&gt;
=== Schematics ===&lt;br /&gt;
* [http://files.pine64.org/doc/PineTime/PineTime%20Schematic-V1.0a-20191103.pdf PineTime Schematic ver1.0a]&lt;br /&gt;
* [http://files.pine64.org/doc/PineTime/PineTime%20Port%20Assignment%20rev1.0.pdf PineTime GPIO Port Assignment ver1.0]&lt;br /&gt;
&lt;br /&gt;
=== Component Datasheets ===&lt;br /&gt;
* NORDIC SoC information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/nRF52832%20product%20brief.pdf NORDIC nRF52832 Product Brief]&lt;br /&gt;
* PMU (Power Management Unit) information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/SGM40561.pdf SGMicro SGM40561 Single Cell Charger Datasheet]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/SGMICRO-SGM2036.pdf SGMicro SGM2036 3.3V Low Power Low Dropout RF Linear Regulator Datasheet]&lt;br /&gt;
* SPI Flash information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/MX25L6433F,%203V,%2064Mb,%20v1.6.pdf Macronix 64Mb(8MB) SPI NOR Flash]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/MX25L12835F,%203V,%20128Mb,%20v1.6.pdf Macronix 128Mb(16MB) SPI NOR Flash]&lt;br /&gt;
* LCD Panel:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/PineTime%20LCD%20Panel.jpg 1.3&amp;quot; 240x240 IPS LCD Panel Specification for PineTime]&lt;br /&gt;
** [https://wiki.pine64.org/images/5/54/ST7789V_v1.6.pdf 11.6&amp;quot; Sitronix LCD Driver/Controller Datasheet]&lt;br /&gt;
* Touchpad information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/PineTime%20Touch%20Panel.jpg Touchpad Specification for PineTimel]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/CST816S数据手册V1.1.pdf 11.6&amp;quot; Hynitron CST816S Capacitive Touch Controller Datasheet in Chinese]&lt;br /&gt;
*** [https://wiki.pine64.org/images/5/51/CST816S%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8CV1.1.en.pdf English Translation]&lt;br /&gt;
* Sensor:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/BST-BMA421-FL000.pdf BOSCH BMA421 Triaxial VAcceleration Sensor Product Brief]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/HRS3300%20Heart%20Rate%20Sensor.pdf TianYiHeXin HRS3300 PPG Heart Rate Sensor Data Sheet]&lt;br /&gt;
&lt;br /&gt;
= Community =&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=134 PineTime forum]&lt;br /&gt;
* [https://riot.im/app/#/room/#pinetime64:matrix.org Matrix Channel] (No login required to read)&lt;br /&gt;
* IRC: Server us.pine64.xyz. Type /list to see all channels&lt;br /&gt;
* [https://t.me/pinetime Telegram group]&lt;br /&gt;
* [https://discordapp.com/invite/DgB7kzr Discord server invite link]&lt;/div&gt;</summary>
		<author><name>Wibble</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PineTime&amp;diff=4666</id>
		<title>PineTime</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PineTime&amp;diff=4666"/>
		<updated>2020-01-20T11:41:25Z</updated>

		<summary type="html">&lt;p&gt;Wibble: /* Programming firmware */  add links for openocd/pi and bluepill blackmagic methods&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Frequently asked questions ==&lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/index.php/Frequently_asked_questions_about_the_PineTime Click here to see frequently asked questions]&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
'''Dimensions:''' 37.5 x 40 x 11mm &amp;lt;br&amp;gt;&lt;br /&gt;
'''Weight:''' 38 grams &amp;lt;br&amp;gt;&lt;br /&gt;
'''IP Rating:''' IP67 (waterproof to 1 meter) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Display:'''&lt;br /&gt;
: '''Size:''' 1.3 inches (33mm) diagonal&lt;br /&gt;
: '''Type:''' IPS capacitive touchscreen, RGB 65K colors&lt;br /&gt;
: '''Display Controller:''' ST7789&lt;br /&gt;
: '''Resolution:''' 240x240 pixels &amp;lt;br&amp;gt;&lt;br /&gt;
'''System on Chip:''' Nordic Semiconductor nRF52832 &amp;lt;br&amp;gt;&lt;br /&gt;
'''Flash:''' 512KB with additional 4MB SPI NOR &amp;lt;br&amp;gt;&lt;br /&gt;
'''RAM:''' 64KB &amp;lt;br&amp;gt;&lt;br /&gt;
'''Bluetooth:''' 5.0 (including Bluetooth Low Energy) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Sensors:''' Accelerometer, Heart rate sensor &amp;lt;br&amp;gt;&lt;br /&gt;
'''Feedback:''' Vibration motor &amp;lt;br&amp;gt;&lt;br /&gt;
'''Battery:''' 170-180mAh LiPo&lt;br /&gt;
&lt;br /&gt;
== SWD Pinout ==&lt;br /&gt;
The devkits have exposed SWD pins for flashing and debugging. The pinout is:&lt;br /&gt;
[[File:PineTime_SWD_location.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Driving the peripherals ==&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
&lt;br /&gt;
Note: The factory-default software on the PineTime does not auto-detect the display being disconnected when it has already booted. That can cause garbled output, to fix it just restart the PineTime.&lt;br /&gt;
&lt;br /&gt;
The display is driven using the ST7789 display controller. Use the following pins to drive the screen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! PineTime pin&lt;br /&gt;
! ST7789 pin&lt;br /&gt;
|-&lt;br /&gt;
| LCD_SCK (P0.02)&lt;br /&gt;
| SPI clock&lt;br /&gt;
|-&lt;br /&gt;
| LCD_SDI (P0.03)&lt;br /&gt;
| SPI MOSI&lt;br /&gt;
|-&lt;br /&gt;
| LCD_RS (P0.18)&lt;br /&gt;
| Clock/data pin (CD)&lt;br /&gt;
|-&lt;br /&gt;
| LCD_CS (P0.25)&lt;br /&gt;
| Chip select&lt;br /&gt;
|-&lt;br /&gt;
| LCD_RESET (P0.26)&lt;br /&gt;
| Display reset&lt;br /&gt;
|-&lt;br /&gt;
| LCD_BACKLIGHT_{LOW,MID,HIGH}&lt;br /&gt;
| Backlight (active low)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
* Chip select must be held low while driving the display. It must be high when using other SPI devices on the same bus (such as external flash storage) so that the display controller won't respond to the wrong commands.&lt;br /&gt;
* SPI must be used in mode 3. Mode 0 (the default) won't work.&lt;br /&gt;
* LCD_DISPLAY_* is used to enable the backlight. Set at least one to low to see anything on the screen.&lt;br /&gt;
* Use SPI at 8MHz (the fastest clock available on the nRF52832) because otherwise refreshing will be super slow.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
&lt;br /&gt;
Reading whether the PineTime has power attached is easy: simply read the charge indication pin (P0.12). When it is high it is running on battery, when it is low it is charging.&lt;br /&gt;
&lt;br /&gt;
Reading the battery voltage is a bit harder. For that you can use the battery voltage pin on P0.31 (AIN7). The returned value is 12 bits, which means it is 0..4095. You can get the measured voltage with the following formula, assuming a reference voltage of 3.3V (this is configurable in the ADC):&lt;br /&gt;
&lt;br /&gt;
 adcVoltage = adcValue / (4095 / 3.3)&lt;br /&gt;
&lt;br /&gt;
The measured voltage is actually half of the actual battery voltage, because the ADC is connected between a voltage divider where both resistors are 1MΩ. This can be corrected by multiplying the value:&lt;br /&gt;
&lt;br /&gt;
 batteryVoltage = adcValue * 2 / (4095 / 3.3)&lt;br /&gt;
&lt;br /&gt;
It's often better to avoid floating point values on embedded systems and in this case there is no reason to use float at all, we can just represent the value in millivolts. Therefore the formula can be simplified to:&lt;br /&gt;
&lt;br /&gt;
 batteryVoltage = adcValue * 2000 / (4095 / 3.3)&lt;br /&gt;
 batteryVoltage = adcValue * 2000 / 1241&lt;br /&gt;
&lt;br /&gt;
Converting this voltage to an estimated capacity in percent requires a more complicated algorithm, because Lithium-ion batteries have a non-linear discharge curve.&lt;br /&gt;
&lt;br /&gt;
=== Button ===&lt;br /&gt;
&lt;br /&gt;
The button on the side of the PineTime is disabled by default. To enable it, drive the button out pin (P0.15) high.&lt;br /&gt;
&lt;br /&gt;
While enabled, the button in pin (P0.13) will be high when the button is pressed, and low when it is not pressed.&lt;br /&gt;
&lt;br /&gt;
=== Touch panel ===&lt;br /&gt;
&lt;br /&gt;
The touch panel is controlled by a Hynitron CST816S chips. Unfortunately, there is not much information about this chip on the internet apart from the datasheet below and a [https://github.com/lupyuen/hynitron_i2c_cst0xxse/ reference driver]. This is enough to implement a basic driver, but crucial information needed to implement advanced functionalities are missing (I²C protocol and registers, timings, power modes,...).&lt;br /&gt;
&lt;br /&gt;
==== Pins ====&lt;br /&gt;
&lt;br /&gt;
* P0.10 : Reset&lt;br /&gt;
* P0.28 : Interrupt (signal to the CPU when a touch event is detected)&lt;br /&gt;
* P0.06 : I²C SDA&lt;br /&gt;
* P0.07 : I²C SCL&lt;br /&gt;
&lt;br /&gt;
==== I²C ====&lt;br /&gt;
&lt;br /&gt;
* Device address : 0x15&lt;br /&gt;
* Frequency : from 10Khz to 400Khz&lt;br /&gt;
&lt;br /&gt;
'''NOTE : ''' The controller go to sleep when no event is detected. In sleep mode, the controller does not communicate on the I²C bus (it appears disconnected). So, for the communication to work, you need to tap on the screen so that the chip wakes-up.&lt;br /&gt;
&lt;br /&gt;
==== Touch events ====&lt;br /&gt;
&lt;br /&gt;
Touch informations are available in the 63 first registers of the controller. Remember : the device is in sleep mode when no touch event is detected. It means that you can read the register only when the touch controller detected an event. You can use the ''Interrupt'' pin to detect such event in the software. &lt;br /&gt;
&lt;br /&gt;
These 63 bytes contain up to 10 touch point (X, Y, event type, pressure,...) : &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Byte&lt;br /&gt;
! Bit7&lt;br /&gt;
! Bit6&lt;br /&gt;
! Bit5&lt;br /&gt;
! Bit4&lt;br /&gt;
! Bit3&lt;br /&gt;
! Bit2&lt;br /&gt;
! Bit1&lt;br /&gt;
! Bit0&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|?&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|GestureID : (Gesture code ,&lt;br /&gt;
&lt;br /&gt;
0x00: no gesture,&lt;br /&gt;
&lt;br /&gt;
0x01: on a slippery,&lt;br /&gt;
&lt;br /&gt;
0x02: decline,&lt;br /&gt;
&lt;br /&gt;
0x03: Left slip,&lt;br /&gt;
&lt;br /&gt;
0x04: Right slide,&lt;br /&gt;
&lt;br /&gt;
0x05: Click,&lt;br /&gt;
&lt;br /&gt;
0x0B: Double-click,&lt;br /&gt;
&lt;br /&gt;
0x0C: Press) &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|? &lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|Number of touch points &lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|Event (0 = Down, 1 = Up, 2 = Contact)&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|?&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|X (MSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|X (LSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|?&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|Touch ID&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|Y (MSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|Y (LSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|Pressure (?)&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|Miscellaneous (?)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Bytes 3 to 8 are repeated 10 times (10*6 + 3 = 63 bytes).&lt;br /&gt;
&lt;br /&gt;
'''NOTES'''&lt;br /&gt;
&lt;br /&gt;
* The touch controller seems to report only 1 touch point&lt;br /&gt;
* Fields X, Y, Number of touch points and touch ID are updated. The others are always 0.&lt;br /&gt;
&lt;br /&gt;
==== Registers ====&lt;br /&gt;
&lt;br /&gt;
The reference driver specifies some registers and value, but there is no information about them: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
!Register&lt;br /&gt;
!Address&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_INT_CNT&lt;br /&gt;
|0x8F&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_FLOW_WORK_CNT&lt;br /&gt;
|0x91&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_WORKMODE &lt;br /&gt;
|0x00&lt;br /&gt;
|0 = WORK, 0x40 = FACTORY&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_CHIP_ID&lt;br /&gt;
|0xA3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_CHIP_ID2&lt;br /&gt;
|0x9F&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_POWER_MODE&lt;br /&gt;
|0xA5&lt;br /&gt;
|0x05 = SLEEP&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_FW_VER&lt;br /&gt;
|0xA6&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_VENDOR_ID&lt;br /&gt;
|0xA8&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_LCD_BUSY_NUM&lt;br /&gt;
|0xAB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_FACE_DEC_MODE_EN&lt;br /&gt;
|0xB0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_GLOVE_MODE_EN&lt;br /&gt;
|0xC0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_COVER_MODE_EN&lt;br /&gt;
|0xC1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_CHARGER_MODE_EN&lt;br /&gt;
|0x8B&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_GESTURE_EN&lt;br /&gt;
|0xD0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_GESTURE_OUTPUT_ADDRESS&lt;br /&gt;
|0xD3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_ESD_SATURATE 0xED&lt;br /&gt;
|0xED&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''WARNING : ''' Writing the SLEEP command (write 0x05 in HYN_REG_POWER_MODE) seems to freeze the controller (it returns only static values) until the battery is totally drained and the whole system reset. Analysis and debugging is more than welcome!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Programming firmware ==&lt;br /&gt;
&lt;br /&gt;
=== Using JLink programmer and nrfjprog tools ===&lt;br /&gt;
&lt;br /&gt;
The following steps have been tested with the Segger JLink embedded in the [https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52-DK NRF52-DK development board].&lt;br /&gt;
&lt;br /&gt;
1. Connect the Pinetime SWD pins to the debugger (P20 on NRF52-DK)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Pintime&lt;br /&gt;
!JLink&lt;br /&gt;
|-&lt;br /&gt;
|GND&lt;br /&gt;
|GND&lt;br /&gt;
|-&lt;br /&gt;
|SWDCLK&lt;br /&gt;
|SWDCLK&lt;br /&gt;
|-&lt;br /&gt;
|SWDIO&lt;br /&gt;
|SWDIO&lt;br /&gt;
|-&lt;br /&gt;
|VCC (3.3V)&lt;br /&gt;
|VTG (target detect)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
2. Unlock the device and erase the memory. '''You need to execute this step only once, to remove the read protection on the memory. Note that it will erase the whole flash memory of the MCU!''' :&lt;br /&gt;
 &lt;br /&gt;
 nrfjporg -f NRF52 --recover&lt;br /&gt;
&lt;br /&gt;
3. Program the BLE softdevice (if needed by the firmware). Replace PATH_TO_NRF_SDK by the path where you unzipped the [https://www.nordicsemi.com/Software-and-Tools/Software/nRF5-SDK NRF52 SDK] :&lt;br /&gt;
&lt;br /&gt;
 nrfjprog -f NRF52 --program /PATH_TO_NRF_SDK/components/softdevice/s132/hex/s132_nrf52_6.1.1_softdevice.hex --sectorerase&lt;br /&gt;
&lt;br /&gt;
4. Program the firmware (replace firmware.hex by the actual filename of the firmware):&lt;br /&gt;
&lt;br /&gt;
 nrfjprog -f NRF52 --program firmware.hex --sectorerase&lt;br /&gt;
&lt;br /&gt;
5. Reset and run the new firmware:&lt;br /&gt;
 &lt;br /&gt;
 nrfjprog -f NRF52 --reset&lt;br /&gt;
&lt;br /&gt;
=== Using OpenOCD and a Raspberry Pi ===&lt;br /&gt;
&lt;br /&gt;
Instructions in [https://medium.com/@ly.lee/build-and-flash-rust-mynewt-firmware-for-pinetime-smart-watch-5e14259c55 Medium post]&lt;br /&gt;
&lt;br /&gt;
=== Using STM32 bluepill as blackmagic probe ===&lt;br /&gt;
&lt;br /&gt;
Instructions in [https://forum.pine64.org/showthread.php?tid=8816&amp;amp;pid=57095#pid57095 forum post]&lt;br /&gt;
&lt;br /&gt;
== Manual / Articles ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/najnesnaj/pinetime-zephyr Beginner manual explained how you to programs and install zephyr on PineTime Dev Kit, big thanks to najnesnaj :-)]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/swlh/sneak-peek-of-pinetime-smart-watch-and-why-its-perfect-for-teaching-iot-81b74161c159 Sneak Peek of PineTime Smart Watch… And why it’s perfect for teaching IoT]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/@ly.lee/building-a-rust-driver-for-pinetimes-touch-controller-cbc1a5d5d3e9 Building a Rust Driver for PineTime’s Touch Controller]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/@ly.lee/porting-druid-rust-widgets-to-pinetime-smart-watch-7e1d5a5d977a Porting (druid) Rust Widgets to PineTime Smart Watch]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/@ly.lee/optimising-pinetimes-display-driver-with-rust-and-mynewt-3ba269ea2f5c Optimising PineTime’s Display Driver with Rust and Mynewt]&lt;br /&gt;
&lt;br /&gt;
* [https://www.zephyrproject.org/getting-started-with-zephyr-rtos-on-nordic-nrf52832-hackable/ Getting Started with Zephyr RTOS on Nordic nRF52832 hackaBLE]&lt;br /&gt;
&lt;br /&gt;
* [https://blog.aegrel.ee/absniffer-cmsis-dap-sniffer.html Removing the lock and installing another firmware on the nRF52832 using CMSIS-DAP dongle on Linux]&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/JF002/nrf52-baseproject/wiki/Build,-program-and-debug-NRF52-project-with-JLink,-CMake-and-CLion Build, program and debug NRF52 project with JLink, CMake and CLion]&lt;br /&gt;
&lt;br /&gt;
* [https://www.nrbtech.io/blog/2020/1/4/using-clion-for-nordic-nrf52-projects Using CLion for Nordic nRF52 projects]&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.pine64.org/index.php/Frequently_asked_questions_about_the_PineTime Frequently asked questions about the dev kit]&lt;br /&gt;
&lt;br /&gt;
* [https://dev.to/aaronc81/flashing-your-pinetime-using-an-st-link-and-openocd-54dd Flashing your PineTime using an ST-Link and OpenOCD]&lt;br /&gt;
&lt;br /&gt;
== Development efforts ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! Project Homepage&lt;br /&gt;
! Project Source&lt;br /&gt;
! PineTime Implementations&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! FreeRTOS&lt;br /&gt;
|https://www.freertos.org&lt;br /&gt;
| https://sourceforge.net/projects/freertos/&lt;br /&gt;
| [https://github.com/JF002/Pinetime JF002/Pinetime]&lt;br /&gt;
[https://github.com/kaythe/pinetime-os kaythe/pinetime-os]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Zephyr&lt;br /&gt;
| https://www.zephyrproject.org&lt;br /&gt;
| https://github.com/zephyrproject-rtos/zephyr&lt;br /&gt;
| [https://github.com/najnesnaj/pinetime-zephyr najnesnaj/pinetime-zephyr]&lt;br /&gt;
[https://github.com/SuperPrower/pinetime_zephyr_sample_fw SuperPrower/pinetime_zephyr_sample_fw]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! mynewt&lt;br /&gt;
| https://mynewt.apache.org/about/&lt;br /&gt;
| https://github.com/apache/mynewt-core&lt;br /&gt;
| [https://github.com/lupyuen/pinetime-rust-mynewt lupyuen/pinetime-rust-mynewt]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! MbedOS&lt;br /&gt;
| https://os.mbed.com&lt;br /&gt;
| https://github.com/ARMmbed/mbed-os&lt;br /&gt;
| [https://github.com/sethitow/awesome-pinetime sethitow/mbed-pinetime]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! RIOT&lt;br /&gt;
| http://riot-os.org/&lt;br /&gt;
| https://github.com/RIOT-OS/RIOT/&lt;br /&gt;
| [https://github.com/bosmoment/PineTime-apps bosmoment/PineTime-apps]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! TinyGo&lt;br /&gt;
| https://tinygo.org&lt;br /&gt;
| https://github.com/tinygo-org/tinygo&lt;br /&gt;
| [https://github.com/aykevl/go-smartwatch aykevl/go-smartwatch]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Datasheets and Schematics ==&lt;br /&gt;
&lt;br /&gt;
=== Schematics ===&lt;br /&gt;
* [http://files.pine64.org/doc/PineTime/PineTime%20Schematic-V1.0a-20191103.pdf PineTime Schematic ver1.0a]&lt;br /&gt;
* [http://files.pine64.org/doc/PineTime/PineTime%20Port%20Assignment%20rev1.0.pdf PineTime GPIO Port Assignment ver1.0]&lt;br /&gt;
&lt;br /&gt;
=== Component Datasheets ===&lt;br /&gt;
* NORDIC SoC information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/nRF52832%20product%20brief.pdf NORDIC nRF52832 Product Brief]&lt;br /&gt;
* PMU (Power Management Unit) information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/SGM40561.pdf SGMicro SGM40561 Single Cell Charger Datasheet]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/SGMICRO-SGM2036.pdf SGMicro SGM2036 3.3V Low Power Low Dropout RF Linear Regulator Datasheet]&lt;br /&gt;
* SPI Flash information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/MX25L6433F,%203V,%2064Mb,%20v1.6.pdf Macronix 64Mb(8MB) SPI NOR Flash]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/MX25L12835F,%203V,%20128Mb,%20v1.6.pdf Macronix 128Mb(16MB) SPI NOR Flash]&lt;br /&gt;
* LCD Panel:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/PineTime%20LCD%20Panel.jpg 1.3&amp;quot; 240x240 IPS LCD Panel Specification for PineTime]&lt;br /&gt;
** [https://wiki.pine64.org/images/5/54/ST7789V_v1.6.pdf 11.6&amp;quot; Sitronix LCD Driver/Controller Datasheet]&lt;br /&gt;
* Touchpad information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/PineTime%20Touch%20Panel.jpg Touchpad Specification for PineTimel]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/CST816S数据手册V1.1.pdf 11.6&amp;quot; Hynitron CST816S Capacitive Touch Controller Datasheet in Chinese]&lt;br /&gt;
*** [https://wiki.pine64.org/images/5/51/CST816S%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8CV1.1.en.pdf English Translation]&lt;br /&gt;
* Sensor:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/BST-BMA421-FL000.pdf BOSCH BMA421 Triaxial VAcceleration Sensor Product Brief]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/HRS3300%20Heart%20Rate%20Sensor.pdf TianYiHeXin HRS3300 PPG Heart Rate Sensor Data Sheet]&lt;/div&gt;</summary>
		<author><name>Wibble</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PineTime&amp;diff=4665</id>
		<title>PineTime</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PineTime&amp;diff=4665"/>
		<updated>2020-01-20T11:33:08Z</updated>

		<summary type="html">&lt;p&gt;Wibble: /* Development efforts */ update mynewt port link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Frequently asked questions ==&lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/index.php/Frequently_asked_questions_about_the_PineTime Click here to see frequently asked questions]&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
'''Dimensions:''' 37.5 x 40 x 11mm &amp;lt;br&amp;gt;&lt;br /&gt;
'''Weight:''' 38 grams &amp;lt;br&amp;gt;&lt;br /&gt;
'''IP Rating:''' IP67 (waterproof to 1 meter) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Display:'''&lt;br /&gt;
: '''Size:''' 1.3 inches (33mm) diagonal&lt;br /&gt;
: '''Type:''' IPS capacitive touchscreen, RGB 65K colors&lt;br /&gt;
: '''Display Controller:''' ST7789&lt;br /&gt;
: '''Resolution:''' 240x240 pixels &amp;lt;br&amp;gt;&lt;br /&gt;
'''System on Chip:''' Nordic Semiconductor nRF52832 &amp;lt;br&amp;gt;&lt;br /&gt;
'''Flash:''' 512KB with additional 4MB SPI NOR &amp;lt;br&amp;gt;&lt;br /&gt;
'''RAM:''' 64KB &amp;lt;br&amp;gt;&lt;br /&gt;
'''Bluetooth:''' 5.0 (including Bluetooth Low Energy) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Sensors:''' Accelerometer, Heart rate sensor &amp;lt;br&amp;gt;&lt;br /&gt;
'''Feedback:''' Vibration motor &amp;lt;br&amp;gt;&lt;br /&gt;
'''Battery:''' 170-180mAh LiPo&lt;br /&gt;
&lt;br /&gt;
== SWD Pinout ==&lt;br /&gt;
The devkits have exposed SWD pins for flashing and debugging. The pinout is:&lt;br /&gt;
[[File:PineTime_SWD_location.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Driving the peripherals ==&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
&lt;br /&gt;
Note: The factory-default software on the PineTime does not auto-detect the display being disconnected when it has already booted. That can cause garbled output, to fix it just restart the PineTime.&lt;br /&gt;
&lt;br /&gt;
The display is driven using the ST7789 display controller. Use the following pins to drive the screen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! PineTime pin&lt;br /&gt;
! ST7789 pin&lt;br /&gt;
|-&lt;br /&gt;
| LCD_SCK (P0.02)&lt;br /&gt;
| SPI clock&lt;br /&gt;
|-&lt;br /&gt;
| LCD_SDI (P0.03)&lt;br /&gt;
| SPI MOSI&lt;br /&gt;
|-&lt;br /&gt;
| LCD_RS (P0.18)&lt;br /&gt;
| Clock/data pin (CD)&lt;br /&gt;
|-&lt;br /&gt;
| LCD_CS (P0.25)&lt;br /&gt;
| Chip select&lt;br /&gt;
|-&lt;br /&gt;
| LCD_RESET (P0.26)&lt;br /&gt;
| Display reset&lt;br /&gt;
|-&lt;br /&gt;
| LCD_BACKLIGHT_{LOW,MID,HIGH}&lt;br /&gt;
| Backlight (active low)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
* Chip select must be held low while driving the display. It must be high when using other SPI devices on the same bus (such as external flash storage) so that the display controller won't respond to the wrong commands.&lt;br /&gt;
* SPI must be used in mode 3. Mode 0 (the default) won't work.&lt;br /&gt;
* LCD_DISPLAY_* is used to enable the backlight. Set at least one to low to see anything on the screen.&lt;br /&gt;
* Use SPI at 8MHz (the fastest clock available on the nRF52832) because otherwise refreshing will be super slow.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
&lt;br /&gt;
Reading whether the PineTime has power attached is easy: simply read the charge indication pin (P0.12). When it is high it is running on battery, when it is low it is charging.&lt;br /&gt;
&lt;br /&gt;
Reading the battery voltage is a bit harder. For that you can use the battery voltage pin on P0.31 (AIN7). The returned value is 12 bits, which means it is 0..4095. You can get the measured voltage with the following formula, assuming a reference voltage of 3.3V (this is configurable in the ADC):&lt;br /&gt;
&lt;br /&gt;
 adcVoltage = adcValue / (4095 / 3.3)&lt;br /&gt;
&lt;br /&gt;
The measured voltage is actually half of the actual battery voltage, because the ADC is connected between a voltage divider where both resistors are 1MΩ. This can be corrected by multiplying the value:&lt;br /&gt;
&lt;br /&gt;
 batteryVoltage = adcValue * 2 / (4095 / 3.3)&lt;br /&gt;
&lt;br /&gt;
It's often better to avoid floating point values on embedded systems and in this case there is no reason to use float at all, we can just represent the value in millivolts. Therefore the formula can be simplified to:&lt;br /&gt;
&lt;br /&gt;
 batteryVoltage = adcValue * 2000 / (4095 / 3.3)&lt;br /&gt;
 batteryVoltage = adcValue * 2000 / 1241&lt;br /&gt;
&lt;br /&gt;
Converting this voltage to an estimated capacity in percent requires a more complicated algorithm, because Lithium-ion batteries have a non-linear discharge curve.&lt;br /&gt;
&lt;br /&gt;
=== Button ===&lt;br /&gt;
&lt;br /&gt;
The button on the side of the PineTime is disabled by default. To enable it, drive the button out pin (P0.15) high.&lt;br /&gt;
&lt;br /&gt;
While enabled, the button in pin (P0.13) will be high when the button is pressed, and low when it is not pressed.&lt;br /&gt;
&lt;br /&gt;
=== Touch panel ===&lt;br /&gt;
&lt;br /&gt;
The touch panel is controlled by a Hynitron CST816S chips. Unfortunately, there is not much information about this chip on the internet apart from the datasheet below and a [https://github.com/lupyuen/hynitron_i2c_cst0xxse/ reference driver]. This is enough to implement a basic driver, but crucial information needed to implement advanced functionalities are missing (I²C protocol and registers, timings, power modes,...).&lt;br /&gt;
&lt;br /&gt;
==== Pins ====&lt;br /&gt;
&lt;br /&gt;
* P0.10 : Reset&lt;br /&gt;
* P0.28 : Interrupt (signal to the CPU when a touch event is detected)&lt;br /&gt;
* P0.06 : I²C SDA&lt;br /&gt;
* P0.07 : I²C SCL&lt;br /&gt;
&lt;br /&gt;
==== I²C ====&lt;br /&gt;
&lt;br /&gt;
* Device address : 0x15&lt;br /&gt;
* Frequency : from 10Khz to 400Khz&lt;br /&gt;
&lt;br /&gt;
'''NOTE : ''' The controller go to sleep when no event is detected. In sleep mode, the controller does not communicate on the I²C bus (it appears disconnected). So, for the communication to work, you need to tap on the screen so that the chip wakes-up.&lt;br /&gt;
&lt;br /&gt;
==== Touch events ====&lt;br /&gt;
&lt;br /&gt;
Touch informations are available in the 63 first registers of the controller. Remember : the device is in sleep mode when no touch event is detected. It means that you can read the register only when the touch controller detected an event. You can use the ''Interrupt'' pin to detect such event in the software. &lt;br /&gt;
&lt;br /&gt;
These 63 bytes contain up to 10 touch point (X, Y, event type, pressure,...) : &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Byte&lt;br /&gt;
! Bit7&lt;br /&gt;
! Bit6&lt;br /&gt;
! Bit5&lt;br /&gt;
! Bit4&lt;br /&gt;
! Bit3&lt;br /&gt;
! Bit2&lt;br /&gt;
! Bit1&lt;br /&gt;
! Bit0&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|?&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|GestureID : (Gesture code ,&lt;br /&gt;
&lt;br /&gt;
0x00: no gesture,&lt;br /&gt;
&lt;br /&gt;
0x01: on a slippery,&lt;br /&gt;
&lt;br /&gt;
0x02: decline,&lt;br /&gt;
&lt;br /&gt;
0x03: Left slip,&lt;br /&gt;
&lt;br /&gt;
0x04: Right slide,&lt;br /&gt;
&lt;br /&gt;
0x05: Click,&lt;br /&gt;
&lt;br /&gt;
0x0B: Double-click,&lt;br /&gt;
&lt;br /&gt;
0x0C: Press) &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|? &lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|Number of touch points &lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|Event (0 = Down, 1 = Up, 2 = Contact)&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|?&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|X (MSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|X (LSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|?&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|Touch ID&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|Y (MSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|Y (LSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|Pressure (?)&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|Miscellaneous (?)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Bytes 3 to 8 are repeated 10 times (10*6 + 3 = 63 bytes).&lt;br /&gt;
&lt;br /&gt;
'''NOTES'''&lt;br /&gt;
&lt;br /&gt;
* The touch controller seems to report only 1 touch point&lt;br /&gt;
* Fields X, Y, Number of touch points and touch ID are updated. The others are always 0.&lt;br /&gt;
&lt;br /&gt;
==== Registers ====&lt;br /&gt;
&lt;br /&gt;
The reference driver specifies some registers and value, but there is no information about them: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
!Register&lt;br /&gt;
!Address&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_INT_CNT&lt;br /&gt;
|0x8F&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_FLOW_WORK_CNT&lt;br /&gt;
|0x91&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_WORKMODE &lt;br /&gt;
|0x00&lt;br /&gt;
|0 = WORK, 0x40 = FACTORY&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_CHIP_ID&lt;br /&gt;
|0xA3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_CHIP_ID2&lt;br /&gt;
|0x9F&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_POWER_MODE&lt;br /&gt;
|0xA5&lt;br /&gt;
|0x05 = SLEEP&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_FW_VER&lt;br /&gt;
|0xA6&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_VENDOR_ID&lt;br /&gt;
|0xA8&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_LCD_BUSY_NUM&lt;br /&gt;
|0xAB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_FACE_DEC_MODE_EN&lt;br /&gt;
|0xB0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_GLOVE_MODE_EN&lt;br /&gt;
|0xC0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_COVER_MODE_EN&lt;br /&gt;
|0xC1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_CHARGER_MODE_EN&lt;br /&gt;
|0x8B&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_GESTURE_EN&lt;br /&gt;
|0xD0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_GESTURE_OUTPUT_ADDRESS&lt;br /&gt;
|0xD3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_ESD_SATURATE 0xED&lt;br /&gt;
|0xED&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''WARNING : ''' Writing the SLEEP command (write 0x05 in HYN_REG_POWER_MODE) seems to freeze the controller (it returns only static values) until the battery is totally drained and the whole system reset. Analysis and debugging is more than welcome!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Programming firmware ==&lt;br /&gt;
&lt;br /&gt;
=== Using JLink programmer and nrfjprog tools ===&lt;br /&gt;
&lt;br /&gt;
The following steps have been tested with the Segger JLink embedded in the [https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52-DK NRF52-DK development board].&lt;br /&gt;
&lt;br /&gt;
1. Connect the Pinetime SWD pins to the debugger (P20 on NRF52-DK)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Pintime&lt;br /&gt;
!JLink&lt;br /&gt;
|-&lt;br /&gt;
|GND&lt;br /&gt;
|GND&lt;br /&gt;
|-&lt;br /&gt;
|SWDCLK&lt;br /&gt;
|SWDCLK&lt;br /&gt;
|-&lt;br /&gt;
|SWDIO&lt;br /&gt;
|SWDIO&lt;br /&gt;
|-&lt;br /&gt;
|VCC (3.3V)&lt;br /&gt;
|VTG (target detect)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
2. Unlock the device and erase the memory. '''You need to execute this step only once, to remove the read protection on the memory. Note that it will erase the whole flash memory of the MCU!''' :&lt;br /&gt;
 &lt;br /&gt;
 nrfjporg -f NRF52 --recover&lt;br /&gt;
&lt;br /&gt;
3. Program the BLE softdevice (if needed by the firmware). Replace PATH_TO_NRF_SDK by the path where you unzipped the [https://www.nordicsemi.com/Software-and-Tools/Software/nRF5-SDK NRF52 SDK] :&lt;br /&gt;
&lt;br /&gt;
 nrfjprog -f NRF52 --program /PATH_TO_NRF_SDK/components/softdevice/s132/hex/s132_nrf52_6.1.1_softdevice.hex --sectorerase&lt;br /&gt;
&lt;br /&gt;
4. Program the firmware (replace firmware.hex by the actual filename of the firmware):&lt;br /&gt;
&lt;br /&gt;
 nrfjprog -f NRF52 --program firmware.hex --sectorerase&lt;br /&gt;
&lt;br /&gt;
5. Reset and run the new firmware:&lt;br /&gt;
 &lt;br /&gt;
 nrfjprog -f NRF52 --reset&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== Manual / Articles ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/najnesnaj/pinetime-zephyr Beginner manual explained how you to programs and install zephyr on PineTime Dev Kit, big thanks to najnesnaj :-)]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/swlh/sneak-peek-of-pinetime-smart-watch-and-why-its-perfect-for-teaching-iot-81b74161c159 Sneak Peek of PineTime Smart Watch… And why it’s perfect for teaching IoT]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/@ly.lee/building-a-rust-driver-for-pinetimes-touch-controller-cbc1a5d5d3e9 Building a Rust Driver for PineTime’s Touch Controller]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/@ly.lee/porting-druid-rust-widgets-to-pinetime-smart-watch-7e1d5a5d977a Porting (druid) Rust Widgets to PineTime Smart Watch]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/@ly.lee/optimising-pinetimes-display-driver-with-rust-and-mynewt-3ba269ea2f5c Optimising PineTime’s Display Driver with Rust and Mynewt]&lt;br /&gt;
&lt;br /&gt;
* [https://www.zephyrproject.org/getting-started-with-zephyr-rtos-on-nordic-nrf52832-hackable/ Getting Started with Zephyr RTOS on Nordic nRF52832 hackaBLE]&lt;br /&gt;
&lt;br /&gt;
* [https://blog.aegrel.ee/absniffer-cmsis-dap-sniffer.html Removing the lock and installing another firmware on the nRF52832 using CMSIS-DAP dongle on Linux]&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/JF002/nrf52-baseproject/wiki/Build,-program-and-debug-NRF52-project-with-JLink,-CMake-and-CLion Build, program and debug NRF52 project with JLink, CMake and CLion]&lt;br /&gt;
&lt;br /&gt;
* [https://www.nrbtech.io/blog/2020/1/4/using-clion-for-nordic-nrf52-projects Using CLion for Nordic nRF52 projects]&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.pine64.org/index.php/Frequently_asked_questions_about_the_PineTime Frequently asked questions about the dev kit]&lt;br /&gt;
&lt;br /&gt;
* [https://dev.to/aaronc81/flashing-your-pinetime-using-an-st-link-and-openocd-54dd Flashing your PineTime using an ST-Link and OpenOCD]&lt;br /&gt;
&lt;br /&gt;
== Development efforts ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! Project Homepage&lt;br /&gt;
! Project Source&lt;br /&gt;
! PineTime Implementations&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! FreeRTOS&lt;br /&gt;
|https://www.freertos.org&lt;br /&gt;
| https://sourceforge.net/projects/freertos/&lt;br /&gt;
| [https://github.com/JF002/Pinetime JF002/Pinetime]&lt;br /&gt;
[https://github.com/kaythe/pinetime-os kaythe/pinetime-os]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Zephyr&lt;br /&gt;
| https://www.zephyrproject.org&lt;br /&gt;
| https://github.com/zephyrproject-rtos/zephyr&lt;br /&gt;
| [https://github.com/najnesnaj/pinetime-zephyr najnesnaj/pinetime-zephyr]&lt;br /&gt;
[https://github.com/SuperPrower/pinetime_zephyr_sample_fw SuperPrower/pinetime_zephyr_sample_fw]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! mynewt&lt;br /&gt;
| https://mynewt.apache.org/about/&lt;br /&gt;
| https://github.com/apache/mynewt-core&lt;br /&gt;
| [https://github.com/lupyuen/pinetime-rust-mynewt lupyuen/pinetime-rust-mynewt]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! MbedOS&lt;br /&gt;
| https://os.mbed.com&lt;br /&gt;
| https://github.com/ARMmbed/mbed-os&lt;br /&gt;
| [https://github.com/sethitow/awesome-pinetime sethitow/mbed-pinetime]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! RIOT&lt;br /&gt;
| http://riot-os.org/&lt;br /&gt;
| https://github.com/RIOT-OS/RIOT/&lt;br /&gt;
| [https://github.com/bosmoment/PineTime-apps bosmoment/PineTime-apps]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! TinyGo&lt;br /&gt;
| https://tinygo.org&lt;br /&gt;
| https://github.com/tinygo-org/tinygo&lt;br /&gt;
| [https://github.com/aykevl/go-smartwatch aykevl/go-smartwatch]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Datasheets and Schematics ==&lt;br /&gt;
&lt;br /&gt;
=== Schematics ===&lt;br /&gt;
* [http://files.pine64.org/doc/PineTime/PineTime%20Schematic-V1.0a-20191103.pdf PineTime Schematic ver1.0a]&lt;br /&gt;
* [http://files.pine64.org/doc/PineTime/PineTime%20Port%20Assignment%20rev1.0.pdf PineTime GPIO Port Assignment ver1.0]&lt;br /&gt;
&lt;br /&gt;
=== Component Datasheets ===&lt;br /&gt;
* NORDIC SoC information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/nRF52832%20product%20brief.pdf NORDIC nRF52832 Product Brief]&lt;br /&gt;
* PMU (Power Management Unit) information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/SGM40561.pdf SGMicro SGM40561 Single Cell Charger Datasheet]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/SGMICRO-SGM2036.pdf SGMicro SGM2036 3.3V Low Power Low Dropout RF Linear Regulator Datasheet]&lt;br /&gt;
* SPI Flash information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/MX25L6433F,%203V,%2064Mb,%20v1.6.pdf Macronix 64Mb(8MB) SPI NOR Flash]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/MX25L12835F,%203V,%20128Mb,%20v1.6.pdf Macronix 128Mb(16MB) SPI NOR Flash]&lt;br /&gt;
* LCD Panel:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/PineTime%20LCD%20Panel.jpg 1.3&amp;quot; 240x240 IPS LCD Panel Specification for PineTime]&lt;br /&gt;
** [https://wiki.pine64.org/images/5/54/ST7789V_v1.6.pdf 11.6&amp;quot; Sitronix LCD Driver/Controller Datasheet]&lt;br /&gt;
* Touchpad information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/PineTime%20Touch%20Panel.jpg Touchpad Specification for PineTimel]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/CST816S数据手册V1.1.pdf 11.6&amp;quot; Hynitron CST816S Capacitive Touch Controller Datasheet in Chinese]&lt;br /&gt;
*** [https://wiki.pine64.org/images/5/51/CST816S%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8CV1.1.en.pdf English Translation]&lt;br /&gt;
* Sensor:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/BST-BMA421-FL000.pdf BOSCH BMA421 Triaxial VAcceleration Sensor Product Brief]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/HRS3300%20Heart%20Rate%20Sensor.pdf TianYiHeXin HRS3300 PPG Heart Rate Sensor Data Sheet]&lt;/div&gt;</summary>
		<author><name>Wibble</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PinePhone&amp;diff=4418</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PinePhone&amp;diff=4418"/>
		<updated>2019-12-31T11:06:19Z</updated>

		<summary type="html">&lt;p&gt;Wibble: /* Battery */ add detail of charging from fully discharged&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The PinePhone is a smartphone created by Pine64, capable of running mainline Linux and supported by many partner projects. A &amp;quot;braveheart&amp;quot; edition is currently available for purchase from the PINE64 store, though it should be noted that this version comes without a preinstalled OS, and is geared specifically towards tinkerers and hackers. People looking for a stable consumer-grade phone should wait for the final release, which is expected to occur in March 2020 and will be available for at least five years.&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
'''Dimensions:''' 160.5 x 76.6 x 9.2mm &amp;lt;br&amp;gt;&lt;br /&gt;
'''Weight:''' Between 180-200 grams &amp;lt;br&amp;gt;&lt;br /&gt;
'''SIM Card:''' Micro-SIM &amp;lt;br&amp;gt;&lt;br /&gt;
'''Display:'''&lt;br /&gt;
: '''Size:''' 5.95 inches (151mm) diagonal&lt;br /&gt;
: '''Type:''' HD IPS capacitive touchscreen, 16M colors&lt;br /&gt;
: '''Resolution:''' 1440x720, 18:9 ratio &amp;lt;br&amp;gt;&lt;br /&gt;
'''System on Chip:''' [https://linux-sunxi.org/A64 Allwinner A64] &amp;lt;br&amp;gt;&lt;br /&gt;
'''RAM:''' 2GB LPDDR3 SDRAM &amp;lt;br&amp;gt;&lt;br /&gt;
'''Internal Storage:''' 16GB eMMC, extendable up to 2TB via microSD, supports SDHC and SDXC &amp;lt;br&amp;gt;&lt;br /&gt;
'''Back Camera:''' Single 5MP, 1/4&amp;quot;, LED Flash &amp;lt;br&amp;gt;&lt;br /&gt;
'''Selfie Camera:''' Single 2MP, f/2.8, 1/5&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
'''Sound:''' Loudspeaker, 3.5mm jack &amp;amp; mic (jack doubles as hardware UART if killswitch 6 is deactivated) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Communication: [http://files.pine64.org/doc/datasheet/project_anakin/LTE_module/Quectel_EG25-G_LTE_Specification_V1.1_Preliminary_20180522%20(002).pdf EG25-G]'''&lt;br /&gt;
: '''LTE:''' B1, B2, B3, B4, B5, B7, B8, B12, B13, B18, B19, B20, B25, B26, B28, B38, B39, B40, B41&lt;br /&gt;
: '''WCDMA:''' B1, B2, B4, B5, B6, B8, B19&lt;br /&gt;
: '''GSM:''' 850, 900, 1800, 1900 (MHz)&lt;br /&gt;
: '''WLAN:''' Wi-Fi 802.11 b/g/n, single-band, hotspot&lt;br /&gt;
: '''Bluetooth:''' 4.0, A2DP&lt;br /&gt;
: '''GNSS:''' GPS/GLONASS/BeiDou/Galileo/QZSS, with A-GPS&lt;br /&gt;
'''Sensors:''' Accelerometer, gyro, proximity, ambient light, compass &amp;lt;br&amp;gt;&lt;br /&gt;
'''[[#Killswitch configuration|Killswitches]]:''' Modem, Wifi &amp;amp; Bluetooth, Microphone, Cameras &amp;lt;br&amp;gt;&lt;br /&gt;
'''[[#Battery|Battery]]:''' 2750-3000 mAh [https://wiki.pine64.org/images/0/04/PinePhone_Battery_model_QZ01-396172-2750.pdf Lithium ion] (nominally replaceable with any Samsung J7 form-factor battery) &amp;lt;br&amp;gt;&lt;br /&gt;
'''I/O:''' USB Type-C (SlimPort), USB Host, DisplayPort Alternate Mode output, 15W 5V 3A Quick Charge, follows USB PD specification&lt;br /&gt;
&lt;br /&gt;
== Hardware Revisions ==&lt;br /&gt;
&lt;br /&gt;
# [[Project Don't be evil|&amp;quot;Project Don't Be Evil&amp;quot; devkit]]&lt;br /&gt;
# PinePhone v1.0 - Developer batch&lt;br /&gt;
# [[PinePhone v1.1 - Braveheart]]&lt;br /&gt;
&lt;br /&gt;
== Hardware Addons ==&lt;br /&gt;
&lt;br /&gt;
The PinePhone has 6 &amp;quot;pogo pins&amp;quot; on the back allowing for custom hardware extensions such as wireless charging or an IR blaster. The pogo pins provide access to an interrupt line, power input to charge the battery, 3.3v power source, and an I2C interface.&lt;br /&gt;
&lt;br /&gt;
A step file for the back cover is [https://app.box.com/s/g1n9cvg60cg66utdhs7m5my1ftvd0jj8 freely available] for creating custom cases that interface with the pogo pins.&lt;br /&gt;
&lt;br /&gt;
== Killswitch configuration ==&lt;br /&gt;
&lt;br /&gt;
The PinePhone features six switches that can be used to configure its hardware. They are numbered 1-6, with switch 1 located nearest to the modem. Their on position is toward the top of the phone.&lt;br /&gt;
&lt;br /&gt;
[[File:PinePhone-main-board.jpg|600px|thumb|centre|Photo of Developer mainboard courtesy of Martijn Braam, postmarketOS]]&lt;br /&gt;
&lt;br /&gt;
# Modem: On enables 2G/3G/4G communication and GNSS hardware, off disables.&lt;br /&gt;
# WiFi/BT: On enables Wi-Fi and Bluetooth communication hardware, off disables.&lt;br /&gt;
# Microphone: On enables audio input from on-board microphones (not 3.5mm jack), off disables.&lt;br /&gt;
# Rear camera: On enables the rear camera, off disables.&lt;br /&gt;
# Front camera: On enables the front camera, off disables.&lt;br /&gt;
# Headphone: On enables audio input and output via the 3.5mm audio jack, off switches the jack to hardware UART mode.&lt;br /&gt;
&lt;br /&gt;
== Battery ==&lt;br /&gt;
&lt;br /&gt;
The [https://wiki.pine64.org/images/0/04/PinePhone_Battery_model_QZ01-396172-2750.pdf supplied battery] is [https://forum.pine64.org/showthread.php?tid=8120&amp;amp;pid=53307#pid53307 meant to be] compatible with Samsung part number EB-BJ700BBC / BBE / CBE from the 2015 J7 phone. There is [https://forum.pine64.org/showthread.php?tid=8563&amp;amp;pid=55053#pid55053 a report] that the EB-BJ700CBE isn't quite the same size, causing the back not to fit properly.&lt;br /&gt;
&lt;br /&gt;
The battery terminals, in order from nearest the edge to nearest the middle, are:&lt;br /&gt;
&lt;br /&gt;
# +ve&lt;br /&gt;
# thermistor&lt;br /&gt;
# -ve&lt;br /&gt;
# not connected&lt;br /&gt;
&lt;br /&gt;
The battery includes a protection circuit that isolates it in a number of fault conditions, including if it is discharged too far. The fully discharged battery [https://forum.pine64.org/showthread.php?tid=8563&amp;amp;pid=55377#pid55377 can be recharged] by connecting the phone to a charger. Once it has charged sufficiently you wil be able to boot the phone.&lt;br /&gt;
&lt;br /&gt;
== Modem and Carrier Support ==&lt;br /&gt;
&lt;br /&gt;
To check if the PinePhone is supported on your carrier: &lt;br /&gt;
&lt;br /&gt;
Search for your carrier on [https://www.frequencycheck.com/ frequencycheck.com] and compare the carrier's LTE/GSM/WCDMA frequencies to the PinePhone's supported frequencies (listed under the [[#Specifications|specifications]] section).&lt;br /&gt;
&lt;br /&gt;
It is likely that there will be a few frequencies that your carrier uses which are not supported by the PinePhone. Not all of the carrier's frequencies need to be supported by the PinePhone for it to work - as long as ''most'' of them are supported, you will still get good coverage.&lt;br /&gt;
&lt;br /&gt;
== Operating Systems ==&lt;br /&gt;
The PinePhone will automatically boot from microSD if a bootable card is inserted. Although it is technically possible to use any ARM distro (because the PinePhone uses the mainline kernel), there are a few that are designed specifically for phones:&lt;br /&gt;
* [[#postmarketOS|postmarketOS]]&lt;br /&gt;
* [[#Ubuntu Touch|Ubuntu Touch]]&lt;br /&gt;
* [[#Sailfish OS|Sailfish OS]]&lt;br /&gt;
* [[#Maemo Leste|Maemo Leste]]&lt;br /&gt;
* [[#LuneOS|LuneOS]]&lt;br /&gt;
&lt;br /&gt;
=== postmarketOS ===&lt;br /&gt;
postmarketOS is a preconfigured version of [https://www.alpinelinux.org/ Alpine Linux] for mobile devices. The latest builds can be downloaded from the [https://images.postmarketos.org/pinephone/ images page] to be flashed to the PinePhone.&lt;br /&gt;
&lt;br /&gt;
More information is available at [https://postmarketos.org postmarketos.org] and on their [https://wiki.postmarketos.org/wiki/PINE64_PinePhone_(pine64-pinephone) dedicated PinePhone wiki page].&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu Touch ===&lt;br /&gt;
[https://ubuntu-touch.io/ Ubuntu touch] is a mobile version of Ubuntu developed by the UBports community. Images can be downloaded from [https://ci.ubports.com/job/rootfs/job/rootfs-pinephone/ here]. The default password is &amp;lt;code&amp;gt;phablet&amp;lt;/code&amp;gt;. In the future, Ubuntu Touch will be able to be installed onto the PinePhone with the [https://ubuntu-touch.io/get-ut UBports installer] GUI tool. &lt;br /&gt;
&lt;br /&gt;
=== Sailfish OS ===&lt;br /&gt;
The latest Sailfish OS image can be installed using the [https://raw.githubusercontent.com/sailfish-on-dontbeevil/flash-it/master/flash-it.sh flashing script].&lt;br /&gt;
&lt;br /&gt;
The script downloads the image and bootloader, extracts everything and burns it onto the SD card. '''Note:''' The script will format and erase the SD card!&lt;br /&gt;
&lt;br /&gt;
'''Instructions:'''&lt;br /&gt;
# Download the flashing script&lt;br /&gt;
# Insert a microSD card in your device&lt;br /&gt;
# Make the script executable: &amp;lt;code&amp;gt;chmod +x flash-it.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
# Execute it: &amp;lt;code&amp;gt;./flash-it.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
# Follow the instructions. Some commands in the script require root permissions.&lt;br /&gt;
&lt;br /&gt;
=== Nemo Mobile ===&lt;br /&gt;
Nemo Mobile is the open source build of Sailfish OS. The latest images for the PinePhone are released [https://github.com/neochapay/nemo-device-dont_be_evil/releases here].&lt;br /&gt;
&lt;br /&gt;
=== Maemo Leste ===&lt;br /&gt;
[https://maemo-leste.github.io/ Maemo Leste] images can be downloaded [https://maedevu.maemo.org/images/pinephone-dontbeevil/ here]. The default username is &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; and the password is &amp;lt;code&amp;gt;toor&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== LuneOS ===&lt;br /&gt;
[https://www.webos-ports.org/wiki/Main_Page LuneOS] downloads are available [http://build.webos-ports.org/luneos-testing/images/pinephone/ here].&lt;/div&gt;</summary>
		<author><name>Wibble</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PinePhone&amp;diff=4288</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PinePhone&amp;diff=4288"/>
		<updated>2019-12-22T00:53:46Z</updated>

		<summary type="html">&lt;p&gt;Wibble: Add section with more detailed battery info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The PinePhone is a smartphone created by Pine64, capable of running mainline Linux and supported by many partner projects. A &amp;quot;braveheart&amp;quot; edition is currently available for purchase from the PINE64 store, though it should be noted that this version comes without a preinstalled OS, and is geared specifically towards tinkerers and hackers. People looking for a stable consumer-grade phone should wait for the final release, which is expected to occur in March 2020 and will be available for at least five years.&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
'''Dimensions:''' 160.5 x 76.6 x 9.2mm &amp;lt;br&amp;gt;&lt;br /&gt;
'''Weight:''' Between 180-200 grams &amp;lt;br&amp;gt;&lt;br /&gt;
'''Build:''' Plastic &amp;lt;br&amp;gt;&lt;br /&gt;
'''SIM Card:''' Micro-SIM &amp;lt;br&amp;gt;&lt;br /&gt;
'''Display:'''&lt;br /&gt;
: '''Size:''' 5.95 inches (151mm) diagonal&lt;br /&gt;
: '''Type:''' HD IPS capacitive touchscreen, 16M colors&lt;br /&gt;
: '''Resolution:''' 1440x720, 18:9 ratio &amp;lt;br&amp;gt;&lt;br /&gt;
'''System on Chip:''' [https://linux-sunxi.org/A64 Allwinner A64] &amp;lt;br&amp;gt;&lt;br /&gt;
'''RAM:''' 2GB LPDDR3 SDRAM &amp;lt;br&amp;gt;&lt;br /&gt;
'''Internal Storage:''' 16GB eMMC, extendable up to 2TB via microSD, supports SDHC and SDXC &amp;lt;br&amp;gt;&lt;br /&gt;
'''Back Camera:''' Single 5MP, 1/4&amp;quot;, LED Flash &amp;lt;br&amp;gt;&lt;br /&gt;
'''Selfie Camera:''' Single 2MP, f/2.8, 1/5&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
'''Sound:''' Loudspeaker, 3.5mm jack &amp;amp; mic (jack doubles as hardware UART if killswitch 6 is deactivated) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Communication: [http://files.pine64.org/doc/datasheet/project_anakin/LTE_module/Quectel_EG25-G_LTE_Specification_V1.1_Preliminary_20180522%20(002).pdf EG25-G]'''&lt;br /&gt;
: '''LTE:''' B1, B2, B3, B4, B5, B7, B8, B12, B13, B18, B19, B20, B25, B26, B28, B38, B39, B40, B41&lt;br /&gt;
: '''WCDMA:''' B1, B2, B4, B5, B6, B8, B19&lt;br /&gt;
: '''GSM:''' 850, 900, 1800, 1900 (MHz)&lt;br /&gt;
: '''WLAN:''' Wi-Fi 802.11 b/g/n, single-band, hotspot&lt;br /&gt;
: '''Bluetooth:''' 4.0, A2DP&lt;br /&gt;
: '''GNSS:''' GPS/GLONASS/BeiDou/Galileo/QZSS, with A-GPS&lt;br /&gt;
'''Sensors:''' Accelerometer, gyro, proximity, ambient light, compass &amp;lt;br&amp;gt;&lt;br /&gt;
'''[[#Killswitch configuration|Killswitches]]:''' Modem, Wifi &amp;amp; Bluetooth, Microphone, Cameras &amp;lt;br&amp;gt;&lt;br /&gt;
'''[[#Battery|Battery]]:''' 2750-3000 mAh [https://wiki.pine64.org/images/0/04/PinePhone_Battery_model_QZ01-396172-2750.pdf Lithium ion] (nominally replaceable with any Samsung J7 form-factor battery) &amp;lt;br&amp;gt;&lt;br /&gt;
'''I/O:''' USB Type-C (SlimPort), USB Host, DisplayPort Alternate Mode output, 15W 5V 3A Quick Charge, follows USB PD specification&lt;br /&gt;
&lt;br /&gt;
== Hardware Revisions ==&lt;br /&gt;
&lt;br /&gt;
# [[Project Don't be evil|&amp;quot;Project Don't Be Evil&amp;quot; devkit]]&lt;br /&gt;
# PinePhone v1.0 - Developer batch&lt;br /&gt;
# [[PinePhone v1.1 - Braveheart]]&lt;br /&gt;
&lt;br /&gt;
== Hardware Addons ==&lt;br /&gt;
&lt;br /&gt;
The PinePhone has 6 &amp;quot;pogo pins&amp;quot; on the back allowing for custom hardware extensions such as wireless charging or an IR blaster. The pogo pins provide access to an interrupt line, power input to charge the battery, 3.3v power source, and an I2C interface.&lt;br /&gt;
&lt;br /&gt;
A step file for the back cover is [https://app.box.com/s/g1n9cvg60cg66utdhs7m5my1ftvd0jj8 freely available] for creating custom cases that interface with the pogo pins.&lt;br /&gt;
&lt;br /&gt;
== Killswitch configuration ==&lt;br /&gt;
&lt;br /&gt;
The PinePhone features six switches that can be used to configure its hardware. They are numbered 1-6, with switch 1 located nearest to the modem. Their on position is toward the top of the phone.&lt;br /&gt;
&lt;br /&gt;
[[File:PinePhone-main-board.jpg|600px|thumb|centre|Photo of Developer mainboard courtesy of Martijn Braam, postmarketOS]]&lt;br /&gt;
&lt;br /&gt;
# Modem: On enables 2G/3G/4G communication and GNSS hardware, off disables.&lt;br /&gt;
# WiFi/BT: On enables Wi-Fi and Bluetooth communication hardware, off disables.&lt;br /&gt;
# Microphone: On enables audio input from on-board microphones (not 3.5mm jack), off disables.&lt;br /&gt;
# Rear camera: On enables the rear camera, off disables.&lt;br /&gt;
# Front camera: On enables the front camera, off disables.&lt;br /&gt;
# Headphone: On enables audio input and output via the 3.5mm audio jack, off switches the jack to hardware UART mode.&lt;br /&gt;
&lt;br /&gt;
== Battery ==&lt;br /&gt;
&lt;br /&gt;
The [https://wiki.pine64.org/images/0/04/PinePhone_Battery_model_QZ01-396172-2750.pdf supplied battery] is [https://forum.pine64.org/showthread.php?tid=8120&amp;amp;pid=53307#pid53307 meant to be] compatible with Samsung part number EB-BJ700BBC / BBE / CBE from the 2015 J7 phone. There is [https://forum.pine64.org/showthread.php?tid=8563&amp;amp;pid=55053#pid55053 a report] that the EB-BJ700CBE isn't quite the same size, causing the back not to fit properly.&lt;br /&gt;
&lt;br /&gt;
The battery terminals, in order from nearest the edge to nearest the middle, are:&lt;br /&gt;
&lt;br /&gt;
# +ve&lt;br /&gt;
# thermistor&lt;br /&gt;
# -ve&lt;br /&gt;
# not connected&lt;br /&gt;
&lt;br /&gt;
The battery includes a protection circuit that isolates it in a number of fault conditions, including if it is discharged too far.&lt;br /&gt;
&lt;br /&gt;
== Modem and Carrier Support ==&lt;br /&gt;
&lt;br /&gt;
To check if the PinePhone is supported on your carrier: &lt;br /&gt;
&lt;br /&gt;
Search for your carrier on [https://www.frequencycheck.com/ frequencycheck.com] and compare the carrier's LTE/GSM/WCDMA frequencies to the PinePhone's supported frequencies (listed under the [[#Specifications|specifications]] section).&lt;br /&gt;
&lt;br /&gt;
It is likely that there will be a few frequencies that your carrier uses which are not supported by the PinePhone. Not all of the carrier's frequencies need to be supported by the PinePhone for it to work - as long as ''most'' of them are supported, you will still get good coverage.&lt;br /&gt;
&lt;br /&gt;
== Operating Systems ==&lt;br /&gt;
The PinePhone will automatically boot from microSD if a bootable card is inserted. Although it is technically possible to use any ARM distro (because the PinePhone uses the mainline kernel), there are a few that are designed specifically for phones:&lt;br /&gt;
* [[#postmarketOS|postmarketOS]]&lt;br /&gt;
* [[#Ubuntu Touch|Ubuntu Touch]]&lt;br /&gt;
* [[#Sailfish OS|Sailfish OS]]&lt;br /&gt;
* [[#Maemo Leste|Maemo Leste]]&lt;br /&gt;
* [[#LuneOS|LuneOS]]&lt;br /&gt;
&lt;br /&gt;
=== postmarketOS ===&lt;br /&gt;
postmarketOS is a preconfigured version of [https://www.alpinelinux.org/ Alpine Linux] for mobile devices. The latest builds can be downloaded from the [https://images.postmarketos.org/pinephone/ images page] to be flashed to the PinePhone.&lt;br /&gt;
&lt;br /&gt;
More information is available at [https://postmarketos.org postmarketos.org] and on their [https://wiki.postmarketos.org/wiki/PINE64_PinePhone_(pine64-pinephone) dedicated PinePhone wiki page].&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu Touch ===&lt;br /&gt;
[https://ubuntu-touch.io/ Ubuntu touch] is a mobile version of Ubuntu developed by the UBports community. Images can be downloaded from [https://ci.ubports.com/job/rootfs/job/rootfs-pinephone/ here]. The default password is &amp;lt;code&amp;gt;phablet&amp;lt;/code&amp;gt;. In the future, Ubuntu Touch will be able to be installed onto the PinePhone with the [https://ubuntu-touch.io/get-ut UBports installer] GUI tool. &lt;br /&gt;
&lt;br /&gt;
=== Sailfish OS ===&lt;br /&gt;
The latest Sailfish OS image can be installed using the [https://raw.githubusercontent.com/sailfish-on-dontbeevil/flash-it/master/flash-it.sh flashing script].&lt;br /&gt;
&lt;br /&gt;
The script downloads the image and bootloader, extracts everything and burns it onto the SD card. '''Note:''' The script will format and erase the SD card!&lt;br /&gt;
&lt;br /&gt;
'''Instructions:'''&lt;br /&gt;
# Download the flashing script&lt;br /&gt;
# Insert a microSD card in your device&lt;br /&gt;
# Make the script executable: &amp;lt;code&amp;gt;chmod +x flash-it.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
# Execute it: &amp;lt;code&amp;gt;./flash-it.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
# Follow the instructions. Some commands in the script require root permissions.&lt;br /&gt;
&lt;br /&gt;
=== Nemo Mobile ===&lt;br /&gt;
Nemo Mobile is the open source build of Sailfish OS.&lt;br /&gt;
&lt;br /&gt;
* For more info please visit [https://github.com/neochapay/nemo-device-dont_be_evil neochapay's github page]&lt;br /&gt;
* DD image for 8GB micoSD card /16GB eMMC module and above:&lt;br /&gt;
** [http://files.pine64.org/os/PinePhone/NemoMobile/nemo-pine64-release2019.11.tar.bz2 Release build 0.3 direct download from pine64.org]&lt;br /&gt;
** MD5 (XZ file): CA25F72A97CEE57C1479B90F445F4A4B&lt;br /&gt;
** size: 325MB&lt;br /&gt;
&lt;br /&gt;
=== Maemo Leste ===&lt;br /&gt;
[https://maemo-leste.github.io/ Maemo Leste] images can be downloaded [https://maedevu.maemo.org/images/pinephone-dontbeevil/ here]. The default username is &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; and the password is &amp;lt;code&amp;gt;toor&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== LuneOS ===&lt;br /&gt;
[https://www.webos-ports.org/wiki/Main_Page LuneOS] downloads are available [http://build.webos-ports.org/luneos-testing/images/pinephone/ here].&lt;/div&gt;</summary>
		<author><name>Wibble</name></author>
	</entry>
</feed>