Donate to Development

As a kid I dreamed of flight. Now I can’t physically fly at supersonic speeds, or buy a VR smartphone-controlled drone to be my proxy. The best I can do is marry mobile device orientation with the CesiumJS framework.

Flip controls Sensitivity Show Day/Night Time Controls Atmosphere effects Debug Calibrate / Center Controls

Compatibility Matrix

Device Chrome Firefox Opera Safari Internet Explorer
Samsung Phone (Galaxy S3, S5, S6)  Ο (full) O Ο  N/A
Samsung Tablet (Note 8, 10)  Ο  O  Ο  N/A
Sony Xperia Z5  Ο  ? (untested)  ?  N/A
XiaoMi Redmi 2  Ο  ?  ?  N/A
Apple Phone (iPhone 6, 7)  ?  ? ? Ο (no fullscreen)
Apple Tablet (iPad Mini 4, Air2)  ?  ? ? Ο (no fullscreen)
Lumia 625 ? ? χ  χ
PC Fastest OK ?  ? Slow, No controller

Keyboard Controls (Mobile)

Key Alt Key Command
W, S ↑, ↓ Forward, Backwards
A, D ←, → (strafe) Left, Right
shift, ctrl Up, Down
C  end Calibrate/Center controls
home  Z Fly ‘home’

PC controls are customisable.



Nothing happens
Your browser does not support device orientation, which means no tilt controls.

Error Message (“flight delayed”)?
Your phone or browser doesn’t support WebGL. This is a known issue for Windows phones up to the Lumia 925, and for old browsers like the stock Android browser.

Atmosphere or oceans glitch white.
This is a known issue with Cesium, which doesn’t seem to affect newer devices. My (wife’s) Galaxy S5 runs it just fine. Workaround: disable atmosphere and keep terrain disabled.

The controls ‘drift’.
Even if perfectly still, the view may yaw port or starboard. Unfortunately, the drift comes from the raw orientation readings and is exacerbated by the orientation transformations. Use ‘calibrate’ to center the controls. Shaking your device may help this problem fix itself.

One degree of rotation doesn’t work.
Yaw is sometimes ‘stuck’ on my Note 8 tablet. Shaking the device may help this problem  fix itself after a while.


Controller not detected
For browsers other than Edge, re-connect the controller and press a button. Edge users: keyboard only, sorry.

Thumbstick control reversed
Map the thumbstick axis to the opposite command. e.g. ‘move down’ instead of ‘move up’.

It’s not very realistic.
I wanted a flight simulator, not a pull-levers-to-avoid-crashing simulator. For a physically accurate free PC flight sim, try GEFS.


cesiumjs.org, material.io, bing maps

Special thanks

Rich Tibbett, Nghia Ho, Ted Mielczarek,


Yuriko – very lucky to be your husband. Sheba – 世界一の犬。


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s