Difference between revisions of "PinePhone"

From PINE64
Jump to navigation Jump to search
m (moved Operating Systems section to the top with other relevant info)
 
(357 intermediate revisions by 36 users not shown)
Line 1: Line 1:
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. 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.
+
[[File:PinePhone Beta Edition.png|500px|thumb|right|Rendering of the PinePhone Beta Edition]]
  
 +
The '''PinePhone''' is a smartphone created by PINE64. It 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 operating system and was geared specifically towards early adopters. The Braveheart Edition's successors were the Community Editions, which featured a branded backcover and box of selected community projects. The Community Editions became available in June 2020. The Beta Edition featuring Manjaro with Plasma Mobile is the latest edition, it became available in March 2021.
  
 +
== Introduction ==
  
== "BraveHeart" PinePhone Unboxing and First Time Preparation Guide ==
+
The PinePhone is not a regular phone and you might not get the latest and greatest hardware and this years' newest innovation. You will get a device with good mainline support with a great community behind it.
  
[[File:PinePhone1.jpg|400px|thumb|right|PinePhone is capable of running a multitude of different Linux mobile OSes]]
+
=== State of the software ===
  
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.
+
First things first, the PinePhone is aimed solely at early adopters - more specifically, the only intend for these units is to find their way into the hands of users with extensive Linux experience.
  
After unboxing remove 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 [[#Battery]] for more info.
+
Bear in mind that the software for Linux on phones is very early, with most of the software being in alpha or beta state. That's especially also the case for scalability of applications, their availability and practicability, any hardware function implementations and the firmware. The software is provided as is. There is no warranty for the software, not even for merchantability or fitness for a particular purpose.
  
If you power on the phone the factory test image will boot. RTL8723CS (WiFi modem)  will fail unless there is a WiFi network in range for it to see and the battery is charged.  EG25 will fail until battery is charged.
+
If you have any questions regarding the current state of the software or of specific features working, please don't hesitate to ask in the community chat (see [[Main Page#Community and Support]])!
  
By default there is no true OS image installed on Braveheart phones. An SD card with a bootable image needs to be inserted into the phone. See section 12 below for a list of OS options. Note the SD and sim sockets are stacked on each other The SD slot is the "shallower" socket and the SIM card goes in the "deeper" socket.
+
== Operating Systems ==
 +
 
 +
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.
 +
 
 +
=== Software releases ===
 +
 
 +
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.
  
'''Some videos that illustrate the process:'''
+
However, if your phone came preloaded with software, Please see [[PinePhone Updating Instructions]]
  
[https://www.youtube.com/watch?v=ACcxegtDVBI Excellent first time guide video from Rob Braxman Tech]
+
=== Installation instructions ===
  
[https://www.youtube.com/watch?v=Z0FMW72_OYcI Flash an OS to microSD card video from Rob Braxman Tech]
+
For instructions on how to install the operating systems to the eMMC or SD card see [[PinePhone Installation Instructions]].
 +
 
 +
Relevant subsections of the article for installing OSes to the PinePhone are:
 +
 
 +
* [[PinePhone Installation Instructions#Boot_priority|Boot priority]]
 +
* [[PinePhone Installation Instructions#Installation_to_the_microSD|Installation to the microSD]]
 +
* [[PinePhone Installation Instructions#Installation_to_the_eMMC|Installation to the eMMC]]
 +
* [[PinePhone Installation Instructions#Resize_partition_to_fit_disk_space|Resize partition to fit disk space]]
 +
* [[PinePhone Installation Instructions#Reuse_SD_card_for_data_storage_on_system_booting_from_eMMC|Reuse SD card for data storage on system booting from eMMC]]
 +
 
 +
=== Help and support ===
 +
 
 +
For any questions regarding the phone please regard the contents of this wiki page, including linked articles further below. Still have any questions regarding software, shipping or ordering? Please don't hesitate to contact the community in the bridged community channels for detailed answers and to chat with friendly people, see [[Main Page#Community and Support]].
 +
 
 +
Mind that PINE64 is not like a regular company (see [https://www.pine64.org/philosophy/ PINE64 philosophy]) and that support resources are spare - the preferred way to get support quickly (issues are best solved in they're solved without delay!) is to ask in the community chat and to only contact PINE64 directly if questions couldn't be solved via the chat. The community is happy to help with any issue.
 +
 
 +
== First time installation ==
 +
 
 +
{{Hint|The Beta Edition comes with SSH enabled by default and a weak SSH password. It is highly recommend to disable SSH or to switch to key-based SSH authentication.}}
 +
 
 +
When shipped the battery is isolated from the device using a protective plastic tab, which is required to be removed before using the phone. The battery '''will not''' charge until this is removed and the modem, WiFi and Bluetooth will not work until the battery is connected.
 +
 
 +
The PinePhone's SIM slot only accepts a micro SIM, please do not insert a nano SIM without an adapter. An adapter from a nano to a micro SIM might be included under tape in the camera notch of the phone's packaging. The SIM card has to be placed in the lower slot, while the microSD has to be placed in the upper slot.
 +
 
 +
To remove the sticker after unboxing the phone:
 +
 
 +
# Carefully remove the back panel using the notch in the corner of the back cover without overbending it
 +
# Remove the battery (if the battery is stuck in the device please check [[PinePhone_FAQ#The_battery_is_stuck_inside_the_phone|this]] paragraph for a fix)
 +
# Peel off the clear plastic sticker below it, which isolates the charging contacts
 +
# Reinsert the battery
 +
 
 +
<gallery mode="nolines" widths="400px" heights="400px">
 +
Image:Pinephone_warning.png|A protection foil isolates the battery for the shipping.
 +
Image:Pinephone_backside.png|The microSD belongs in the upper slot, the micro SIM in the lower slot.
 +
</gallery>
  
 
== Specifications ==
 
== Specifications ==
  
'''Dimensions:''' 160.5 x 76.6 x 9.2mm <br>
+
* '''Dimensions:''' 160.5 x 76.6 x 9.2mm
'''Weight:''' Between 180-200 grams <br>
+
* '''Weight:''' Between 180 ~ 200 grams
'''SIM Card:''' Micro-SIM <br>
+
* '''SIM Card:''' Micro-SIM
'''Display:'''
+
* '''Display:'''
: '''Size:''' 5.95 inches (151mm) diagonal
+
** '''Size:''' 5.95 inches (151mm) diagonal
: '''Type:''' HD IPS capacitive touchscreen, 16M colors
+
** '''Type:''' HD IPS capacitive touchscreen, 16M colors
: '''Resolution:''' 1440x720, 18:9 ratio <br>
+
** '''Resolution:''' 1440x720, 18:9 ratio
'''System on Chip:''' [https://linux-sunxi.org/A64 Allwinner A64] <br>
+
* '''System on Chip:''' [https://linux-sunxi.org/A64 Allwinner A64]
'''RAM:''' 2GB LPDDR3 SDRAM <br>
+
* '''RAM:''' 2GB or 3GB LPDDR3 SDRAM
'''Internal Storage:''' 16GB eMMC, extendable up to 2TB via microSD, supports SDHC and SDXC <br>
+
* '''Internal Storage:''' 16GB or 32GB eMMC, extendable up to 2TB via microSD, supports SDHC and SDXC
'''Back Camera:''' Single 5MP, 1/4", LED Flash <br>
+
* '''Back [[#Camera|Camera]]:''' Single 5MP, 1/4", LED Flash
'''Selfie Camera:''' Single 2MP, f/2.8, 1/5" <br>
+
* '''Front Camera:''' Single 2MP, f/2.8, 1/5"
'''Sound:''' Loudspeaker, 3.5mm jack & mic (jack doubles as hardware UART if killswitch 6 is deactivated) <br>
+
* '''Sound:''' Loudspeaker, 3.5mm jack & mic (jack doubles as hardware UART if killswitch 6 is deactivated)
'''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]'''
+
* '''Communication:'''
: '''LTE:''' B1, B2, B3, B4, B5, B7, B8, B12, B13, B18, B19, B20, B25, B26, B28, B38, B39, B40, B41
+
** '''[[#Modem|Modem]]:''' [https://www.quectel.com/product/lte-eg25-g/ Quectel EG25-G]
: '''WCDMA:''' B1, B2, B4, B5, B6, B8, B19
+
** '''LTE-FDD''': B1, B2, B3, B4, B5, B7, B8, B12, B13, B18, B19, B20, B25, B26, B28
: '''GSM:''' 850, 900, 1800, 1900 (MHz)
+
** '''LTE-TDD''': B38, B39, B40, B41
: '''WLAN:''' Wi-Fi 802.11 b/g/n, single-band, hotspot
+
** '''WCDMA''': B1, B2, B4, B5, B6, B8, B19
: '''Bluetooth:''' 4.0, A2DP
+
** '''GSM''': B2, B3, B5, B8 (850, 900, 1800, 1900 MHz)
: '''GNSS:''' GPS/GLONASS/BeiDou/Galileo/QZSS, with A-GPS
+
** '''WLAN:''' Wi-Fi 802.11 b/g/n, single-band, hotspot
'''Sensors:''' Accelerometer, gyro, proximity, ambient light, compass <br>
+
** '''Bluetooth:''' 4.0, A2DP
'''[[#Killswitch configuration|Killswitches]]:''' Modem, Wifi & Bluetooth, Microphone, Cameras <br>
+
** '''GNSS:''' GPS/GLONASS/BeiDou/Galileo/QZSS, with A-GPS
'''[[#Battery|Battery]]:''' [https://wiki.pine64.org/images/0/04/PinePhone_Battery_model_QZ01-396172-2750.pdf Lithium ion] Rated Capacity 2800mAh (10.64Wh), Typical Capacity 3000mAh (11.40Wh) (nominally replaceable with any Samsung J7 form-factor battery) <br>
+
* '''Sensors:''' Accelerometer, gyroscope, proximity, ambient light, compass
'''I/O:''' USB Type-C (SlimPort), USB Host, DisplayPort Alternate Mode output, 15W 5V 3A Quick Charge, follows USB PD specification
+
* '''Killswitches:''' Modem, WiFi & Bluetooth, Microphone, Cameras
 +
* '''[[#Battery|Battery]]:''' Lithium-ion, rated capacity 2800mAh (10.64Wh), typical capacity 3000mAh (11.40Wh) (nominally replaceable with any Samsung J7 form-factor battery)
 +
* '''I/O:''' USB Type-C, USB Host, DisplayPort Alternate Mode output, 15W 5V 3A Quick Charge, follows USB PD specification
 +
 
 +
== Components ==
  
== PinePhone Board Information, Schematics and Certifications ==
+
{| class="wikitable"
* PinePhone Main Board Schematic:
+
! Component
** [http://files.pine64.org/doc/PinePhone/PinePhone%20Schematic%20v1.1%2020191031.pdf "Braveheart" PinePhone mainboard Schematic ver 1.1]
+
! Model
** [http://files.pine64.org/doc/PinePhone/PinePhone%20mainboard%20top%20placement%20v1.1%2020191031.pdf "Braveheart" PinePhone mainboard component top placement drawing ver 1.1]
+
|-
** [http://files.pine64.org/doc/PinePhone/PinePhone%20mainboard%20bottom%20placement%20v1.1%2020191031.pdf "Braveheart" PinePhone mainboard component bottom placement drawing ver 1.1]
+
| Touchscreen
* PinePhone USB-C Small Board Schematic:
+
| Goodix GT917S
** [http://files.pine64.org/doc/PinePhone/PinePhone%20USB-C%20small%20board%20schematic%20v1.0%2020190730.pdf "Braveheart" PinePhone USB-C small board Schematic ver 1.0]
+
|-
** [http://files.pine64.org/doc/PinePhone/PinePhone%20USB-C%20small%20board%20top%20placement%20v1.0%2020190730.pdf "Braveheart" PinePhone USB-C small board component top placement drawing ver 1.0]
+
| Rear camera
** [http://files.pine64.org/doc/PinePhone/PinePhone%20USB-C%20small%20board%20bottom%20placement%20v1.0%2020190730.pdf "Braveheart" PinePhone USB-C small board component bottom placement drawing ver 1.0]
+
| OmniVision OV5640
* PINE A64 Certifications:
+
|-
** Not yet available
+
| Camera flash
 +
| SGMICRO SGM3140
 +
|-
 +
| Front camera
 +
| GalaxyCore GC2145
 +
|-
 +
| LCD
 +
| Xingbangda XBD599
 +
|-
 +
| WiFi
 +
| Realtek RTL8723CS
 +
|-
 +
| Bluetooth
 +
| Realtek RTL8723CS
 +
|-
 +
| Modem
 +
| [http://static.abstore.pl/design/accounts/soyter/img/dokumentacje/quectel_eg25-g.pdf Quectel EG25-G]
 +
|-
 +
| GNSS/GPS
 +
| [http://static.abstore.pl/design/accounts/soyter/img/dokumentacje/quectel_eg25-g.pdf Quectel EG25-G]
 +
|-
 +
| Magnetometer
 +
| ST LIS3MDL
 +
|-
 +
| Ambient light / Proximity
 +
| SensorTek STK3335
 +
|-
 +
| Accelerometer / Gyroscope
 +
| InvenSense MPU-6050
 +
|-
 +
| Vibration motor
 +
| Unknown model
 +
|-
 +
| Notification LED
 +
| LED0603RGB
 +
|-
 +
| Volume buttons
 +
| Buttons connected to the KEYADC
 +
|-
 +
| Power button
 +
| X-Powers AXP803
 +
|-
 +
| Battery fuel gauge
 +
| X-Powers AXP803
 +
|}
  
== Datasheets for Components and Peripherals ==
+
See the [[PinePhone_component_list|PinePhone Component List]].
* Allwinner A64 SoC information:
+
 
** [http://files.pine64.org/doc/datasheet/pine64/A64%20brief%20v1.0%2020150323.pdf Allwinner A64 SoC Brief Introduction]
+
== Hardware revisions ==
** [http://files.pine64.org/doc/datasheet/pine64/A64_Datasheet_V1.1.pdf Allwinner A64 SoC Data Sheet V1.1 (Official Released Version)]
+
 
** [http://files.pine64.org/doc/datasheet/pine64/Allwinner_A64_User_Manual_V1.0.pdf Allwinner A64 SoC User Manual V1.0 (Official Release Version)]
+
The following are all hardware revisions of the PinePhone that have existed, ordered by the time of their releases:
* X-Powers AXP803 PMU (Power Management Unit) information:
+
 
** [http://files.pine64.org/doc/datasheet/pine64/AXP803_Datasheet_V1.0.pdf AXP803 PMIC Datasheet]
+
* [[Project Anakin]]
* LPDDR3 (178 Balls) SDRAM:
+
* [[Project Don't be evil|"Project Don't Be Evil"]] &ndash; development kit (devkit)
** [http://files.pine64.org/doc/datasheet/pinephone/ATL3A1632H12A_mobile_lpddr3_11x11.5_v1.0_1600.pdf Artmem LPDDR3 Datasheet]
+
* [[PinePhone v1.0 - Dev|PinePhone v1.0]] &ndash; developer batch
* CMOS Camera module information:
+
* [[PinePhone v1.1 - Braveheart|PinePhone v1.1]] &ndash; Braveheart
** [http://files.pine64.org/doc/datasheet/pinephone/QZ01-rear-2019-0717(HW)%20Model.pdf PinePhone 5M Pixel Real CMOS Image Sensor Module]
+
* [[PinePhone v1.2‎]] &ndash; Ubports Community Edition
** [http://files.pine64.org/doc/datasheet/pinephone/OV5640_datasheet.pdf OV5640 5MP CMOS Image Sensor SoC for Rear Module Datasheet]
+
* [[PinePhone v1.2a]] &ndash; postmarketOS Community Edition
** [http://files.pine64.org/doc/datasheet/pinephone/QZ01-front-2019-0717(HW)%20Model.pdf PinePhone 2M Pixel Front CMOS Image Sensor Module]
+
* [[PinePhone v1.2b]] &ndash; Manjaro Community Edition, KDE Community Edition, Mobian Community Edition, and Beta Edition
** [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]
+
 
* LCD Touch Screen Panel information:
+
== Hardware accessory ==
** [http://files.pine64.org/doc/datasheet/pinephone/PinePhone%20LCD-QZ01.pdf 5.99" 1440x720 LCD IPS Panel Specification]
+
 
** [http://files.pine64.org/doc/datasheet/pinephone/ST7703_DS_v01_20160128.pdf ST7703 LCD Controller Datasheet]
+
=== PinePhone hardware accessory compatibility ===
 +
See [[PinePhone Hardware Accessory Compatibility]] for a list of devices working with the PinePhone (depending on their OS support).
  
** [http://files.pine64.org/doc/datasheet/pinephone/GT917S-Datasheet.pdf GOODiX GT917S Capacitive Touch Controller Datasheet]
+
=== USB-C connector ===
* Lithium Battery information:
 
** [http://files.pine64.org/doc/datasheet/pinephone/PinePhone%20QZ01%20Battery%20Specification.pdf PinePhone Lithium Battery Specification]
 
** [http://files.pine64.org/doc/datasheet/pinephone/PinePhone%20QZ01%20Battery%20ZCV%20Curve%20Chart.xlsx PinePhone Lithium Battery ZCV Curve Chart]
 
* Wifi/BT module information:
 
  
* LTE module information:
+
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.
** [http://files.pine64.org/doc/datasheet/pinephone/Quectel_EG25-G_LTE_Specification_V1.0.pdf Quectel EG25-G LTE Module Specification]
 
** [[Media:Quectel EC25EC21 AT Commands Manual V1.2.pdf|EC25&EC21  AT  Commands  Manual]]
 
* Sensors:
 
** [https://www.st.com/en/mems-and-sensors/lis3mdl.html ST LIS3MDL 3-axis Magnetomater Datasheet]
 
** [https://www.invensense.com/products/motion-tracking/6-axis/mpu-6050/ InvenSense MPU-6050 Six-Axis (Gyro + Accelerometer) MEMS Datasheet]
 
** [http://www.sensortek.com.tw/en/product/Proximity_Sensor_with_ALS.html SensorTek STK3335 Ambient Light Sensor and Proximity Sensor]
 
* Digital Video to USB-C Bridge:
 
** [https://www.analogix.com/en/system/files/AA-002281-PB-6-ANX7688_Product_Brief.pdf ANX7688 Product Brief]
 
* Case information:
 
** [http://files.pine64.org/doc/datasheet/pinephone/PinePhone%20Exploded%20Diagram%20ver%201.0.pdf PinePhone Case Exploded Diagram]
 
** [http://files.pine64.org/doc/datasheet/pinephone/PinePhone%20Back%20Cover.stp PinePhone Back Battery Cover 3D file]
 
  
== Developer works ==
+
=== Pogo pins ===
  
=== Megous ===
+
[[File:Pinephone pogo.png|400px|thumb|right|The pogo pins, as visible under the back cover.]]
[https://xnux.eu/howtos/pine64-pinephone-getting-started.html Getting start with PinePhone Hardware]
 
  
[https://xnux.eu/devices/pine64-pinephone.html#toc-pine64-pinephone State of development progress]
+
The PinePhone has six 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 inputs/outputs and an I2C interface.
  
[https://xnux.eu/news.html PinePhone Technical News and Update, also applies to other Allwinner devices including PINE A64 SBC]
+
{| class="wikitable"
 +
| Interrupt
 +
| SDA
 +
| SCL
 +
|-
 +
| DCIN
 +
| USB-5V
 +
| GND
 +
|}
  
== Hardware Revisions ==
+
DCIN and USB-5V are the names used in the schematics. The actual behavior of these pogo pins is not obvious based on their names. DCIN is connected both to the VBUS line of the USB Type-C connector, and to the ACIN/VBUS inputs on the PMIC. This means that, depending on a number of factors, DCIN may be at 0&nbsp;V or 5&nbsp;V. USB-5V is connected at the output of an LP6226 DC/DC boost converter (5&nbsp;V), which in turn is fed by the PS output of the PMIC. The boost converter is enabled or disabled by a GPIO output from the A64 SoC, controlled by software (e.g. the Linux kernel). Depending on inputs and decision made by the PMIC, PS may be at the battery voltage (fed "directly" by the battery through a transistor controlled by the PMIC), or at the "USB" voltage (fed by the PMIC's ACIN/VBUS inputs). This means that depending on a number of factors, USB-5V may be at battery voltage (between 3.0&nbsp;V and 4.3&nbsp;V), or at 5&nbsp;V.
  
# [[Project Anakin]]
+
Because the PinePhone may act as a USB host (providing 5&nbsp;V at the USB Type-C connector's VBUS to a connected device) or as a USB device (drawing from a 5&nbsp;V source on the USB Type-C connector's VBUS), DCIN is actually not strictly an input nor an output. Some community analysis of the PinePhone schematic (and some testing) indicates that you can connect a 5&nbsp;V power supply to DCIN in order to power the phone at the PMIC's ACIN/VBUS inputs (and, as a side effect, charge the battery). This may not be safe to do in all conditions, e.g., when the phone is acting as a USB host to a connected USB device. It should also be safe to use DCIN as a power output from the PinePhone, e.g., when a USB Type-C charger is connected, you can draw current directly from the USB Type-C port's VBUS, which is provided by the charger. Please note that, when using DCIN as an output from the PinePhone, DCIN isn't "always on"; it may be 0&nbsp;V. It is currently not documented on how much current can be safely drawn.
# [[Project Don't be evil|"Project Don't Be Evil" devkit]]
 
# [[PinePhone v1.0 - Dev|PinePhone v1.0 - Developer batch]]
 
# [[PinePhone v1.1 - Braveheart]]
 
  
== Hardware Addons ==
+
USB-5V should be safe to use as an "always on" power output from the PinePhone. Depending on a number of factors, voltage may be from 3&nbsp;V to 5&nbsp;V; thus, if you are using USB-5V to power your pogo-pins expansion board, you will probably need to use DC/DC converters/regulators as appropriate. USB-5V is on even while the A64 SoC is powered down.
  
===[[PinePhone Hardware Accessory Compatibility]] list===
+
The I2C and interrupt lines have pull-ups on the phone side. The I2C lines are pulled up to 3v3 by the phone.
List of devices working with the PinePhone (depending on OS support)
 
  
=== USB-C Connector ===
+
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/ <i>"Making a backcover extension for the PinePhone"</i>].
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.
 
  
===Pogo Pins===
+
Pine64 store currently sells the [https://pine64.com/product/pinephone-flex-break-out-board/?v=0446c16e2e66 PinePhone Flex Breakout Board]. With the pitch being 2.54 mm, this Flex Breakout Board may have leads soldered directly to the contacts for use in a solderless board. A non-soldered solution would be to use a [https://www.digikey.com/en/products/detail/te-connectivity-amp-connectors/5-520315-6/2258879 TE AMP Connector] that will accept a Flat Flexible Cable 2.54 mm pitch.
  
The PinePhone has 6 "pogo pins" 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.
+
=== Back cover ===
 +
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].
  
'''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.'''
+
=== Community-built accessories ===
 +
* [https://www.thingiverse.com/thing:4654013 PinePhone Development Stand at Thingverse]
 +
* [https://www.thingiverse.com/thing:4658870 PinePhone Hard Case by _The3DmaN_ at Thingverse]
 +
* [https://www.thingiverse.com/thing:4651177 PinePhone Hard Case by blitzaxt at Thingverse]
  
 
=== Serial console ===
 
=== Serial console ===
[[File:Uart pinephone connection.gif|250px|thumb|left|UART serial connector for PineBook and PinePhone]]
 
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. This uart serial connection can also be used for communication with other devices from the PinePhone.
 
  
The uart is 115200n8
+
[[File:PinePhone_Serial_Cable.png|400px|thumb|right|Pinout of the serial adapter.]]
 +
 
 +
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 "on", the headphone connector is in audio mode, if it is set to "off" it's in UART mode. The UART serial connection can also be used for communication with other devices from the PinePhone.
 +
 
 +
The UART is 115200n8.
  
The pinout for the serial connector on the tablet side is:
+
The pinout for the serial connector is:
  
 
* Tip: RX
 
* Tip: RX
Line 140: Line 225:
 
* Sleeve: GND
 
* Sleeve: GND
  
The serial connection is 3.3V
+
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 "host"/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.
 +
 
 +
== Killswitch configuration ==
 +
 
 +
[[File:PinePhone Kill Interruptors de Maquinari del PinePhone 4529.jpg|320px|thumb|right|Detail of DIP switch]]
 +
 
 +
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.
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Number
 +
! Name
 +
! Explanation
 +
! Description
 +
|-
 +
| 1
 +
| Modem
 +
| Pulls Q1501 gate up (FET killing modem power)
 +
| "On" enables 2G/3G/4G communication and GNSS hardware, "off" disables it.
 +
|-
 +
| 2
 +
| WiFi / Bluetooth
 +
| Pulls up CHIP_EN
 +
| "On" enables WiFi and Bluetooth communication hardware, "off" disables it.
 +
|-
 +
| 3
 +
| Microphone
 +
| Breaks microphone bias voltage from the SoC
 +
| "On" enables audio input from on-board microphones (not 3.5 mm jack), "off" disables it.
 +
|-
 +
| 4
 +
| Rear camera
 +
| Pulls up PWDN on OV5640
 +
| "On" enables the rear camera, "off" disables it.
 +
|-
 +
| 5
 +
| Front camera
 +
| Pulls up PWDN on GC2145
 +
| "On" enables the front camera, "off" disables it.
 +
|-
 +
| 6
 +
| Headphone
 +
| Pulls up IN2 on analog switch BCT4717ETB
 +
| "On" enables audio input and output via the 3.5 mm audio jack, "off" switches the jack to hardware UART mode.
 +
|}
 +
 
 +
== Camera ==
 +
 
 +
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.
 +
 
 +
[[File:Rose.jpg|400px|thumb|none|Example picture taken on the PinePhone's rear camera by Martijn Braam using his app ''Megapixels''.]]
 +
 
 +
Further details regarding the camera and the Megapixels camera app can be found on [https://blog.brixit.nl/tag/phones/ Martijn's blog].
 +
 
 +
== Battery ==
 +
{{Hint|The EG25-G modem and the RTL8723CS WiFi and Bluetooth combo do not work without battery power, even when enough power is supplied to the PinePhone via the USB Type-C port.}}
 +
 
 +
The phone ships with a protective plastic sticker between the battery and the phone to protect the device from turning on during shipping.. You need to gently open the back cover, then remove the battery and finally remove the sticker and check that the pins aren't bent. Note: If the battery is stuck inside the phone, the mid screw in the lower part of the midframe needs to be slightly loosened, see [[PinePhone_FAQ#The_battery_is_stuck_inside_the_phone|here]].
 +
 
 +
The [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20QZ01%20Battery%20Specification.pdf supplied battery] is meant to be compatible with Samsung part number EB-BJ700BBC / BBE / CBE from the 2015 J7 phone. The extended life aftermarket BBU does fit, although it is a tight fit.
 +
 
 +
The battery terminals, from the nearest to the battery edge to the nearest to the middle of battery, are as follows:
  
You can also buy the debug cable from [https://store.pine64.org PINE64 Store]
+
{| class="wikitable"
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.
+
| style="min-width: 90px; text-align: center;" | +ve
 +
| style="min-width: 90px; text-align: center;" | thermistor
 +
| style="min-width: 90px; text-align: center;" | -ve
 +
| style="min-width: 90px; text-align: center;" | not connected
 +
|}
  
 +
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 can be recharged by connecting the phone to a charger with a sufficient output. Once it has charged sufficiently you will be able to boot the phone.
  
 +
== Modem ==
 +
The PinePhone uses Quectel EG25-G as modem. AT commands are used to communicate with the modem. The software <code>minicom</code> can be used to send the commands under Linux.
  
 +
To connect with the modem under Linux:
  
 +
<pre>
 +
minicom -D /dev/ttyUSB2
 +
</pre>
  
 +
=== AT commands ===
  
== Killswitch configuration ==
+
A list of documented AT commands can be found in the [https://www.quectel.com/UploadImage/Downlad/Quectel_EC25&EC21_AT_Commands_Manual_V1.3.pdf EC25&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].
 +
 
 +
=== VoLTE ===
 +
 
 +
The PinePhone's modem supports VoLTE and comes with a few VoLTE profiles preloaded. Most OSes try to set the correct profile automatically.
 +
 
 +
To list the available VoLTE profiles:
 +
 
 +
<pre>
 +
AT+QMBNCFG="list"
 +
 
 +
+QMBNCFG: "List",0,1,1,"ROW_Generic_3GPP",0x0501081F,201901141
 +
+QMBNCFG: "List",1,0,0,"VoLTE-ATT",0x0501033C,201909271
 +
+QMBNCFG: "List",2,0,0,"hVoLTE-Verizon",0x05010141,201911251
 +
+QMBNCFG: "List",3,0,0,"Sprint-VoLTE",0x05010205,201908141
 +
+QMBNCFG: "List",4,0,0,"Commercial-TMO_VoLTE",0x05010505,201811231
 +
+QMBNCFG: "List",5,0,0,"Telus-Commercial_VoLTE",0x05800C43,201912031
 +
+QMBNCFG: "List",6,0,0,"Commercial-SBM",0x05011C18,201904021
 +
+QMBNCFG: "List",7,0,0,"Commercial-DT",0x05011F1C,201905311
 +
+QMBNCFG: "List",8,0,0,"Reliance_OpnMkt",0x05011B38,201910161
 +
+QMBNCFG: "List",9,0,0,"TF_Germany_VoLTE",0x05010C1B,201909201
 +
+QMBNCFG: "List",10,0,0,"TF_Spain_VoLTE",0x05010CFA,201909261
 +
+QMBNCFG: "List",11,0,0,"Volte_OpenMkt-Commercial-CMCC",0x05012071,201904281
 +
+QMBNCFG: "List",12,0,0,"OpenMkt-Commercial-CT",0x05011322,201911081
 +
+QMBNCFG: "List",13,0,0,"OpenMkt-Commercial-CU",0x05011505,201807052
 +
</pre>
 +
 
 +
To select a profile manually, select the best fitting one or a generic one if none fits:
 +
 
 +
<pre>
 +
AT+QMBNCFG="select","ROW_Generic_3GPP"
 +
</pre>
 +
 
 +
Then enable Voice over LTE using:
 +
 
 +
<pre>
 +
AT+QCFG="ims",1
 +
</pre>
 +
 
 +
And reboot the modem to apply the settings:
 +
 
 +
<pre>
 +
AT+CFUN=1,1
 +
</pre>
 +
 
 +
To check the status of VoLTE during a call, the AT command <code>CLCC</code> can be used:
 +
 
 +
<pre>
 +
AT+CLCC
 +
 
 +
+CLCC: 1,1,0,1,0,"",128
 +
+CLCC: 2,1,0,1,0,"",128
 +
</pre>
 +
 
 +
=== APN settings ===
 +
 
 +
The APN setting is only required for a public Internet connection ("data") on the phone. For tested APN settings and how to apply them see [[PinePhone APN Settings]].
 +
 
 +
=== Carrier support ===
 +
The page [[PinePhone Carrier Support]] contains information about the frequency support of different carriers and hints on setting up cellular network connectivity.
 +
 
 +
=== Documents ===
 +
 
 +
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.
 +
 
 +
=== Firmware update ===
 +
 
 +
{{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.}}
 +
 
 +
The modem firmware can be updated to the latest version if it is outdated and ''dmesg'' returns the following message:
 +
 
 +
<pre>modem-power serial1-0: Your modem has an outdated firmware. Latest know version is EG25GGBR07A08M2G_01.002.07. Consider updating.</pre>
 +
 
 +
'''Pre-update checklist:'''
 +
 
 +
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.
 +
 
 +
* The battery needs to be charged sufficiently
 +
* The phone needs to be plugged into a charger
 +
* Deep sleep is recommended to be disabled as it can interrupt the update process
 +
* It is recommended to close all other running applications
 +
* Use common sense while doing the update, don't do the update while being impaired in any way
 +
 
 +
To get the latest firmware, clone the repository of user Biktorgj on the phone:
  
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.
+
<pre>git clone https://github.com/Biktorgj/quectel_eg25_recovery</pre>
  
[[File:PinePhone switches.jpeg|600px|thumb|left|Photo of Brave Heart switches from OSAKANA TARO on Twitter]]
+
After cloning the directory, open it with cd:
  
 +
<pre>cd quectel_eg25_recovery</pre>
  
 +
Then run qfirehose, which starts the flashing process:
  
 +
<pre>sudo ./qfirehose -f ./</pre>
  
 +
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.
  
 +
=== Firmware modifications ===
  
 +
See [[PineModems]] for more information regarding modem bootloader unlocking, building a custom modem firmware and modem recovery.
  
 +
=== GPS / GNSS ===
 +
The GPS engine in the modem supports mutli-GNSS reception from GPS, GLONASS, BeiDou, Galileo and QZSS independent of a cellular connection. The operation of the GNSS subsystem is controlled via a separate set of AT commands. The AGPS data upload uses the file management AT commands, which also have their own manual. These are linked in the [[PinePhone#Datasheets for components and peripherals|documentation section]] below.
  
 +
As with most smartphones, the PinePhone has a small antenna and has difficulty getting a first fix without assistance data, a cold start can take 15 minutes under good conditions. While the hardware supports AGPS data upload, it isn't yet implemented in current distributions. 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.
  
 +
Basic testing of GNSS reception can be done by using the AT command interface (/dev/ttyUSB2) from a terminal progam like minicom and the data output interface (/dev/ttyUSB1) to feed NMEA data into gpsmon or some other progam that can parse standard NMEA sentences.
  
 +
[[File:Gpsmon eg25g.png|400px|thumb|none|gpsmon decoding GPS data from /dev/ttyUSB1]]
  
 +
To check if GNSS data output is enabled, you can
  
 +
cat /dev/ttyUSB1
  
 +
this should display a stream of NMEA sentences
  
 +
$GPVTG,,T,,M,,N,,K,N*2C
 +
$GPGSA,A,1,,,,,,,,,,,,,,,,*32
 +
$GPGGA,,,,,,0,,,,,,,,*66
  
# Modem: On enables 2G/3G/4G communication and GNSS hardware, off disables.
+
=== Voice mail ===
# WiFi/BT: On enables Wi-Fi and Bluetooth communication hardware, off disables.
 
# Microphone: On enables audio input from on-board microphones (not 3.5mm jack), off disables.
 
# Rear camera: On enables the rear camera, off disables.
 
# Front camera: On enables the front camera, off disables.
 
# Headphone: On enables audio input and output via the 3.5mm audio jack, off switches the jack to hardware UART mode.
 
  
 +
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
  
 +
In America, AT&T also has support for accessing your voicemail via an external phone number: https://www.att.com/support/article/wireless/KM1009101/
  
 +
In Canada, Rogers voicemail can be called by dialing *98
  
  
 +
== Safety ==
 +
=== Thermal Safety ===
  
 +
With the Allwinner A64 being an older generation SoC with a large 40nm chip, the phone produces quite some heat with medium or higher use and especially also during charging or when using USB accessories, like a docking station. Measurements to prevent damage to the phone and to its surroundings need to be taken by the user. This includes especially a proper handling of the phone: do not charge the phone in a way where heat builds up around the phone without being able to escape. Especially don't charge your phone under a pillow, blankets, in pockets or bags. Charging the phone produces heat and charging the phone in a way, where the excessive heat can't dispose around the phone poses an immediate fire risk.
  
 +
The user might notice that the phone gets warm under usage, compared to phones with more up-to-date hardware. Under normal circumstances these temperatures don't pose a risk while being in the levels within the safe operating temperatures (which lay far beyond the point where components can be too hot to touch). Higher temperatures might especially be experienced on the top side of the screen and on the inside of the phone at the RF shield of the modem. The higher temperature of the RF shield of the modem is commonly caused by the SoC on the opposite side of the mainboard, the RF shield of the modem is used to disperse heat of the SoC. In newer mainboard revisions starting from 1.2a there are also thermal pads on the back cover and between the SoC's RF shield and the screen, dispersing heat on the screen and on the back cover. In the past there has been safety issues regarding thermal safety functions, causing temperature reads to not properly work over an extended period of time, which was causing heat damage in some cases (see the documentation of that issue by the developer Megous [http://xnux.eu/log/#018 here] and [http://xnux.eu/log/#017 here]). While the developers are working hard to prevent such issues, they can't be excluded under all circumstances (see [[PinePhone#State_of_the_software|state of the software]]). The users are expected to monitor their phones' thermal safety at every point at this state of the software.
  
 +
It is highly recommend to update the phone on a regular basis to always get the latest improvements. The default settings to throttle the performance and to shut down the phone when reaching critical temperatures might be set to a too high point depending on the specific usage and usage length. Under GNU/Linux the phone's thermal management behavior can be modified via the Thermal Sysfs driver to achieve lower temperatures and preventing the screen and other components to potentially take damage, see [[PinePhone Thermal Tweaks]] for the details.
  
 +
== Frequently asked questions ==
  
 +
For a list of frequently asked questions (including information regarding the shipping) see [[PinePhone FAQ]].
  
 +
== Modifications and repairs ==
  
 +
=== Swapping in a new mainboard revision ===
  
 +
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.
  
 +
==== Replacing the mainboard ====
  
 +
Prior to replacing your PinePhone’s mainboard please read the steps outlined in bullet points below and watch the attached video.
  
 +
# You’ll need a small Phillip’s screwdriver and a prying tool to swap out the PinePhone’s mainboard.
 +
# Remove the PinePhone’s back cover. See your quick start guide for details.
 +
# Remove the battery as well as any inserted SD and SIM cards.
 +
# Unscrew all 15 Phillip’s head screws around the midframe of the phone.
 +
# 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.
 +
# 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.
 +
# Pry the mainboard up gently from the left-hand side.
 +
# Remove front and main cameras and reset them into the new mainboard.
 +
# Check that the rubber proximity sensor housing is in the chassis, not stuck to the removed mainboard.
 +
# 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.
  
== Battery ==
+
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.
  
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&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&pid=55053#pid55053 a report] that the EB-BJ700CBE isn't quite the same size, causing the back not to fit properly.
+
A video tutorial by <i>Martijn Braam</i> can be found here (or alternatively a video tutorial by user <i>brigadan</i> with additional notes about the camera swap and proximity sensor isolator [https://www.youtube.com/watch?v=J3AJEF7akkw here]):
 +
[[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.]]
  
The battery terminals, in order from nearest the edge to nearest the middle, are:
+
==== Flashing the ANX firmware ====
  
# +ve
+
===== Method 1 =====
# thermistor
 
# -ve
 
# not connected
 
  
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&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.
+
After swapping the mainboard the ANX7688 chip has to be flashed for full USB functionality.
  
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.
+
Download the latest ANX7688 firmware image on the phone:
  
'''Your Brave Heart 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. This is to protect the device from turning on during shipping.
+
wget https://xff.cz/git/linux-firmware/plain/anx7688-fw.bin
  
[[File:PinePhone battery1.png|600px|thumb|centre|Photo of Brave Heart case from OSAKANA TARO on Twitter]]
+
Execute as root ("sudo su") on the phone:
[[File:PinePhone battery3.jpeg|600px|thumb|centre|Photo of Brave Heart battery sticker from OSAKANA TARO on Twitter]]
 
  
There has been [https://forum.pine64.org/showthread.php?tid=8960 a report on the forum] that this sticker can bend the pins that make connection between the battery and the phone: please check your setup carefully after removing the sticker.
+
cp anx7688-fw.bin /lib/firmware/
 +
echo 1 > /sys/class/typec/port0/device/flash_eeprom
  
'''Note''': 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.
+
===== Method 2 =====
  
== Modem and Carrier Support ==
+
Booting a factory test image will automatically flash the ANX7688 chip. See [[PinePhone Software Releases#Factory-loaded postmarketOS build]] for such an image.
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.  
 
  
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.
+
=== Replacing the screen ===
  
 +
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.
  
To check if the PinePhone is supported on your carrier:
+
* 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.
  
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).
+
* 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.
  
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.
+
* The vibration 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.
  
== Factory Test Requirements ==
+
* 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.
  
Most of the self tests should just work, but a couple of them will fail unless certain requirements are met.
+
Take your time, use the right tools, be careful and you should be rewarded with success.
  
=== RTL8723CS - WiFi ===
+
=== Spare parts not available in the Pine64 store ===
  
* The self test needs a visible access point nearby so it can discover an SSID.
+
* Earpiece dimensions: 12x6x2 mm. Compatible with Xiaomi Mi2 / Mi3 / Mi4, Lenovo A536 and others, see [https://forum.pine64.org/showthread.php?tid=12046&pid=85698#pid85698 here]
* The self test may fail if the battery charge is too low.  
+
* Loudspeaker dimensions: 15x11x3 mm. Compatible with Nokia N91, Lenovo A536 and others, see [https://forum.pine64.org/showthread.php?tid=12046&pid=85698#pid85698 here]
 +
* Proximity sensor rubber isolator
  
=== EG25 - Modem ===
+
== Press ==
  
* A working micro-SIM that doesn't require a PIN to unlock
+
For an overview about media of the PinePhone you can use for the news, blogs, or similar see [[PinePhone Press]].
* Enough battery charge
 
  
== Operating Systems ==
+
== PinePhone board information, schematics and certifications ==
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
 
  
The [[PinePhone Software Release#Software_Releases|'PinePhone Software Releases']] page has a complete list of currently supported Operating System images that work with the PinePhone as well as other related software information.  
+
* PinePhone mainboard schematic:
 +
** [https://files.pine64.org/doc/PinePhone/PinePhone%20v1.2b%20Released%20Schematic.pdf PinePhone mainboard Released Schematic ver 1.2b]
 +
** [https://files.pine64.org/doc/PinePhone/PinePhone%20v1.2a%20Released%20Schematic.pdf PinePhone mainboard Released Schematic ver 1.2a]
 +
** [https://files.pine64.org/doc/PinePhone/PinePhone%20v1.2%20Released%20Schematic.pdf PinePhone mainboard Released Schematic ver 1.2]
 +
** [[PinePhone_v1.2|PinePhone schematic ver 1.2 change list]]
 +
** [https://files.pine64.org/doc/PinePhone/PinePhone%20Schematic%20v1.1%2020191031.pdf "Braveheart" PinePhone mainboard Schematic ver 1.1]
 +
** [https://files.pine64.org/doc/PinePhone/PinePhone%20mainboard%20top%20placement%20v1.1%2020191031.pdf "Braveheart" PinePhone mainboard component top placement drawing ver 1.1]
 +
** [https://files.pine64.org/doc/PinePhone/PinePhone%20mainboard%20bottom%20placement%20v1.1%2020191031.pdf "Braveheart" PinePhone mainboard component bottom placement drawing ver 1.1]
 +
** [[PinePhone component list]]
 +
* PinePhone USB-C small board schematic:
 +
** [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]
 +
** [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]
 +
** [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]
 +
* PinePhone certifications:
 +
** [https://files.pine64.org/doc/cert/PinePhone%20FCC%20SDOC%20Certificate-S19112602605001.pdf PinePhone FCC Certificate]
 +
** [https://fcc.report/FCC-ID/2AWAG-PINEPHONE RF Exposure SAR Information from FCC ID site]
 +
** [https://files.pine64.org/doc/cert/PinePhone%20CE%20RED%20Certificate-S19112602602.pdf PinePhone CE RED Certificate]
 +
** [https://files.pine64.org/doc/cert/PinePhone%20ROHS%20Report.pdf PinePhone ROHS Report]
 +
** Note: PinePhone's Type Allocation Code (TAC) is <i>86769804</i>
  
The list includes OS images and descriptions of:
+
== Datasheets for components and peripherals ==
  
[{{fullurl:PinePhone_Software_Release#postmarketOS}} http://files.pine64.org/sw/pine64_installer/json/postmarketos.png] [[PinePhone_Software_Release#postmarketOS|'''postmarketOS''']]
+
* Allwinner A64 SoC information:
 +
** [https://files.pine64.org/doc/datasheet/pine64/A64%20brief%20v1.0%2020150323.pdf Allwinner A64 SoC brief introduction]
 +
** [https://files.pine64.org/doc/datasheet/pine64/A64_Datasheet_V1.1.pdf Allwinner A64 SoC Data Sheet V1.1 (Official Released Version)]
 +
** [https://files.pine64.org/doc/datasheet/pine64/Allwinner_A64_User_Manual_V1.0.pdf Allwinner A64 SoC User Manual V1.0 (Official Release Version)]
  
[{{fullurl:PinePhone_Software_Release#Ubuntu_Touch_by_UBPorts}} http://files.pine64.org/sw/pine64_installer/json/ubports.png] [[PinePhone_Software_Release#Ubuntu_Touch_by_UBPorts|'''Ubuntu Touch by UBPorts''']]
+
* X-Powers AXP803 PMIC (Power Management IC) information:
 +
** [https://files.pine64.org/doc/datasheet/pine64/AXP803_Datasheet_V1.0.pdf AXP803 PMIC datasheet]
  
[[File:Ryodebianphosh.png]] [[PinePhone_Software_Release#Debian_.2B_Phosh|'''Debian + Phosh''']]
+
* LPDDR3 (178 Balls) SDRAM:
 +
** [https://files.pine64.org/doc/datasheet/pinephone/ATL3A1632H12A_mobile_lpddr3_11x11.5_v1.0_1600.pdf Artmem LPDDR3 datasheet]
  
[{{fullurl:PinePhone_Software_Release#Maemo_Leste}} http://files.pine64.org/sw/pine64_installer/json/maemo_leste.png] [[PinePhone_Software_Release#Maemo_Leste|'''Maemo Leste''']]
+
* eMMC information:
 +
** [https://files.pine64.org/doc/datasheet/pinephone/Kimtigo_fbga153_16_32_64_eMMC_datasheet_v1.3.pdf Kimtigo eMMC datasheet]
  
[{{fullurl:PinePhone_Software_Release#SailfishOS}} http://files.pine64.org/sw/pine64_installer/json/sailfishos.png] [[PinePhone_Software_Release#SailfishOS|'''SailfishOS''']]
+
* CMOS camera module information:
 +
** [https://files.pine64.org/doc/datasheet/pinephone/QZ01-rear-2019-0717(HW)%20Model.pdf PinePhone 5M Pixel Real CMOS Image Sensor Module]
 +
** [https://files.pine64.org/doc/datasheet/pinephone/OV5640_datasheet.pdf OV5640 5MP CMOS Image Sensor SoC for Rear Module datasheet]
 +
** [https://usermanual.wiki/Document/OV5640FirmwareUserGuideV10.952852672.pdf OV5640 Embedded Firmware User Guide&nbsp;&ndash; VCM AF Module]
 +
** [https://files.pine64.org/doc/datasheet/pinephone/QZ01-front-2019-0717(HW)%20Model.pdf PinePhone 2M Pixel Front CMOS Image Sensor Module]
 +
** [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]
  
[{{fullurl:PinePhone_Software_Release#Manjaro_ARM}} http://files.pine64.org/sw/pine64_installer/json/manjaro.png] [[PinePhone_Software_Release#Manjaro_ARM|'''Manjaro ARM''']]
+
* LCD touch screen panel information:
 +
** [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20LCD-QZ01.pdf 5.99" 1440x720 LCD IPS Panel specification]
 +
** [https://files.pine64.org/doc/datasheet/pinephone/ST7703_DS_v01_20160128.pdf ST7703 LCD Controller datasheet]
 +
** [https://files.pine64.org/doc/datasheet/pinephone/GT917S-Datasheet.pdf GOODiX GT917S Capacitive Touch Controller datasheet]
  
[{{fullurl:PinePhone_Software_Release#NixOS}} http://files.pine64.org/sw/pine64_installer/json/nixos.png] [[PinePhone_Software_Release#NixOS|'''NixOS''']]
+
* Lithium battery information:
 +
** [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20QZ01%20Battery%20Specification.pdf PinePhone Lithium Battery specification]
 +
** [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20QZ01%20Battery%20ZCV%20Curve%20Chart.xlsx PinePhone Lithium Battery ZCV curve chart]
 +
** [https://cad.onshape.com/documents/5194d6303f021e6f300b70a0/w/7b63ac4c32ed63dfd78c7840/e/5d43c0ce5b665bae10082a08 PinePhone Lithium Battery 3D onshape drawing]
  
[{{fullurl:PinePhone_Software_Release#LuneOS}} http://files.pine64.org/sw/pine64_installer/json/luneos.jpg] [[PinePhone_Software_Release#LuneOS|'''LuneOS''']]
+
* WiFi/BT module information:
 +
** [https://files.pine64.org/doc/datasheet/pine64/RTL8723BS.pdf RTL8723BS/RTL8723CS specification]
  
[{{fullurl:PinePhone_Software_Release#Nemo_Mobile}} http://files.pine64.org/sw/pine64_installer/json/nemo_mobile.png] [[PinePhone_Software_Release#Nemo_Mobile|'''Nemo Mobile''']]
+
* LTE module information:
 +
** [https://www.quectel.com/UploadFile/Product/Quectel_EG25-G_LTE_Standard_Specification_V1.2.pdf Quectel EG25-G LTE Module specification v1.2]
 +
** [[Media:Quectel EC25EC21 AT Commands Manual V1.2.pdf|EC25&EC21 AT Commands Manual]]
 +
** [https://www.quectel.com/UploadImage/Downlad/Quectel_EC2x&EG25-G&EG9x&EM05_FILE_AT_Commands_Manual_V1.0.pdf Quectel EC2x EG25-G EG9x EM05 FILE AT Commands Manual v1.0]
 +
** [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]
  
[{{fullurl:PinePhone_Software_Release#KDE_Neon}} http://files.pine64.org/sw/pine64_installer/json/plasma_mobile.png] [[PinePhone_Software_Release#KDE_Neon|'''KDE Neon''']]
+
* Sensors:
 +
** [https://www.st.com/en/mems-and-sensors/lis3mdl.html ST LIS3MDL 3-axis Magnetomater Datasheet]
 +
** [https://www.invensense.com/products/motion-tracking/6-axis/mpu-6050/ InvenSense MPU-6050 Six-Axis (Gyro + Accelerometer) MEMS datasheet]
 +
** [https://www.sensortek.com.tw/en/product/Proximity_Sensor_with_ALS.html SensorTek STK3335 Ambient Light Sensor and Proximity Sensor]
  
[{{fullurl:PinePhone_Software_Release#Arch_Linux_ARM}} http://files.pine64.org/sw/pine64_installer/json/archlinux.png] [[PinePhone_Software_Release#Arch_Linux_ARM|'''Arch Linux ARM''']]
+
* Digital video to USB-C bridge:
 +
** [https://www.analogix.com/en/system/files/AA-002281-PB-6-ANX7688_Product_Brief.pdf ANX7688 product brief]
  
[[File:Auroraos.jpeg]] [[PinePhone_Software_Release#Aurora|'''Aurora''']]
+
* Case information:
 +
** [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20Exploded%20Diagram%20ver%201.0.pdf PinePhone case exploded diagram]
 +
** [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20Back%20Cover.stp PinePhone back cover 3D file]
  
=== Flashing eMMC using Jumpdrive ===
+
* Other components:
[[File:jumpdrive.jpg|400px|thumb|right|Jumpdrive running on the PinePhone]]
+
** See the [[PinePhone_component_list|Component List]]
The internal eMMC flash storage can be flashed using the Jumpdrive utility by Danct1 and Martijn from postmarketOS.
 
This utility boots from micro SD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.
 
The process of flashing and 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.
 
  
 +
== Developer works ==
  
Latest Jumpdrive can be found [https://github.com/dreemurrs-embedded/Jumpdrive/releases/ here].
+
The following resources have been made available by Megous, one of the developers:
  
 +
* [https://xnux.eu/howtos/pine64-pinephone-getting-started.html Getting started with PinePhone Hardware]
 +
* [https://xnux.eu/devices/pine64-pinephone.html State of development progress]
 +
* [https://xnux.eu/news.html PinePhone Technical News and Update, also applies to other Allwinner devices including PINE A64 SBC]
 +
* [https://xnux.eu/contribute.html Contributions to the kernel development]
  
'''Detailed Usage Instructions'''
+
== External links ==
 +
* [https://pine64.com/product-category/pinephone/ The PinePhone on the official Pine store]
 +
* [https://pine64.com/product-category/smartphone-spare-parts/ PinePhone spare parts on the official Pine store]
 +
* [https://pine64.com/product-category/smartphone-accessories/ PinePhone accessories on the official Pine store]
  
# Download the Jumpdrive image
+
[[Category:PinePhone]] [[Category:Allwinner A64]]
# Flash the Jumpdrive image to a micro SD card
 
# Boot the PinePhone from the Jumpdrive micro SD card
 
# Connect the PinePhone to your computer using USB-A -> USB-C cable
 
# Flash the exposed (mounted) PinePhone drive with a chosen OS image
 
# Once the flashing process is complete, disconnect the PinePhone from your PC, power it down and remove the Jumpdrive SD card
 
# The process is now finished, and you can boot from eMMC
 

Latest revision as of 02:05, 15 May 2021

Rendering of the PinePhone Beta Edition

The PinePhone is a smartphone created by PINE64. It 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 operating system and was geared specifically towards early adopters. The Braveheart Edition's successors were the Community Editions, which featured a branded backcover and box of selected community projects. The Community Editions became available in June 2020. The Beta Edition featuring Manjaro with Plasma Mobile is the latest edition, it became available in March 2021.

Introduction

The PinePhone is not a regular phone and you might not get the latest and greatest hardware and this years' newest innovation. You will get a device with good mainline support with a great community behind it.

State of the software

First things first, the PinePhone is aimed solely at early adopters - more specifically, the only intend for these units is to find their way into the hands of users with extensive Linux experience.

Bear in mind that the software for Linux on phones is very early, with most of the software being in alpha or beta state. That's especially also the case for scalability of applications, their availability and practicability, any hardware function implementations and the firmware. The software is provided as is. There is no warranty for the software, not even for merchantability or fitness for a particular purpose.

If you have any questions regarding the current state of the software or of specific features working, please don't hesitate to ask in the community chat (see Main Page#Community and Support)!

Operating Systems

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.

Software releases

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.

However, if your phone came preloaded with software, Please see PinePhone Updating Instructions

Installation instructions

For instructions on how to install the operating systems to the eMMC or SD card see PinePhone Installation Instructions.

Relevant subsections of the article for installing OSes to the PinePhone are:

Help and support

For any questions regarding the phone please regard the contents of this wiki page, including linked articles further below. Still have any questions regarding software, shipping or ordering? Please don't hesitate to contact the community in the bridged community channels for detailed answers and to chat with friendly people, see Main Page#Community and Support.

Mind that PINE64 is not like a regular company (see PINE64 philosophy) and that support resources are spare - the preferred way to get support quickly (issues are best solved in they're solved without delay!) is to ask in the community chat and to only contact PINE64 directly if questions couldn't be solved via the chat. The community is happy to help with any issue.

First time installation

The Beta Edition comes with SSH enabled by default and a weak SSH password. It is highly recommend to disable SSH or to switch to key-based SSH authentication.

When shipped the battery is isolated from the device using a protective plastic tab, which is required to be removed before using the phone. The battery will not charge until this is removed and the modem, WiFi and Bluetooth will not work until the battery is connected.

The PinePhone's SIM slot only accepts a micro SIM, please do not insert a nano SIM without an adapter. An adapter from a nano to a micro SIM might be included under tape in the camera notch of the phone's packaging. The SIM card has to be placed in the lower slot, while the microSD has to be placed in the upper slot.

To remove the sticker after unboxing the phone:

  1. Carefully remove the back panel using the notch in the corner of the back cover without overbending it
  2. Remove the battery (if the battery is stuck in the device please check this paragraph for a fix)
  3. Peel off the clear plastic sticker below it, which isolates the charging contacts
  4. Reinsert the battery

Specifications

  • Dimensions: 160.5 x 76.6 x 9.2mm
  • Weight: Between 180 ~ 200 grams
  • SIM Card: Micro-SIM
  • Display:
    • Size: 5.95 inches (151mm) diagonal
    • Type: HD IPS capacitive touchscreen, 16M colors
    • Resolution: 1440x720, 18:9 ratio
  • System on Chip: Allwinner A64
  • RAM: 2GB or 3GB LPDDR3 SDRAM
  • Internal Storage: 16GB or 32GB eMMC, extendable up to 2TB via microSD, supports SDHC and SDXC
  • Back Camera: Single 5MP, 1/4", LED Flash
  • Front Camera: Single 2MP, f/2.8, 1/5"
  • Sound: Loudspeaker, 3.5mm jack & mic (jack doubles as hardware UART if killswitch 6 is deactivated)
  • Communication:
    • Modem: Quectel EG25-G
    • LTE-FDD: B1, B2, B3, B4, B5, B7, B8, B12, B13, B18, B19, B20, B25, B26, B28
    • LTE-TDD: B38, B39, B40, B41
    • WCDMA: B1, B2, B4, B5, B6, B8, B19
    • GSM: B2, B3, B5, B8 (850, 900, 1800, 1900 MHz)
    • WLAN: Wi-Fi 802.11 b/g/n, single-band, hotspot
    • Bluetooth: 4.0, A2DP
    • GNSS: GPS/GLONASS/BeiDou/Galileo/QZSS, with A-GPS
  • Sensors: Accelerometer, gyroscope, proximity, ambient light, compass
  • Killswitches: Modem, WiFi & Bluetooth, Microphone, Cameras
  • Battery: Lithium-ion, rated capacity 2800mAh (10.64Wh), typical capacity 3000mAh (11.40Wh) (nominally replaceable with any Samsung J7 form-factor battery)
  • I/O: USB Type-C, USB Host, DisplayPort Alternate Mode output, 15W 5V 3A Quick Charge, follows USB PD specification

Components

Component Model
Touchscreen Goodix GT917S
Rear camera OmniVision OV5640
Camera flash SGMICRO SGM3140
Front camera GalaxyCore GC2145
LCD Xingbangda XBD599
WiFi Realtek RTL8723CS
Bluetooth Realtek RTL8723CS
Modem Quectel EG25-G
GNSS/GPS Quectel EG25-G
Magnetometer ST LIS3MDL
Ambient light / Proximity SensorTek STK3335
Accelerometer / Gyroscope InvenSense MPU-6050
Vibration motor Unknown model
Notification LED LED0603RGB
Volume buttons Buttons connected to the KEYADC
Power button X-Powers AXP803
Battery fuel gauge X-Powers AXP803

See the PinePhone Component List.

Hardware revisions

The following are all hardware revisions of the PinePhone that have existed, ordered by the time of their releases:

Hardware accessory

PinePhone hardware accessory compatibility

See PinePhone Hardware Accessory Compatibility for a list of devices working with the PinePhone (depending on their OS support).

USB-C connector

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.

Pogo pins

The pogo pins, as visible under the back cover.

The PinePhone has six 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 inputs/outputs and an I2C interface.

Interrupt SDA SCL
DCIN USB-5V GND

DCIN and USB-5V are the names used in the schematics. The actual behavior of these pogo pins is not obvious based on their names. DCIN is connected both to the VBUS line of the USB Type-C connector, and to the ACIN/VBUS inputs on the PMIC. This means that, depending on a number of factors, DCIN may be at 0 V or 5 V. USB-5V is connected at the output of an LP6226 DC/DC boost converter (5 V), which in turn is fed by the PS output of the PMIC. The boost converter is enabled or disabled by a GPIO output from the A64 SoC, controlled by software (e.g. the Linux kernel). Depending on inputs and decision made by the PMIC, PS may be at the battery voltage (fed "directly" by the battery through a transistor controlled by the PMIC), or at the "USB" voltage (fed by the PMIC's ACIN/VBUS inputs). This means that depending on a number of factors, USB-5V may be at battery voltage (between 3.0 V and 4.3 V), or at 5 V.

Because the PinePhone may act as a USB host (providing 5 V at the USB Type-C connector's VBUS to a connected device) or as a USB device (drawing from a 5 V source on the USB Type-C connector's VBUS), DCIN is actually not strictly an input nor an output. Some community analysis of the PinePhone schematic (and some testing) indicates that you can connect a 5 V power supply to DCIN in order to power the phone at the PMIC's ACIN/VBUS inputs (and, as a side effect, charge the battery). This may not be safe to do in all conditions, e.g., when the phone is acting as a USB host to a connected USB device. It should also be safe to use DCIN as a power output from the PinePhone, e.g., when a USB Type-C charger is connected, you can draw current directly from the USB Type-C port's VBUS, which is provided by the charger. Please note that, when using DCIN as an output from the PinePhone, DCIN isn't "always on"; it may be 0 V. It is currently not documented on how much current can be safely drawn.

USB-5V should be safe to use as an "always on" power output from the PinePhone. Depending on a number of factors, voltage may be from 3 V to 5 V; thus, if you are using USB-5V to power your pogo-pins expansion board, you will probably need to use DC/DC converters/regulators as appropriate. USB-5V is on even while the A64 SoC is powered down.

The I2C and interrupt lines have pull-ups on the phone side. The I2C lines are pulled up to 3v3 by the phone.

For a breakout board see here. For an example project see Martijn's blog post "Making a backcover extension for the PinePhone".

Pine64 store currently sells the PinePhone Flex Breakout Board. With the pitch being 2.54 mm, this Flex Breakout Board may have leads soldered directly to the contacts for use in a solderless board. A non-soldered solution would be to use a TE AMP Connector that will accept a Flat Flexible Cable 2.54 mm pitch.

Back cover

A step file for the back cover for creating custom cases is freely available here.

Community-built accessories

Serial console

Pinout of the serial adapter.

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 "on", the headphone connector is in audio mode, if it is set to "off" it's in UART mode. The UART serial connection can also be used for communication with other devices from the PinePhone.

The UART is 115200n8.

The pinout for the serial connector is:

  • Tip: RX
  • Ring: TX
  • Sleeve: GND

You can buy a serial debug cable from the Pine64 Store. The store cable uses a 4 ring plug, as seen in the 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 "host"/DTE it means that you need a cross modem cable (Null Modem) with TX on Tip to be connected to RX. A cable like e.g. FTDI TTL-232R-3V3-AJ which has TX on Tip and RX on Ring fits perfectly.

Killswitch configuration

Detail of DIP switch

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.

Number Name Explanation Description
1 Modem Pulls Q1501 gate up (FET killing modem power) "On" enables 2G/3G/4G communication and GNSS hardware, "off" disables it.
2 WiFi / Bluetooth Pulls up CHIP_EN "On" enables WiFi and Bluetooth communication hardware, "off" disables it.
3 Microphone Breaks microphone bias voltage from the SoC "On" enables audio input from on-board microphones (not 3.5 mm jack), "off" disables it.
4 Rear camera Pulls up PWDN on OV5640 "On" enables the rear camera, "off" disables it.
5 Front camera Pulls up PWDN on GC2145 "On" enables the front camera, "off" disables it.
6 Headphone Pulls up IN2 on analog switch BCT4717ETB "On" enables audio input and output via the 3.5 mm audio jack, "off" switches the jack to hardware UART mode.

Camera

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.

Example picture taken on the PinePhone's rear camera by Martijn Braam using his app Megapixels.

Further details regarding the camera and the Megapixels camera app can be found on Martijn's blog.

Battery

The EG25-G modem and the RTL8723CS WiFi and Bluetooth combo do not work without battery power, even when enough power is supplied to the PinePhone via the USB Type-C port.

The phone ships with a protective plastic sticker between the battery and the phone to protect the device from turning on during shipping.. You need to gently open the back cover, then remove the battery and finally remove the sticker and check that the pins aren't bent. Note: If the battery is stuck inside the phone, the mid screw in the lower part of the midframe needs to be slightly loosened, see here.

The supplied battery is meant to be compatible with Samsung part number EB-BJ700BBC / BBE / CBE from the 2015 J7 phone. The extended life aftermarket BBU does fit, although it is a tight fit.

The battery terminals, from the nearest to the battery edge to the nearest to the middle of battery, are as follows:

+ve thermistor -ve not connected

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 can be recharged by connecting the phone to a charger with a sufficient output. Once it has charged sufficiently you will be able to boot the phone.

Modem

The PinePhone uses Quectel EG25-G as modem. AT commands are used to communicate with the modem. The software minicom can be used to send the commands under Linux.

To connect with the modem under Linux:

minicom -D /dev/ttyUSB2

AT commands

A list of documented AT commands can be found in the EC25&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 here.

VoLTE

The PinePhone's modem supports VoLTE and comes with a few VoLTE profiles preloaded. Most OSes try to set the correct profile automatically.

To list the available VoLTE profiles:

AT+QMBNCFG="list"

+QMBNCFG: "List",0,1,1,"ROW_Generic_3GPP",0x0501081F,201901141
+QMBNCFG: "List",1,0,0,"VoLTE-ATT",0x0501033C,201909271
+QMBNCFG: "List",2,0,0,"hVoLTE-Verizon",0x05010141,201911251
+QMBNCFG: "List",3,0,0,"Sprint-VoLTE",0x05010205,201908141
+QMBNCFG: "List",4,0,0,"Commercial-TMO_VoLTE",0x05010505,201811231
+QMBNCFG: "List",5,0,0,"Telus-Commercial_VoLTE",0x05800C43,201912031
+QMBNCFG: "List",6,0,0,"Commercial-SBM",0x05011C18,201904021
+QMBNCFG: "List",7,0,0,"Commercial-DT",0x05011F1C,201905311
+QMBNCFG: "List",8,0,0,"Reliance_OpnMkt",0x05011B38,201910161
+QMBNCFG: "List",9,0,0,"TF_Germany_VoLTE",0x05010C1B,201909201
+QMBNCFG: "List",10,0,0,"TF_Spain_VoLTE",0x05010CFA,201909261
+QMBNCFG: "List",11,0,0,"Volte_OpenMkt-Commercial-CMCC",0x05012071,201904281
+QMBNCFG: "List",12,0,0,"OpenMkt-Commercial-CT",0x05011322,201911081
+QMBNCFG: "List",13,0,0,"OpenMkt-Commercial-CU",0x05011505,201807052

To select a profile manually, select the best fitting one or a generic one if none fits:

AT+QMBNCFG="select","ROW_Generic_3GPP"

Then enable Voice over LTE using:

AT+QCFG="ims",1

And reboot the modem to apply the settings:

AT+CFUN=1,1

To check the status of VoLTE during a call, the AT command CLCC can be used:

AT+CLCC

+CLCC: 1,1,0,1,0,"",128
+CLCC: 2,1,0,1,0,"",128

APN settings

The APN setting is only required for a public Internet connection ("data") on the phone. For tested APN settings and how to apply them see PinePhone APN Settings.

Carrier support

The page PinePhone Carrier Support contains information about the frequency support of different carriers and hints on setting up cellular network connectivity.

Documents

Detailed information about the modem can be found on the 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 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.

Firmware update

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.

The modem firmware can be updated to the latest version if it is outdated and dmesg returns the following message:

modem-power serial1-0: Your modem has an outdated firmware. Latest know version is EG25GGBR07A08M2G_01.002.07. Consider updating.

Pre-update checklist:

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.

  • The battery needs to be charged sufficiently
  • The phone needs to be plugged into a charger
  • Deep sleep is recommended to be disabled as it can interrupt the update process
  • It is recommended to close all other running applications
  • Use common sense while doing the update, don't do the update while being impaired in any way

To get the latest firmware, clone the repository of user Biktorgj on the phone:

git clone https://github.com/Biktorgj/quectel_eg25_recovery

After cloning the directory, open it with cd:

cd quectel_eg25_recovery

Then run qfirehose, which starts the flashing process:

sudo ./qfirehose -f ./

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.

Firmware modifications

See PineModems for more information regarding modem bootloader unlocking, building a custom modem firmware and modem recovery.

GPS / GNSS

The GPS engine in the modem supports mutli-GNSS reception from GPS, GLONASS, BeiDou, Galileo and QZSS independent of a cellular connection. The operation of the GNSS subsystem is controlled via a separate set of AT commands. The AGPS data upload uses the file management AT commands, which also have their own manual. These are linked in the documentation section below.

As with most smartphones, the PinePhone has a small antenna and has difficulty getting a first fix without assistance data, a cold start can take 15 minutes under good conditions. While the hardware supports AGPS data upload, it isn't yet implemented in current distributions. There is a 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.

Basic testing of GNSS reception can be done by using the AT command interface (/dev/ttyUSB2) from a terminal progam like minicom and the data output interface (/dev/ttyUSB1) to feed NMEA data into gpsmon or some other progam that can parse standard NMEA sentences.

gpsmon decoding GPS data from /dev/ttyUSB1

To check if GNSS data output is enabled, you can

cat /dev/ttyUSB1

this should display a stream of NMEA sentences

$GPVTG,,T,,M,,N,,K,N*2C
$GPGSA,A,1,,,,,,,,,,,,,,,,*32
$GPGGA,,,,,,0,,,,,,,,*66

Voice mail

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

In America, AT&T also has support for accessing your voicemail via an external phone number: https://www.att.com/support/article/wireless/KM1009101/

In Canada, Rogers voicemail can be called by dialing *98


Safety

Thermal Safety

With the Allwinner A64 being an older generation SoC with a large 40nm chip, the phone produces quite some heat with medium or higher use and especially also during charging or when using USB accessories, like a docking station. Measurements to prevent damage to the phone and to its surroundings need to be taken by the user. This includes especially a proper handling of the phone: do not charge the phone in a way where heat builds up around the phone without being able to escape. Especially don't charge your phone under a pillow, blankets, in pockets or bags. Charging the phone produces heat and charging the phone in a way, where the excessive heat can't dispose around the phone poses an immediate fire risk.

The user might notice that the phone gets warm under usage, compared to phones with more up-to-date hardware. Under normal circumstances these temperatures don't pose a risk while being in the levels within the safe operating temperatures (which lay far beyond the point where components can be too hot to touch). Higher temperatures might especially be experienced on the top side of the screen and on the inside of the phone at the RF shield of the modem. The higher temperature of the RF shield of the modem is commonly caused by the SoC on the opposite side of the mainboard, the RF shield of the modem is used to disperse heat of the SoC. In newer mainboard revisions starting from 1.2a there are also thermal pads on the back cover and between the SoC's RF shield and the screen, dispersing heat on the screen and on the back cover. In the past there has been safety issues regarding thermal safety functions, causing temperature reads to not properly work over an extended period of time, which was causing heat damage in some cases (see the documentation of that issue by the developer Megous here and here). While the developers are working hard to prevent such issues, they can't be excluded under all circumstances (see state of the software). The users are expected to monitor their phones' thermal safety at every point at this state of the software.

It is highly recommend to update the phone on a regular basis to always get the latest improvements. The default settings to throttle the performance and to shut down the phone when reaching critical temperatures might be set to a too high point depending on the specific usage and usage length. Under GNU/Linux the phone's thermal management behavior can be modified via the Thermal Sysfs driver to achieve lower temperatures and preventing the screen and other components to potentially take damage, see PinePhone Thermal Tweaks for the details.

Frequently asked questions

For a list of frequently asked questions (including information regarding the shipping) see PinePhone FAQ.

Modifications and repairs

Swapping in a new mainboard revision

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.

Replacing the mainboard

Prior to replacing your PinePhone’s mainboard please read the steps outlined in bullet points below and watch the attached video.

  1. You’ll need a small Phillip’s screwdriver and a prying tool to swap out the PinePhone’s mainboard.
  2. Remove the PinePhone’s back cover. See your quick start guide for details.
  3. Remove the battery as well as any inserted SD and SIM cards.
  4. Unscrew all 15 Phillip’s head screws around the midframe of the phone.
  5. 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.
  6. 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.
  7. Pry the mainboard up gently from the left-hand side.
  8. Remove front and main cameras and reset them into the new mainboard.
  9. Check that the rubber proximity sensor housing is in the chassis, not stuck to the removed mainboard.
  10. 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.

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.

A video tutorial by Martijn Braam can be found here (or alternatively a video tutorial by user brigadan with additional notes about the camera swap and proximity sensor isolator here):

Watch Martijn Braam's video tutorial here: https://www.youtube.com/watch?v=5GbMoZ_zuZs.

Flashing the ANX firmware

Method 1

After swapping the mainboard the ANX7688 chip has to be flashed for full USB functionality.

Download the latest ANX7688 firmware image on the phone:

wget https://xff.cz/git/linux-firmware/plain/anx7688-fw.bin

Execute as root ("sudo su") on the phone:

cp anx7688-fw.bin /lib/firmware/
echo 1 > /sys/class/typec/port0/device/flash_eeprom
Method 2

Booting a factory test image will automatically flash the ANX7688 chip. See PinePhone Software Releases#Factory-loaded postmarketOS build for such an image.

Replacing the screen

Before attempting to replace the screen be sure to review the section on 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.

  • 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.
  • 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.
  • The vibration 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.
  • 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.

Take your time, use the right tools, be careful and you should be rewarded with success.

Spare parts not available in the Pine64 store

  • Earpiece dimensions: 12x6x2 mm. Compatible with Xiaomi Mi2 / Mi3 / Mi4, Lenovo A536 and others, see here
  • Loudspeaker dimensions: 15x11x3 mm. Compatible with Nokia N91, Lenovo A536 and others, see here
  • Proximity sensor rubber isolator

Press

For an overview about media of the PinePhone you can use for the news, blogs, or similar see PinePhone Press.

PinePhone board information, schematics and certifications

Datasheets for components and peripherals

Developer works

The following resources have been made available by Megous, one of the developers:

External links