Android 4.4.2 LCD Panel Update for SmartHome use


Last Update: May 13, 2022 @ 15:45 Preliminary information, subject to change.

This is an Application Note that investigates if it is possible or necessary to update an industrial-grade Android 4.4.2 development panel to a newer Android version. The project intent includes creating and configuring SmartHome app support and possibly also TuYa device API compatibility.

Android 4 panel browser displaying the PiXCL website, repeated to a 1920×1080 screen
via the HDMI connector on the right hand side. LCD panel is 1024×600 pixels. USB devices on the panel top edge are a Realtek WiFi network interface and wireless mouse dongle.

The 2017-manufacture panel was supplied with Android 4.4.2, and consists of a 1.4GHz quad core ARM Cortex-A9, 1GB ram, WiFi networking, and with a 7″ 1024×600 capacitive touch screen. Four USB2 ports, two RS_232 ports plus Bluetooth are included.

Does the panel work ?

Yes, it does. The main issue is that the current (May 2022) Android version is 12, and while many Google Store apps require at least Android 6, more require Android 9+. In addition, the linux kernel version changes with the newer Android versions.

The default set of apps plus three side-loaded apps (Network Speed Test, NetX Tools and USB Info).

We tried loading some simple apps from the Play Store, but it proved next to impossible because we could not load a newer version of Chrome to enable a successful login. Fortunately there is a solution called Side Loading.

Setting up the panel for Side Loading and Development

The panel has a USB (OTG) port which when connected to a Windows 10 PC appears as a Portable Device, in effect a disk drive. The panel’s set of internal directories and files is available, as listed below.

  • AOSP on drone2
    • internal storage
      • Alarms
      • Android
      • DCIM
      • Download
      • Pictures
        • Screenshots
      • and several others not relevent for this app note at present

The Download directory is the important one. This is where app .APK binary files are placed. e.g.

APK files side loaded, as located by the Android File Explorer app. Note that the Android Downloads app places binaries from the Play Store in another location.

Finding and loading APK binaries

The aim here is to find a few simple network and utility apps (i.e. no games and similar) that

  • are supported by Android 4 and later
  • are APK, not XAPK, binaries (which can be handled with another app)
  • can be parsed successfully by the Android 4 App Installer.
  • run without displaying a “App Unfortunately Stopped” message.

Loading an APK stored in the Download directory is done via the File Explorer app and Browse/APKs directory. The selected APK can be installed. If the APK can be parsed successfully, the app will probably run.

The network Speed Test app is a useful utility that tests most of the panel hardware.

Why some apps tested would not parse i.e. failed the first install check is unclear, and will be investigated.

Apps that “Unfortunately Stop” may be caused by an incompatibility with the panel hardware (e.g. a lack of resources), the 4.4.2 version, a bug in the app, or a combination of all three.

What is the current Android firmware status

Selecting the Settings–>About tablet menu displays the following.

Android version 4.4.2, kernel version 3.4.39, 8GB storage, 1GB ram.

The hardware is likely capable of running a newer Android version. The manufacturer used to offer an Android 5 update, but this is no longer available or relevent. At present, Android 4.4.2 is installed with the 3.4.39 linux kernel that was first released with Android 4.3.

A full update would require the matched set of kernel and Android files. It may be possible to upgrade portions of a newer Android version, including the linux core binaries. Lots to be researched on this.

Does the panel need to be rooted?

Unknown as yet.

Why does the wired Ethernet connection not function?

The WiFi can be easily configured and is fully functional when the USB dongle is installed. When a cable is connected, the port hardware LEDs flash as expected, but the wired Ethernet port is not configurable from the Settings screen. It’s unclear at present if the necessary driver is installed in the low-level linux binaries: this is being investigated.

Side Loading oddities found with this panel

< more to add >