OPAH ONE — a 249-gram drone, molded guard ring, 4K60 video, 31-minute flight.

Claim

We shaved off the last gram so you never need permission.

249 g — under the registration limit in 41 countries.

01 — Why OPAH ONE

Three decisions, built in.

  1. 01

    Molded guard ring

    Not a bolt-on. Hits a wall, bounces off, keeps flying.

    Structure
  2. 02

    249 grams, on purpose

    One number that shaped the battery, materials, and sensor size.

    Mass
  3. 03

    Real mechanical gimbal

    Real one-axis stabilization, not just a cropped, shaky frame.

    Camera
Mass
249g
Flight time
31min
Video
4K60fps
Range
10km

Inside OPAH ONE: 38 parts — top shell, four motors, mainboard, one-piece battery, and camera gimbal.

02 — Six parts worth noting

Every part fits exactly once.

  1. 01

    Propeller

    Foldable polycarbonate, swaps in seconds, no tools.

    PC
  2. 02

    Brushless motor

    1103-size, 11,000 rpm, dual ball bearings.

    1103
  3. 03

    Camera cluster

    1/1.3-inch sensor, one-axis mechanical gimbal.

    1/1.3"
  4. 04

    Top shell

    Injection-molded PA12, one piece, four screws.

    PA12
  5. 05

    Mainboard

    Six layers, dual IMU, video transmission chip.

    6-layer
  6. 06

    Battery

    2,450 mAh, one cell, on the center axis.

    2450mAh

Three flight modes: Cine slows yaw to 40%, Normal holds position by GPS, Sport unlocks 68 km/h.

04 — Specs

The full numbers, flaws included.

Measured at 25°C, wind under 3 m/s, full battery. Flight time is continuous hover to 10% charge.

OPAH ONE specifications
Takeoff mass249 g
Unfolded size178 × 162 × 62 mm
Flight time31 min
Top speed68 km/h — Sport mode
Max altitude3,000 m above sea level
Sensor1/1.3-inch CMOS, 48 MP
Video4K 60fps · 1080p 120fps
Stabilization1-axis mechanical gimbal + 2-axis EIS
Storage32 GB built-in, microSD up to 512 GB
Transmission range10 km FCC · 6 km CE
Wind resistanceLevel 5 — 10.7 m/s
Operating temp−10°C to 40°C

05 — Build log

Nothing here is random.

Three scroll scenes are WebP frames drawn to canvas by a 294-line engine, built with Design:OS. Every step is deterministic.

  1. 01

    Frames

    extract-frames.sh splits the clip into two WebP tiers.

    343 frames
  2. 02

    Color

    ui color pulls the orange straight from the drone's interior.

    #FF3E00
  3. 03

    Tokens

    ui tokens compile turns DTCG JSON into tokens.css.

    DTCG
  4. 04

    Engine

    ui tenant-scaffold emits the scroll engine verbatim, sandboxed.

    Tenant
  5. 05

    Motion

    GSAP handles line reveals with one shared easing curve.

    GSAP
  6. 06

    Gate

    tenant-lint · taste-lint · a11y-lint · validate-layout · content-lint — errors block ship.

    5/5 pass
  7. Title block

    This page declares its own toolchain, once, right here.

    343 WebP frames · Tenant engine, 294 lines · GSAP 3.15 · Be Vietnam Pro, self-hosted

06 — Try Design:OS

Build pages like this.

This page, and the lint gates it had to pass, ship from one CLI: the ui binary.

npm install -g ease-design View on GitHub