I’ve always favored peculiarly sized versions of everyday things (for instance, my small-wheel bike obsessions), so when Verizon paired with TCL to release a tiny 3.3 inch Android “companion” phone in November 2018, I kept a close watch on where I might be able to source one of these. Manufactured by TCL, it retains the “Palm” brand that people remember from the by-gone PDA days.

Originally the concept of the phone was as a kind of “gig” device where you would install a SIM card that kept the same phone number as your main phone but was small enough to take with you to an event where you could use a compact version of your main phone (with the majority of its features) in a pinch. But poor public reception to its limitation as well as its initial launch price of ~$350 failed to stir people into buying it.


Truly a derringer of phones

In April 2019, the phone was discounted and it received capabilities to be used as a standalone phone. Fast forward a few months, they began to appear in large quantities on reseller / wholesaler accounts on eBay and other sites. I bought a refurbished example from a reseller in Harriman, NY and paid a little over £95 shipping and customs included.

First impressions:

  • the size of this phone is truly something else, if you’ve never held one in your hand before, the excitement is hard to describe!
  • build quality is exceptional, looks and feels more like an iOS device than any other Android phone I’ve ever owned
  • the speaker is LOUD for such a small phone
  • holding onto the phone takes a bit of getting used to, edges as well as the main faces of the phone are slippery. Being small does not help

Specifications

Spec Value
Dimensions 96.6 x 50.6 x 7.4mm
Weight 62.5 g
Battery 800mAh
Storage 32GB (no SD expansion)
Connector USB-C using USB 2.0
Android version 8.1
Model variants PVG100 - USA
PVG100E / PVG100EU - EU
Screen Resolution 1280 x 720 pixels

Accessing mobile data on Three UK

The non-companion model is not carrier-locked to Verizon; sticking a Three UK SIM card in it gave me prompt access to SMS and calls on the network. The major downside was that APN settings were set by the carrier and could not be changed easily. Thankfully, the skillful users over at XDA Developers came up with several methods of rooting the device.

I followed these and was able to get a rooted firmware installed with Magisk, which allowed me to change APN settings for mobile Internet connectivity on my carrier (Three UK).

Note: the fastest way into the device’s Recovery Mode is using adb reboot recovery, rather than holding down the power button to cycle the phone.

  1. Root the device
  2. Install Magisk Manager once rooted
  3. Install BusyBox to get the vi editor
  4. Start an ADB shell session on the device with adb shell then su to become root once inside
  5. You will need to mount the /vendor directory as read/write instead of readonly (ro). Run mount | grep vendor
    You should get something like /dev/block/platform/soc/7824900.sdhci/by-name/vendor on /vendor type ext4 (ro,seclabel,relatime,discard,data=ordered)
  6. Run mount -o rw,remount /dev/block/platform/soc/7824900.sdhci/by-name/vendor /vendor, ensuring the first filepath is the same as the output of the grep from #5
    This gives you the ability to edit /vendor/etc/apns-conf.xml
  7. Run vi /vendor/etc/apns-conf.xml then add the APN settings line at the end of the file for your carrier

In my case, there were multiple entries already for Three UK, which were all wrong. I had to remove those entries, which can be found by searching for mcc="234" mnc="20" (MCC is the Mobile Country Code: 234 = UK, MNC stands for Mobile Network Carrier, 20 = Three).

Adding the correct <apn> tag to the end of this XML file, we can insert the proper settings to connect:

<apn carrier="3" mcc="234" mnc="20" apn="three.co.uk" user="" password="" server="" proxy="" port="" mmsc="http://mms.um.three.co.uk:10021/mmsc" mmsproxy="mms.three.co.uk" mmsport="8799" type="default" authtype="0" mvno_type="pnn" mvno_match_data="" protocol="IPV4V6" roaming_protocol="IP"/>

Alternatively, you can simply download a apns-config.xml from this site or from the Android APN sample setup and replace the existing one on the device.

Once this is done, save the file and quit the ADB shell. You then need to go into the Settings > Network & Internet > Mobile network > Advanced > Access Point Names screen. Tap the three dots and then “Reset to default” to make sure Android clears its APN DB and takes on new settings from the /vendor/etc/apns-conf.xml file.

Assuming you already had your sim card inserted into the phone, it will begin to access mobile data.

Software Adjustments

Launcher

While the Palm launcher was initially interesting to look at, with its hexagonal icon layout, I quickly tired of it and swapped the launcher out for a more practical option: Nova Launcher.

Remove Verizon bloatware

XDA User snoopy20 also highlighted an essential battery life prolonging fix by removing Verizon bloatware and services:

# Remove battery draining Verizon services via `adb shell`
pm uninstall -k --user 0 'com.verizon.cloudsetupwizard'
pm uninstall -k --user 0 'com.verizon.mips.services'
pm uninstall -k --user 0 'com.vzw.hss.myverizon'
pm uninstall -k --user 0 'com.jrd.verizonuriintentservice'
pm uninstall -k --user 0 'com.verizon.messaging.vzmsgs'
pm uninstall -k --user 0 'com.verizon.llkagent'
pm uninstall -k --user 0 'com.vzw.apnlib'
pm uninstall -k --user 0 'com.vzw.hss.myverizon'
pm uninstall -k --user 0 'com.tcl.vzwintents'
pm uninstall -k --user 0 'com.tct.vzwwifioffload'
pm uninstall -k --user 0 'com.vzw.ecid'
pm uninstall -k --user 0 'com.vzw.easvalidation'
pm uninstall -k --user 0 'com.customermobile.preload.vzw'
pm uninstall -k --user 0 'com.vcast.mediamanager'
pm uninstall -k --user 0 'com.telecomsys.directedsms.android.SCG'

SMS Messaging

Messaging+ is part of the Verizon bloatware removal list. Once it is gone, you will need to find an alternate SMS messaging app. I chose QKSMS for its small file size as well as UI simplicity. It works wonderfully.

Disable auto-system updates

To ensure automatic system updates do not apply and overwrite your rooted Android installation on the Palm phone, you can go into Settings > System > About phone then tap the “Build number” until you get access to developer mode.

Once this is unlocked, search the Settings for “Automatic system updates” and switch this off within Developer options.

Hosts-based ad blocker

Decided to use Blokada to block any in-app ads that are loaded via ad network hosts. Blokada seemed like the best option due to its simple hosts-based method for blocking, auto-list updates, and open source nature.

This change has had a noticeable improvement on the phone’s battery life.

Tethering

Wifi tethering doesn’t seem like it’s possible at the current time so we have to make do with the next best thing: USB tethering. When you plug your phone into your computer with a USB cable, choose MTP mode and install the Tethering settings shortcut to access the area disabled by the manufacturer (possibly for battery life reasons).

Once inside, turn on USB tethering and you should be good to go. If you are on MacOS, there is a further step of installing HoRNDIS which is a kernel extension that allows USB tethering from Android devices.

Internal Hardware

Here are some pictures of the internal components:

And of course a link to the FCC submission for the PVG100, specifically the document that shows a teardown.

Typical of modern smartphones, the outer layers are held together with adhesive, likely to pass the IP68 waterproof rating. Internal frame is machined and the covers between the layers are made out of steel for RF shielding.

Hardware Adjustments

I ride my bike quite a bit and as with previous phones I’ve owned, this one also had to get custom phone mount treatment. This time I tried something a bit more modular: using adhesive backed Velcro (hook and loop) to stick my phone to a phone mount or a USB-C hub, wallet, power bank. The possibilities have greatly expanded!

3 month daily usage review (2020-05)

Coming soon…