Skip to content

Moto Mods Developer Documentation

Moto Mods snap onto the back of a Moto Z phone and extend it with hardware the phone does not have — speakers, projectors, batteries, cameras, displays, and whatever else a developer could build. The platform was opened up with a development kit, a firmware stack built on NuttX and Greybus, and an Android SDK. Motorola took the portal offline; these pages are what the Wayback Machine preserved of it.

How a Moto Mod works

Every Moto Mod carries a Moto Mod Microcontroller (MuC) — an STM32L476 running NuttX — which brings up the interface to the phone, enumerates the protocols the Mod supports, and manages power and firmware updates. A separate Moto High Speed Bridge (MHB) carries display and camera traffic when it is needed, and stays powered down when it is not.

Underneath, the platform speaks Greybus, the open-source protocol from Project Ara. Greybus lets a driver running on the Mod appear to Android as though it were local hardware, so a Mod speaker joins the normal audio routing and a Mod battery joins the normal charging logic without anyone writing a bespoke kernel driver.

Mods with custom hardware that Android has no concept of — sensors, instruments, arbitrary USB devices — use the Raw protocol to talk to a companion Android app instead.

Where to start reading

If you want to… Start at
Understand the platform end to end System Architecture
Implement a firmware protocol Firmware: Overview
Write the Android side Android Software: Overview
Put hardware together MDK Overview
Copy working code Examples
Set up a toolchain Set Up Your Environment

This is an archive

Moto Mods is a discontinued product. Download links, forums, purchase links and contact forms are preserved as they were written and no longer lead anywhere live. See About This Archive for what was recovered, what is missing, and where each page came from.