Build for Mota
Three SDKs, one ecosystem. Build apps for Mota OS and Mota Mobile OS, or write hardware drivers.
Mota OS SDK
Build web, native, and cross-platform desktop apps with the oskit CLI, MotaUI toolkit, and Mota App Store.
ExploreMota Mobile OS SDK
Build phone and tablet apps with telephony, sensors, haptics, NFC, camera, and biometric APIs.
ExploreDriver SDK
Write user-space hardware drivers in Rust: memory safe, sandboxed, restarted on a crash, and no GPL obligation.
DownloadDeveloper SDK
Build applications for Mota OS using web technologies, native languages, or cross-platform frameworks. One CLI tool handles the entire workflow.
Application Tiers
Web Apps
React, Vue, Svelte, or vanilla HTML/CSS/JS. Shared web runtime — ~5 MB vs ~180 MB for Electron.
- Fastest to build
-
mota.*native JS API - Hot reload with Vite
Native Apps
Rust, C++, C#/.NET, Go, or Zig. Direct Wayland + MotaUI widget toolkit.
- Direct GPU (Vulkan)
- MotaUI widget toolkit
- Best performance
Cross-Platform
Flutter, .NET MAUI, Qt 6, Kotlin Multiplatform, or React Native.
- Existing codebases work
- Mota platform plugins
- Share code across OSes
oskit CLI
One tool for the entire workflow — scaffolding, development, building, testing, and publishing.
# Scaffold a new web app
$ oskit init --template=web-react my-app
# Run local dev server with hot reload
$ oskit dev
# Build a release package (.ospkg)
$ oskit build --release
# Publish to the Mota App Store
$ oskit publish
# Migrate from Electron
$ oskit migrate --from=electron
App Store & Distribution
15%
Revenue share
$0
Developer fee
<24h
Review time
Sideloading always permitted. No gatekeeping. Proprietary and open-source apps welcome. Revenue share drops to 10% above $1M/yr.
Mobile SDK
Build mobile apps using the same oskit CLI, package format, and app store as Mota OS. One codebase targets phone, tablet, and desktop.
Same SDK, Same App Store
The Mobile SDK extends the Mota OS Developer SDK. Web apps, native apps, and cross-platform apps all work on both desktop and mobile. Same .ospkg format, same signing keys, same app store.
# Create a mobile app
$ oskit new myapp --template native-rust --target mobile
# Build and run on device
$ oskit build --release
$ oskit run --device
# Publish to the app store
$ oskit publish
Mobile-Specific APIs
Access telephony, sensors, haptics, NFC, biometrics, camera, geofencing, push notifications, and location services through type-safe SDK bindings.
Dial calls, send SMS, read call log, signal strength
Accelerometer, gyroscope, magnetometer, barometer, proximity, ambient light, step counter
8 predefined patterns + custom patterns (amplitude, duration, pause)
Tag read/write, NDEF parsing, HCE payments, beam
Fingerprint and face authentication via TEE (user confirmation required)
Multi-lens control, photo/video capture, viewfinder streaming
GPS, network, cellular positioning (high/balanced/low accuracy), geofencing
Register and receive messages via UnifiedPush (no Google dependency)
Mobile UI Components
MotaUI includes mobile-specific widgets extending the desktop toolkit. All components follow platform conventions for touch targets (48x48dp min), reachability, and gesture interaction.
Bottom Nav
Bottom Sheet
Swipe Actions
Pull to Refresh
FAB
Snackbar
Nav Drawer
Scrollable Tabs
Collapsing Bar
Full Dialog
Driver SDK 1.2
Write hardware drivers in Rust that run in user space. A driver is an ordinary process: it reaches its device through a standard Linux interface and hands what it produces to Mota. Mota OS starts it in a sandbox when the device appears and restarts it if it crashes, so a driver bug never takes the system down.
Mota Driver SDK 1.2
The Driver SDK of Mota OS 1.2: the mota-driver CLI, the SDK crate source, docs and five example drivers. For x86_64 Linux (glibc 2.39+, e.g. Ubuntu 24.04). Free, Apache-2.0 or MIT.
Verify the download: sha256sum -c mota-driver-sdk-1.2.0-x86_64.tar.gz.sha256 (with both files in the same folder).
Already on Mota OS 1.2? The SDK is preinstalled: run mota-driver new. Drivers you build run on Mota OS 1.2 or newer.
From zero to a running driver
You need Rust 1.85 or newer. mota-driver package builds a .deb; installing it on Mota OS binds matching devices at once.
# Unpack the SDK
$ tar xzf mota-driver-sdk-1.2.0-x86_64.tar.gz && cd mota-driver-sdk-1.2.0
# Create a sensor driver from a template
$ ./bin/mota-driver new ~/room-temp --class sensor --sdk ./driver-sdk
# Build it and package it as a .deb
$ ./bin/mota-driver package ~/room-temp
# On Mota OS: install, then check it is bound and running
$ sudo mota-driver install ./mota-driver-room-temp_0.1.0_amd64.deb
$ mota-driver list
Memory Safe
Rust prevents buffer overflows, use-after-free, and null dereferences at compile time.
Sandboxed
Each driver runs as its own locked-down service: only its device nodes, only the capabilities its class needs, no network unless it is a network driver.
Crash Isolated
A crashed driver restarts after 500 ms. One that keeps crashing is disabled and the user is notified; the rest of the system carries on.
No GPL Obligation
Drivers are user-space processes, not kernel modules, and the SDK is Apache-2.0 or MIT. Proprietary drivers are permitted.
Hardware Access
| API | Reaches the device through | Use Case |
|---|---|---|
| hw::hid | hidraw: input and output reports | Keyboards, pads, custom HID gadgets |
| hw::usb | usbfs: bulk, interrupt and control transfers | USB devices without a kernel driver |
| hw::pci | VFIO or UIO: registers, interrupts, and DMA confined by the IOMMU | PCI cards and controllers |
Driver Classes
A driver hands its output to Mota through one of four sinks:
A virtual keyboard, mouse or pad (uinput)
Readings on the org.motaos.Sensors D-Bus service
A network interface (TAP)
A disk (ublk)
Display and audio stay with the Mota compositor and PipeWire; there is no driver class for them in 1.2. Templates exist for each class plus USB and PCI devices, and the download includes five example drivers: hid-remap, hwmon-sensors, udp-tunnel, ram-disk and edu-disk.
Ready to Build?
The Driver SDK is available now. The app SDKs arrive with Mota OS and Mota Mobile OS. No developer fees, no gatekeeping, no telemetry.