This post details a Home Assistant themed custom ROM for the ThinkSmart View 8" CD-18781Y. Installation info is below!
The device was intended for enterprise video conferencing; the Qualcomm SoC is much more powerful than chips usually found in smart displays. It’s perfect for HA dashboards! (Or as an octoprint server, etc, etc)
The form factor is great for a counter or side table:
Looks and feels high quality
Heavy, doesn’t move around when touched.
Comfortable to pick up and hold.
Angled for counter height viewing
Stands in both portrait and landscape modes
There’s no battery to worry about
Lenovo’s product flopped; so these are cheap and plentiful. A lot of bang for your buck here.
Hardware specs
8" 1280 x 800 IPS Display
Snapdragon 624 , Octa core A53 @ 1.8GHz
Adreno 506 GPU @ 650Mhz
2GB DDR3, 8GB eMMC
802.11AC 2x2, BT 4.2
5MP camera with physical shutter
Microphones with physical mute switch
Surprisingly good speakers
Details about this ROM
Android 8.1 Oreo
sdk27 armeabi-v7a
userdebug build with unrestricted root and ADB
SELinux permissive, enforcement disabled
frameworks patched for signature spoofing
Preinstalled system apps:
Chromium Webview v116
Ultra Small Launcher
MicroG (core, ulp, fakestore)
Aurora Store + Services (Play store alternative)
F-Droid + Privileged extension
How is this different from what’s posted over on XDA?
Aside from the HA themed bits, it’s not, they are the same.
However, everything is already done for you, no need for complicated and lengthy instructions to get the device liberated.
Just flash and dash!
Installation
Prerequisites
CD-18781Y with any software revision
a flash tool that supports qualcomm’s firehose/sahara protocols, like bkerler’s edl
android SDK tools
Procedure
Download the files, extract in the the EDL flash/ directory, create it if necessary.
start the flash tool with the provided xml files. Using edl, the flash command would be: ./edl qfil bin/rawprogram.xml bin/patch0.xml flash/ --loader=bin/prog_emmc_firehose_8953_ddr.mbn
Remove the rubber plug on bottom of unit and connect via usb c.
Boot into EDL mode by simultaneously pressing both volume buttons while powering on.
Power off when flashing is complete.
Boot into recovery mode by holding volume up while powering on. Perform a factory reset and reboot.
Once you can see the Lock Screen, Finish up user provisioning: adb shell settings put secure user_setup_complete 1 adb shell settings put global device_provisioned 1
Now just configure your wifi, install the HA app and enjoy
Consider installing the navbar in extras, unless you plan to navigate the UI with ADB commands.
Extras & Notes
Install a navigation bar: adb install extras/virtualsoftkeys.apk
In Aurora setup, choose ‘Aurora Services’ whan asked for an installer.
Transfer over the included wallpaper and install a gallery app, so you can set it: adb push extras/wallpaper.png /sdcard/Download/ adb install extras/gallery.apk
The boot splash and animation are vertical by default. Horizontal versions are also included, to use them: Before you flash cd kingston-ha-rom/dump mv splash.bin splash.bin.vert && mv splash.bin.horiz splash.bin Then after the first boot (and provisioning) adb root && adb remount adb shell mv /system/media/bootanimation.zip /system/media/bootanimation.zip.vert adb shell mv /system/media/bootanimation.zip.horiz /system/media/bootanimation.zip
Unable to build edl
Review procedure for your platform.
EDL can’t find flash files
All paths are relative to the directory from which edl is being run. Check the paths in your command arguments.
No ADB access
Check user/device permissions or run ADB as privileged user. Try different cable.
Apple users, use a usb-c dock as an intermediary or try @adamsguitar’s adb script
Prompted for password repeatedly
Use fastboot to erase userdata. Hold volume down while powering on, then: fastboot erase userdata fastboot reboot
First off, awesome project. I picked up one for 20 bucks. Can’t beat that!
I’m nearly finished with the flashing and installing. It loads up after a power off / on with the HA logo. I got to step 5 and I’m stuck at the android start screen where it’s asking for a password. Do I now need to connect and run adb commands in step 6 to get that to disappear?
Thanks again and any light someone could shed would be awesome.
Thanks for this; Just ordered one as well. This seems like the perfect lil form factor to setup for my mother. I’ll try to report back eventually when it’s all setup.
That display looks similar to the Android Things running Lenovo Smart Displays that can have their boot loaders unlocked. Do you know if there’s a way to run your Rom or something similar on that hardware or is it too different?
Was able to connect and run the adb commands and I eventually got it working. Still was getting the password error, so I just entered the incorrect password until the system “wiped itself” and then was able to set it up with HA companion app and some other goodies.
The tablet OS takes some getting used to, I was stuck in an app for way longer than I care to admit
Thanks again, now to add some additional apps and set this system set up in tablet / kiosk mode!
Interesting. Every unit I’ve flashed doesn’t ask for a password, but just informs it’s incorrect and proceeds with the wipe.
Not a big issue, glad you figured it out, thanks for posting your findings!
Adding some zeros to the user data partition during flashing will probably avoid this.
Also, I edited the install procedure to more prominently suggest installing the included nav bar… I left it out of the default rom as I figured most people would deploy these as a kiosk.
Wow this is amazing! I was able to secure an Avaya Vantage 3 K175 some time ago, but they are incredibly hard to find (so I only have one). These are amazingly cheap by comparison. No PoE or fully-functional Play Services Android out-of-the-box by comparison, but I’ll take it for the price!
Definitely no need for a full guide, but may you roughly outline how you build these ROMs from scratch–particularly things specific to this device? I can’t find that info easily on XDA. I’m a bit paranoid downloading Android ROMs. I would love to do it myself and them put it into a GitHub Action for both transparency and easy forking/modification/building for anyone!
The link to @deadman96385’s thread on XDA in credits contains full instructions to do this yourself (more or less).
The only way this rom differs from those instructions is that it doesn’t use a systemless root solution. It being a user debug rom variant, this wasn’t required.
It should be fully possible to get modern AOSP running on this device, it seems any further development effort would be better spent on that.