This is the plain-language overview of the project, written as raw material for a human-readable page. It gathers
what the technical documents in docs/ say, and also what so far was only discussed between the owner and the
developer: decisions, comparisons, open questions, what still has to be checked in the simulator.
Technical detail stays in the linked documents.
Status as of build 75 (2026-11-13). Personal use only: the LevelUp / Zibo / Laminar files are under their EULA, and nothing derived from them may be redistributed.
1. What it is#
The LevelUp 737NG (the Zibo 737-800 family for X-Plane 12), brought to Microsoft Flight Simulator 2024:
- The aircraft you see is LevelUp's own: every 3-D object of the 737-800 (exterior, flight deck, cabin) converted with its original textures, animations, click spots and lights.
- The displays you read are Zibo's own: PFD, ND, upper and lower EICAS, standby instrument, CDU and the panel windows. They are drawn from Zibo's instrument definitions and bitmaps by an interpreter of X-Plane's panel format, not redrawn by hand.
- The logic behind it (systems, engines, autopilot, FMS, TCAS, GPWS) is Zibo's. It is either translated line
by line from Zibo's plugin (
zibomod), or Zibo's own Lua scripts running unchanged inside the aircraft. All of it runs in one module inside MSFS; nothing runs outside the simulator. - The flight model is MSFS's. The masses, CG, geometry and engine positions come from LevelUp's X-Plane
aircraft; the aerodynamic and engine tables are tuned against public 737-800 figures (
docs/FDE_TUNING.md). This is the one big part that cannot be Zibo's: X-Plane's flight model does not exist in MSFS.
2. How "exactly like Zibo" is checked#
The goal is that the aircraft behaves exactly as Zibo's does. To prove it rather than guess:
- The oracle. Zibo's original plugin and Lua scripts are run, unmodified, inside a small headless test program that imitates X-Plane. It is never part of the aircraft, only of the tests.
- A scenario (a power-up, a takeoff, an ILS approach, traffic converging, a GPWS sink rate, …) is flown in the oracle, and every value of Zibo's code is recorded each frame.
- The same frames are replayed through our translation, and every value is compared. "Identical on every frame" in the notes below means exactly that: no value differs.
- Systems tests then fly the same situations through the whole aircraft module, with MSFS's inputs as they would arrive.
- Finally the owner checks it in MSFS. Features marked not checked in MSFS have passed the tests above but have not been flown in the simulator yet.
Each feature below is one of:
| Mark | Meaning |
|---|---|
| Zibo, verified | Zibo's code, translated, identical to the oracle |
| Zibo, running | Zibo's own Lua scripts running as they are (the FMS) |
| Zibo, translated | Zibo's code translated, tested in the aircraft, no oracle recording yet |
| Ours | MSFS needs something Zibo does not have (or does through X-Plane); written to behave like the real 737 |
| Approximation | MSFS does not give what the real thing needs; as close as possible |
3. Installing#
- Copy (or link)
msfs2024\Packages\levelup-aircraft-737nginto the MSFS 2024 Community folder and restart the simulator. - Select "LevelUp 737-800 (CFM56-7B26)".
- The console shows
LU737 systems: initialised;L:LU737_WASM_BUILDshows the build number.
Building from source: docs/BUILD_AND_INSTALL.md.
4. What works#
Cockpit and controls#
- Every switch, knob, lever and button of the 737-800 flight deck (about 990) works the MSFS way. Knobs turn with
the wheel or a drag, switches flip by click or drag, levers drag through their detents
(
docs/COCKPIT_CONTROLS.md). Left-click only. - Hardware throttles share the levers with the autothrottle: your choice of three behaviours
(option
L:LU737_THR_HW_MODE, see §6). - Manual reversion: with both hydraulic systems below 1000 psi, the stick is heavy and slow as on the real 737 (MSFS cannot load the stick, so its authority and rate are reduced). Ours.
Electrics, APU, air, engines#
- Electrics (batteries, buses, generators, ground power, transfer), APU (start, governor, failures), bleed air, packs, engine start. Written from specifications taken from Zibo's code and Lua, compared with the oracle.
- Pressurisation, hydraulics and flaps. Zibo, verified.
- Gear, brakes, autobrake, speedbrake, stabiliser trim, yaw damper, reversers, fuel system (zibomod's "Systems"). Zibo, verified.
- The CFM56 engine model's tables (N1, N2, EGT, fuel flow, start) come from zibomod and are compared value by value. The thrust itself is MSFS's engine, given Zibo's numbers.
- IRS alignment, with Zibo's ALIGN TIME option (real by latitude, fast, long) and an instant option.
Displays#
- Upper EICAS and lower DU (ENG / SYS pages, page build delay as LevelUp's).
- PFD (captain and first officer):
- speed and altitude tapes, attitude, heading;
- speed bands, V-speeds, FMA;
- ILS deviations, flight path vector, runway symbol, expanded localizer scale, radio altimeter;
- TCAS RA pitch limits, GPWS PULL UP / WINDSHEAR, bank angle and low airspeed alerts, the stall band.
- ND (captain and first officer):
- all modes: APP, VOR, MAP, PLN, centred, expanded;
- the route with its turns, holds and runways drawn exactly as zibomod draws them;
- waypoint labels, T/C, T/D, decel;
- the map's stations, airports and fixes;
- TCAS traffic, the green arc, the VOR / ADF pointers;
- terrain and weather radar (see below).
- Standby instrument (ISFD), CDUs, the MCP and radio panel windows, clocks.
- Most values on the PFD and ND are now Zibo's own numbers (build 72): about 21 of 230 PFD values and 160 of 1050 ND values still wait, mostly the HUD, terrain peak numbers and a few flags (§7).
FMS and navigation data#
- Zibo, running: Zibo's FMS is its own Lua scripts (B738.a_fms and B738.calc), running inside the aircraft module in a small built-in Lua engine. Every CDU page, entry and message is Zibo's.
- Navigation data comes from MSFS's own database (airports, runways, navaids, waypoints, airways, SIDs, STARs and
approaches), read in the background and converted to what Zibo's FMS expects. An airport's procedures are fetched
when it is first entered: Zibo shows NOT IN DATA BASE the first time, enter it again a moment later
(
docs/M5C_NAVDATA.md).
Autopilot, autothrottle, LNAV, VNAV#
- The MCP, the flight directors, the autopilot and autothrottle modes. Zibo, verified. That covers LVL CHG, V/S, ALT HLD, HDG SEL, VOR/LOC, APP, CWS, FMA, the speed window, SPD INTV and ALT INTV.
- LNAV: zibomod's path calculation and roll commands. Zibo, verified.
- VNAV: climb, cruise, descent path, the arrival and approach with restrictions, DES NOW. Zibo, verified.
- Takeoff to climb: TO/GA, THR HLD, LNAV at 50 ft, VNAV at 400 ft, thrust reduction and acceleration. Zibo, verified.
- ILS approach and autoland: LOC and G/S capture, dual channel, FLARE, RETARD, rollout. Zibo, verified. The oracle flies the approach in a closed loop on Zibo's own flight director.
- The servo that moves MSFS's controls is ours: Zibo's commands are Zibo's, the way MSFS's elevator and ailerons follow them is tuned for MSFS.
NAV receiver realism (build 71) — ours, on by default#
MSFS's ILS is a perfect beam. The aircraft's receivers add what real ones show, and the autopilot, FMS and displays all read the same receivers:
- False glideslopes at 6° (reversed) and 9° above the path (a high approach can capture a false path, as in reality).
- Needles that wander and jump far out, with flickering flags beyond the service volume.
- Beam bends: slight, different for each ILS.
- The localizer's back course, with reversed sense.
- The DME: 2–4 s to lock on after tuning, holding its last distance through short losses.
Off: L:LU737_ILS_REALISM_OFF = 1 (MSFS's clean signal). docs/ILS_REALISM.md.
TCAS (build 73) — Zibo, verified#
- Zibo's TCAS logic: other / proximate traffic, TA, RA, the RA pitch limits on the PFD, the TCAS test pattern. Identical to the oracle on all 2543 frames.
- The traffic is MSFS's: AI and multiplayer aircraft and helicopters within 40 nm, asked from MSFS once a second. Each aircraft keeps its own TCAS slot. Aircraft in the air take priority over those on the ground, so a busy airport does not hide the aircraft in the air. Positions move on smoothly between updates. Ours.
- Transponder knob: STBY … TA/RA. Turning it left and holding at STBY for 1.7 s runs the TCAS test (TEST springs back), as Zibo's. MSFS's transponder state follows (what ATC and MSFS's traffic see).
docs/TCAS.md.
GPWS and the stall alert (build 74) — Zibo, verified#
- Zibo's GPWS: SINK RATE, PULL UP, TERRAIN (closure rate), GLIDESLOPE, BANK ANGLE, windshear, low airspeed, the altitude callouts and MINIMUMS logic, the GPWS test. Identical to the oracle on all 13785 frames.
- The PFD's stall band. Zibo, verified.
- The GPWS panel: SYS TEST (short / long), FLAP / GEAR / TERR inhibit switches with their guards (open the guard first, as on the aircraft), the two stall warning test buttons.
docs/GPWS.md.
Terrain and weather radar on the ND (build 75)#
- In Zibo, the weather radar is X-Plane's own and the terrain is a separate X-Plane plugin (TerrainRadar), not Zibo's code. Here both are MSFS's own map in the same place on the ND, placed and turned exactly as Zibo's ND geometry.
- TERR: the terrain coloured against your altitude as the 737's EGPWS display:
- red more than 2000 ft above you;
- yellow 1000–2000 ft above;
- dim yellow from 500 ft below to 1000 ft above;
- green and dark green down to 2000 ft below;
- black lower.
- WXR: MSFS's weather radar (the weather you actually fly through) in the 737's green / yellow / red.
- The radar panel (mode, gain, ALT knob): Zibo's logic, Zibo, translated. Gain works as on the real radar; the auto mode shows the heaviest rain cores in magenta as turbulence; the ALT (tilt) knob fades the returns as the scan leaves the weather. These three are approximations, because MSFS gives no cloud heights.
docs/TERRAIN_WXR.md. Not checked in MSFS yet.
5. Different from Zibo, and why#
| What | In X-Plane (Zibo) | Here | Why |
|---|---|---|---|
| Flight model | X-Plane's | MSFS's, tuned to public 737-800 data | X-Plane's flight model does not exist in MSFS |
| Hardware throttle vs autothrottle | X-Plane keeps them apart | three modes to choose from (§6) | MSFS has one throttle |
| Manual reversion | X-Plane loads the controls | stick authority and rate reduced | MSFS cannot load the stick |
| ILS signal | X-Plane's receivers | MSFS's beam plus receiver realism (optional) | MSFS's ILS is perfect |
| Navigation data | Navigraph / X-Plane files | MSFS's own database, converted | the data MSFS has |
| TCAS traffic | X-Plane's AI / multiplayer | MSFS's AI / multiplayer | MSFS's traffic |
| Weather radar | X-Plane's radar | MSFS's radar layer, gain / tilt approximated | MSFS's weather |
| Terrain display | TerrainRadar plugin (not Zibo) | MSFS's terrain map | MSFS's terrain |
| Autopilot servo | X-Plane's autopilot servos | our servo on MSFS's controls | Zibo's commands, MSFS's controls |
6. Options#
All options are L:vars for now (an EFB page is planned); the full list is in docs/OPTIONS.md. The ones a pilot
would change:
| Option | Values (default first) |
|---|---|
L:LU737_THR_HW_MODE hardware throttle |
0 last mover (moving the hardware overrides the A/T, which takes back 2 s after you stop) · 1 follow the A/T · 2 always the hardware. Remembered |
L:LU737_IRS_ALIGN_TIME |
0 real (by latitude) · 1 fast 60 s · 2 instant · 3 long 150 s |
L:LU737_ILS_REALISM_OFF |
0 realism on · 1 MSFS's clean ILS |
L:LU737_EEC_HOTSTART_OFF |
0 Zibo (the EEC aborts a hot start) · 1 no abort |
L:LU737_EICAS_FUEL_FORMAT / _UNITS |
fuel box or round gauges · KG or LBS |
L:LU737_DU_PAGE_BUILD_OFF |
0 pages build up as LevelUp's · 1 at once |
L:LU737_MANUAL_REVERSION |
1 on · 0 off |
L:LU737_AP_ROLL_GAIN |
autopilot roll gain multiplier (default 1) |
L:LU737_FMS_HZ |
how often Zibo's FMS scripts run per second (default 20) |
L:LU737_NAV_REBUILD |
1 = read MSFS's navigation data again |
Zibo's own EFB options keep Zibo's defaults until the EFB is rewritten (docs/OPTIONS.md §3).
7. Not done yet, known limitations#
- Sounds: none of Zibo's sounds yet. That includes the GPWS and TCAS voices ("PULL UP", "TRAFFIC", "CLIMB"), callouts and system sounds; only the PFD / ND show the alerts.
- EFB: Zibo's tablet (options, ground services, loading) is not rewritten; options are L:vars.
- Terrain: no peak elevation numbers and no look-ahead TERRAIN / PULL UP yet (they need terrain heights MSFS does not give an aircraft; planned from public terrain data, see §8).
- Weather radar: the real antenna tilt (scanning a cloud's height) cannot be modelled without cloud heights; gain and the ALT knob are approximations.
- GPWS: TOO LOW GEAR / TOO LOW FLAPS / DON'T SINK are Zibo's code but not yet compared with the oracle (they need Zibo's takeoff / go-around state, which the recorded scenario did not reach). The GPWS INOP and BELOW G/S panel lights are not wired.
- PFD / ND details: HUD, display control panel switch, GLS / LOC failure flags, ANP, the destination runway ICAO flag.
- Lightning: not shown (the 737 radar does not show lightning; MSFS does not expose its own).
- Fire detection: not rewritten (the APU fire failure has no effect yet).
- Flight model: thrust, drag and handling are MSFS's tuned tables, not Zibo's X-Plane numbers.
8. Decisions taken and open questions#
Decisions by the owner (in order):
- Personal use only; never distributed.
- Behave exactly like Zibo; verify against the original (the oracle).
- MSFS-style cockpit controls, left click only.
- ILS realism (false glideslopes, needle noise, beam bends, back course, DME) on by default, switchable off.
- PFD and ND first; then TCAS, then the PFD alerts (GPWS / stall), then terrain and weather radar.
- Terrain and weather radar from MSFS's own map engine and weather layer; the radar adjustable (gain, tilt).
Open:
- External data (proposed, waiting for the owner):
- Public terrain tiles (AWS Terrain Tiles) over the internet, for the terrain peak numbers and the look-ahead TERRAIN / PULL UP. Recommended.
- Real-world lightning (Blitzortung), only meaningful with MSFS live weather; off by default.
- VS indicator looks wrong in MSFS (owner's report): in our offline render the needle matches Zibo's (its line points at the same values as Zibo's VS scale, and it lies flat at zero as in X-Plane's own render). The suspicion is that MSFS's display engine handles the needle's clipping differently from a browser. Waiting for a screenshot from MSFS.
9. Comparisons with Zibo's own pictures#
- The PFD and ND were laid over X-Plane's own render of Zibo's panel (
cockpit_3d/-PANELS-/Panel_Preview.png): positions, sizes and fonts match. Differences are values (the two pictures are different moments), and the horizon's blue / brown. X-Plane's preview was made with an older Zibo whose horizon bitmap was more saturated. We use the current Zibo's bitmap. - More side-by-side comparisons need pictures of Zibo in X-Plane at the same moments (the owner's screenshots), or MSFS screenshots of what looks different.
10. Still to check in MSFS#
Passed the tests, not yet seen in the simulator:
- Build 72: PFD flight path vector, runway symbol, expanded localizer; ND heading-bug line, EFIS disagree.
- Build 73: TCAS with MSFS traffic, the transponder knob and TCAS test, MSFS's transponder state.
- Build 74: GPWS alerts on the PFD, the GPWS panel, the stall test buttons.
- Build 75: terrain and weather radar placement and colours, the radar panel's knobs, the NDs' loading time (the map adds about 1.3 MB to each ND's script).
Glossary (for readers)#
- Zibo / zibomod: the free Zibo 737-800 mod for X-Plane, which the LevelUp 737NG is built on. zibomod is its compiled plugin; the rest is Lua scripts.
- Oracle: Zibo's original code running headless as the reference the rewrite is compared with.
- PANEL_3D: X-Plane's format for the displays' instruments; the displays here interpret Zibo's.
- L:var: a local variable of the aircraft in MSFS, used here for options and for what the systems tell the displays.
- FMA: the flight mode annunciator at the top of the PFD.
- TA / RA: TCAS traffic advisory / resolution advisory.
- EGPWS: enhanced ground proximity warning system (the terrain display and terrain warnings).