RobOS phone · Moto G100 guide
Your old phone,
running RobOS.
A phone in a drawer still has a good screen, Wi-Fi and a fast processor. The RobOS phone replaces its software with an open-source version of Android that starts with the RobOS logo, opens to the RobOS home screen, controls your lights over Wi-Fi, and picks up your settings from your RobOS computers. It runs today on a Motorola Moto G100.



These are photographs of the real phone, taken on November 6, 2026.
- What it isA plain-English overview
- What it doesHome, Smart Home and Preferences
- What you needThe phone, a computer and time
- How to get itBuild the image, then install it
- Honest limitsWhat it doesn't do yet
1. What the RobOS phone is
Every Android phone runs a copy of Android that its maker put together. Once the maker stops sending updates, the phone usually ends up in a drawer. LineageOS is a free, community-built version of Android that keeps many of those phones up to date. The RobOS phone is LineageOS 24, the Android 17 release, with a RobOS layer built in:
- the RobOS start-up animation, in place of the LineageOS one;
- RobOS Home as the home screen, in place of the usual Android launcher;
- RobOS Smart Home, which controls your lights directly over Wi-Fi;
- RobOS Preferences, which signs in to Google Drive and restores the settings your RobOS computers backed up with Config Sync.
Here is the whole idea in one example. You add a Feit Electric bulb in Smart Home on your RobOS computer. Config Sync copies your settings to your Google Drive. On the phone, you sign in once in Preferences and tap restore. Smart Home on the phone now shows that bulb, in the same room, and switches it on and off without the computer.
2. What it does




RobOS Home
The first thing you see. It shows the time, the date and every app on the phone, with the RobOS apps first. It comes with the LineageOS basics: Files, Music, Settings and the AudioFX equalizer. You can add more apps from a computer with adb install; our phone has Firefox, downloaded from Mozilla's official archive.
RobOS Smart Home
Controls lights straight over your home Wi-Fi. It doesn't need a RobOS computer to be switched on, and it doesn't send commands through anyone's cloud. It works with these brands:
| Brand | How it connects |
|---|---|
| Feit Electric, Smart Life and other Tuya lights | A one-time setup fetches each light's key from a free Tuya developer account. After that, the phone talks to the light directly on your network. |
| Philips Hue | Press the button on the Hue Bridge to pair. |
| WiZ, WLED, TP-Link Kasa, LIFX, Govee, Elgato, Yeelight, Shelly | Found on your Wi-Fi with Scan. |
| Home Assistant | Uses your Home Assistant server's address and a long-lived access token. |
Lights can be grouped into rooms and saved as scenes. Schedules can fade lights up or down at set times, and they run even when the app is closed. The Appliances tab shows your LG ThinQ appliances, read only.
RobOS Preferences
Brings your RobOS settings to the phone. Tap Sign in with Google and the phone's browser opens Google's sign-in page, just as it does on a RobOS computer. Preferences then finds your Config Sync backups in Google Drive, opens them (including backups protected with a passphrase), and shows what each one holds. Today it restores what phone apps can use: Smart Home's lights, rooms, scenes and schedules. The rest of the backup stays on your computers until a phone app can use it.
3. What you need
- A Motorola Moto G100. Its codename is
nioand its model number is XT2125-4. Other phones need their own build. A Moto G10 (capri) build is included but has not been tested on a real G10. - A phone whose bootloader can be unlocked. The bootloader is the small program that starts Android. Motorola unlocks it for free through its website, but it decides phone by phone, and phones sold by some carriers are refused.
- Android 12 firmware on the phone. Ours had Motorola's S1RTS32.41-20-16-1-9. If the phone is on an older Android version, update it from Motorola first.
- A USB-C cable, plugged straight into the computer. Not through a hub or dock.
- A big Linux computer to build the image. There is no ready-made download yet, so you build the image yourself. Ours had 59 GB of memory and still needed compressed swap. Plan for about 60 GB of memory, 300 GB or more of free disk, and a day of build time.
- Backups of anything on the phone. Installing erases it completely.
- For Feit or Smart Life lights: a free Tuya developer account at iot.tuya.com. Setting it up takes about 20 minutes, once.
Check the phone's codename before you do anything else. Turn on USB debugging in the phone's Developer options, connect it, and run:
adb shell getprop ro.product.device
It must print nio. We thought our phone was a Moto G10 until this command said otherwise. An image built for another model can leave a phone unable to start.
4. How to get it
Build the image
The build script is in the RobOS repository, in infra/android/. It downloads LineageOS (over 100 GB), builds the RobOS apps and start-up animation, and builds the image. On a computer with 64 GB of memory or less, first turn on compressed swap in memory. This lasts until you restart:
sudo modprobe zram && sudo zramctl --size 48G --algorithm lz4 /dev/zram0 && sudo mkswap /dev/zram0 && sudo swapon --priority 100 /dev/zram0
Then check the computer is ready, and build:
infra/android/robos-image.sh check
infra/android/robos-image.sh all
To build again later, robos-image.sh start runs the build as its own background service with a memory limit, and infra/android/tools/progress.sh shows a progress bar. The result is ~/android/robos/out/target/product/nio/lineage-24.0-…-UNOFFICIAL-nio.zip, about 1 GB. Our first full build took about a day.
Install it on the phone
This erases the phone. The LineageOS install guide for the Moto G100 has every step with pictures; read it first. In short:
- Unlock the bootloader with Motorola's official unlock-code process on its support website.
- Start the phone in its bootloader (hold Volume Down while turning it on) and flash three parts of the image from the build folder. On this phone, the recovery program lives in the boot partition.
fastboot flash dtbo dtbo.img fastboot flash vendor_boot vendor_boot.img fastboot reboot bootloader fastboot flash boot boot.img - Start Recovery mode from the bootloader menu.
- Copy the partitions to the second slot. In recovery choose Apply update, then Apply from ADB, and send LineageOS's
copy-partitionszip (ours wascopy-partitions-20261011-signed.zip, linked from the install guide):adb -d sideload copy-partitions-20261011-signed.zip. - Erase the phone with Factory reset, then Format data.
- Install RobOS: choose Apply from ADB again and run
adb -d sideload lineage-24.0-20261106-UNOFFICIAL-nio.zipwith your zip's name. - Reboot. After Motorola's warning screen, the RobOS logo appears, then RobOS Home.
Protocol error. Our first attempt failed with reap_urb errors because the phone was plugged into a USB dock. Plugging the cable straight into the laptop fixed it.Bring over your settings
- On your RobOS computer, open Preferences → Config Sync & Sharing and apply the sync to your Google Drive. A progress bar shows each file as it uploads.
- On the phone, open Preferences, tap Sign in with Google, sign in in the browser, and come back to Preferences when Google says you are signed in.
- Choose your backup. Enter its passphrase if it has one.
- Under Use on this phone, tap Restore to this phone on the Smart Home card. On our phone it reported "Smart Home: 1 light added."
- Open Smart Home. For Feit or Smart Life lights, tap Add Feit or Smart Life lights once and enter your Tuya Access ID and Access Secret.

To return the phone to Motorola's own software, use Motorola's Rescue and Smart Assistant.
5. Honest limits
- Installing erases the phone, and it only works on a phone whose bootloader Motorola will unlock.
- It is a test build. It is a
userdebugbuild signed with Android's public test keys. That suits your own phone; a phone you hand to someone else should be built with your own keys. - Motorola shows its unlocked-bootloader warning every time the phone starts, before the RobOS logo.
- No Google Play. There are no Google Play services or Play Store. Install other apps from their makers' official downloads with
adb install. - The Recents button doesn't open an app switcher. The app switcher belongs to the stock launcher, which RobOS Home replaces. Navigation uses the three-button bar.
- Building needs a big computer: about 60 GB of memory (with compressed swap), 300 GB or more of disk, and a day of build time.
- Feit and Smart Life lights need a free Tuya cloud project, about 20 minutes to set up once. Each device fetches the light keys itself; they are never synced.
- Only Smart Home settings restore today. Preferences lists everything in the backup, but other categories stay on your computers until a phone app uses them.
- One phone model. The Moto G100 is the only phone this image has been built and installed on.
For the full story of the build, including the memory problems it took to get through it, read how we built the RobOS phone. See also Smart Home, Config Sync and RobOS on your TV.