[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fu262g-nJcuV4-4lz6hezCRJtP5ZMnXAWCpL3P4EhdqA":3,"$frGNgmNjtlPfKLBt4snYCfBYvdKPoMzxfPl9JFRP6c1o":17,"me":16,"shop-vat-rates":78},{"article":4},{"id":5,"slug":6,"title":7,"summary":8,"visibility":9,"isPublished":10,"categoryId":11,"categorySlug":12,"categoryName":13,"updatedAt":14,"bodyMd":15,"legacy":16,"createdAt":14},"ad551cb0-7738-4375-8f50-edae5b333775","atmo-3d-data-for-apps-and-second-seat","Atmo 3D data: second seat, NMEA and your own software","How Atmo shares its wind and smart vario with a second-seat instrument over CAN, and the $LXBC,FUSION and $LXBC,FAST sentences field by field for anyone building on them.","public",true,"e72fc8d5-81a2-4dbc-a37c-a4b06662ba99","atmo","Atmo 3D wind","2026-10-23T11:54:53.828Z","Atmo's results do not stay inside one instrument. The Era that runs Atmo shares its wind and smart vario over the CAN bus with a second-seat instrument, and sends them in two LX NMEA sentences to whatever is connected to its user port or Bluetooth. This article is for pilots setting up a two-seater and for anyone writing software that wants Atmo's numbers. For the protocol in general, start with [LX NMEA sentences: a reference for developers and integrators](\u002Fkb\u002Farticle\u002Flx-nmea-sentences-for-developers).\n\n## Second seat: one licence, two cockpits\n\nAtmo runs on the Era that carries the licence. That instrument publishes Atmo's current and average wind, its smart vario and its netto on the CAN bus.\n\nA second-seat instrument on the same bus with current firmware picks them up: its own Wind page, the cyan smart-vario needle and, if ticked, the `Smart vario sound` all work from the front instrument's values. The `SVAR` navbox does not — on a second seat it reads 0.0. The second seat needs **no licence of its own**; it simply listens.\n\nIf the front instrument stops publishing — on the ground, before Atmo has settled after takeoff, or when the bus is disconnected — the second seat's values go blank after about three seconds rather than freeze on an old number.\n\n## On the wire: two sentences\n\nAtmo's values travel in two sentences of the `$LXBC` broadcast family. Both are LX-specific: an app that does not know them ignores them and keeps working from the standard sentences, which are unchanged.\n\n| Sentence | Carries | Rate | Switched on by |\n|---|---|---|---|\n| `$LXBC,FUSION` | Netto, smart vario, current and average wind, confidence, status | About once a second, with each `LXWP` block — not configurable | `LXWPx` output under `Setup › NMEA`, on an instrument running Atmo |\n| `$LXBC,FAST` | IAS, TAS, altitude, vario, netto, smart vario, SC\u002Fvario mode | Up to 10 Hz | `LXBC` output under `Setup › NMEA`, plus your software on every connection — **off by default** |\n\n### `$LXBC,FUSION`\n\n```\n$LXBC,FUSION,\u003Cnetto>,\u003Csmart_vario>,\u003Cwind_dir>,\u003Cwind_speed>,\u003Cavg_dir>,\u003Cavg_speed>,\u003Cconfidence>,\u003Cstatus>*CS\n$LXBC,FUSION,0.42,0.55,245,3.4,251,2.9,0.87,18103*14\n$LXBC,FUSION,,,,,,,0.00,434002*2E\n```\n\n| Field | Unit | Notes |\n|---|---|---|\n| `netto` | m\u002Fs | Vertical motion of the airmass, up positive |\n| `smart_vario` | m\u002Fs | The smart vario — the same value as the cyan needle |\n| `wind_dir`, `avg_dir` | degrees | Direction the wind blows **from**, current and average |\n| `wind_speed`, `avg_speed` | m\u002Fs | Current and average wind speed |\n| `confidence` | 0.0–1.0 | How sure Atmo is of its wind solution; 0.00 whenever it is not flying |\n| `status` | hex word | The low byte is the solution state: `0` not started, `1` initial alignment, `2` converging, `3` locked, `4` degraded (a key sensor missing). The bits above it are flags, so a locked instrument sends something like `18103`, never a bare `3` |\n\nThe value fields are **empty unless the low byte of `status` is `3`**. The second example is a valid sentence from an instrument on the ground: state `02`, confidence 0.00, no values. Mask the low byte of `status` before comparing it, and treat empty fields as *no value*, never as zero.\n\nThere is no request for this sentence: it simply arrives with the `LXWP` block.\n\n### `$LXBC,FAST`\n\n```\n$LXBC,FAST,\u003Cias_kmh>,\u003Ctas_kmh>,\u003Calt_m>,\u003Cvario>,\u003Cnetto>,\u003Csmart_vario>,\u003Csc_mode>*CS\n$LXBC,FAST,102.4,108.9,1043.2,-0.45,0.82,0.31,0*02\n```\n\n`FAST` is the instrument's high-rate flight-data sentence, not an Atmo sentence as such: IAS and TAS in km\u002Fh, altitude in metres, and the classic `vario` and `netto` in m\u002Fs. Its `smart_vario` field is Atmo's smart vario and is empty unless Atmo is locked. `FAST` needs the `LXBC` output enabled, is off by default, and **its interval is forgotten at every power cycle**, so your software enables it on each connection:\n\n```\n$LXDT,SET,BC_INT,FAST,0.1*64\n```\n\n`0.1` seconds is the 10 Hz ceiling. Firmware without `FAST` accepts the request but never sends the sentence; detect support by reading the intervals back with `$LXDT,GET,BC_INT` and looking for the `FAST` pair in the answer.\n\n## What a standard app sees\n\nXCSoar, SeeYou Navigator and other flight apps that read the standard LX sentences keep receiving the instrument's classic vario and wind exactly as before. They show Atmo's values only if they read `$LXBC,FUSION` or `$LXBC,FAST`. If you maintain such an app and want to add them, the tables above are all you need — and we are glad to help: [talk to us](\u002Fcontact).\n\n## Checklist for integrators\n\n- Parse `status` first: mask its low byte for the solution state, and accept empty value fields.\n- Expect `FUSION` about once a second; use `FAST` for anything that needs the vario at a high rate.\n- Re-send `SET,BC_INT` for `FAST` after every reconnect and every power cycle.\n- Units differ between the sentences: `FUSION` wind speeds are m\u002Fs, `FAST` airspeeds km\u002Fh; varios are m\u002Fs, up positive; directions are *from*. Convert for display, never in the parser.\n- Accept upper- and lower-case hex in checksums.\n- Locked means Atmo's solution has converged, not that it is exact. Use the confidence field, and remember that its straight-flight wind can drift on long, smooth glides.\n\n## Where to go next\n\n- [LX NMEA sentences: a reference for developers and integrators](\u002Fkb\u002Farticle\u002Flx-nmea-sentences-for-developers)\n- [Connecting XCSoar, Oudie and other PDAs](\u002Fkb\u002Farticle\u002Fconnecting-xcsoar-oudie-and-pdas)\n- [Flying with Atmo 3D: the Wind page, the smart vario and the sound](\u002Fkb\u002Farticle\u002Fatmo-3d-flying-with-it)\n- [Atmo 3D wind: what it measures and how it works](\u002Fkb\u002Farticle\u002Fatmo-3d-wind-what-it-is)\n",null,{"categories":18,"articles":51,"search":77},[19,22,28,34,40,45],{"id":11,"slug":12,"name":13,"description":16,"sortOrder":20,"articleCount":21},15,5,{"id":23,"slug":24,"name":25,"description":16,"sortOrder":26,"articleCount":27},"42232637-6088-4100-9314-0b4986098818","getting-started","Getting started",20,7,{"id":29,"slug":30,"name":31,"description":16,"sortOrder":32,"articleCount":33},"9d0897b6-42d0-4643-8ceb-e8a02ce4a854","navia","NAVIA",25,11,{"id":35,"slug":36,"name":37,"description":16,"sortOrder":38,"articleCount":39},"92b87517-c814-4237-b180-19df9cb80b16","connectivity","Connectivity",30,3,{"id":41,"slug":42,"name":43,"description":16,"sortOrder":38,"articleCount":44},"db776f9a-4f67-42bf-94bc-171c93f10cea","service-repairs","Service & repairs",1,{"id":46,"slug":47,"name":48,"description":16,"sortOrder":49,"articleCount":50},"48e22b59-26c1-477f-b136-3d3728b6dc22","device-guides","Device guides",40,12,[52,58,64,70,76],{"id":53,"slug":54,"title":55,"summary":56,"visibility":9,"isPublished":10,"categoryId":11,"categorySlug":12,"categoryName":13,"updatedAt":57},"f365b994-4bad-49e1-bdcc-e8796f3e06a5","atmo-3d-wind-what-it-is","Atmo 3D wind: what it measures and how it works","The wind triangle in three dimensions, why Atmo needs no compass and no second antenna, what it learns in flight, what you see in the cockpit, and the honest limits of measuring wind from motion.","2026-10-23T11:54:53.787Z",{"id":59,"slug":60,"title":61,"summary":62,"visibility":9,"isPublished":10,"categoryId":11,"categorySlug":12,"categoryName":13,"updatedAt":63},"33138e94-424c-46f4-988d-bc8782d42338","atmo-3d-activate-on-era","Activating Atmo 3D on your Era","Which Era instruments run Atmo, buying the licence with your serial number, loading Fusion.lic from the SD card, the restart that switches it on, and how to check that it is working.","2026-10-23T11:54:53.804Z",{"id":65,"slug":66,"title":67,"summary":68,"visibility":9,"isPublished":10,"categoryId":11,"categorySlug":12,"categoryName":13,"updatedAt":69},"3f93eb93-aa78-4fd6-80ea-cf46ed9ebc60","atmo-3d-flying-with-it","Flying with Atmo 3D: the Wind page, the smart vario and the sound","Where the Wind page lives and how to read its two winds, what the smart vario shows in cruise, on thermal entry, in the climb and in manoeuvres, and how to put it on a needle, a navbox and the sound.","2026-10-23T11:54:53.812Z",{"id":71,"slug":72,"title":73,"summary":74,"visibility":9,"isPublished":10,"categoryId":11,"categorySlug":12,"categoryName":13,"updatedAt":75},"e06ea0f7-60ef-46a4-9b8d-73f82a97e8cb","atmo-3d-calibration-and-troubleshooting","Atmo 3D: calibration, accuracy and troubleshooting","What Atmo calibrates by itself, the level reference it takes from you, what accuracy to expect, and a symptom table for the questions pilots ask after their first flights.","2026-10-23T11:54:53.820Z",{"id":5,"slug":6,"title":7,"summary":8,"visibility":9,"isPublished":10,"categoryId":11,"categorySlug":12,"categoryName":13,"updatedAt":14},false,{"AT":26,"BE":79,"BG":26,"CY":80,"CZ":79,"DE":80,"DK":32,"EE":81,"ES":79,"FI":82,"FR":26,"GR":82,"HR":32,"HU":83,"IE":84,"IT":81,"LT":79,"LU":85,"LV":79,"MT":86,"NL":79,"PL":84,"PT":84,"RO":80,"SE":32,"SI":81,"SK":26},21,19,22,24,27,23,17,18]