Quick start — Uno F-16 Panel

You do not have to write the sketch yourself. The Arduino package contains the ready-made sketch, wiring diagram, data chain and a short getting-started guide.

For Uno R3 / ATmega328P and SH1106, 128 × 64 pixels. The pictured Binghe module is rated for 3–5 V according to its listing. On the Uno: SDA to A4, SCL to A5.



1. Install the library
Select Arduino Uno in the Arduino IDE and install U8g2 by Oliver Kraus using Library Manager.

2. Open and upload the sketch
Extract the ZIP and open UnoF16Panel.ino inside its matching folder. Keep PanelProtocol.h beside it. Select the correct COM port, verify the sketch and upload it to your Uno.

3. Connect the OLED and LEDs
Create the data chain shown below in Live Hub and assign it to your detected Uno. This supplies the OLED and LEDs with BMS values. The additional PC connection for the toggle switches is explained further down.



This is how the software identifies your panel: the Uno replies to WHOAMI with CS-UNO-F16-PANEL-01

What Fuel State, IAS and landing gear show

Falcon BMS provides the values. The PC software sends a data chain over USB to the Uno. The OLED shows total fuel in lb and indicated airspeed in kt; the three green LEDs follow the nose, left main and right main landing gear separately.

Example data for illustration — not live readings

fuelstate#6200;ias#305;master_caution#0;eng_fire#0;hyd#0;gear_nose#1;gear_left#1;gear_right#1;valid#1;

This example shows 6200 lb of fuel and 305 kt. All three gear LEDs are on and the three warning LEDs are off. Gear status comes from the individual gear indications, not from the landing gear handle position.

Send all nine fields together, followed by a line break. Use factor 1, no decimal places for numbers, and 0 or 1 for switches. In Controller Workshop, select the sources listed here, save the template, prepare it for the BMS profile and assign it to the detected panel. The JSON file describes the template; it is not a complete profile and the workshop currently has no separate import button for it.

fuelstate | bms.TotalFuel | Total fuel · lb

ias | bms.Kias | Indicated airspeed · kt

master_caution | bms.LightBits.MasterCaution | Master Caution · D10

eng_fire | bms.LightBits.ENG_FIRE | ENG FIRE · D11

hyd | bms.LightBits.HYD | HYD/OIL PRESS · D12

gear_nose | bms.LightBits3.NoseGearDown | Nose gear locked down · D13

gear_left | bms.LightBits3.LeftGearDown | Left main gear locked down · A0

gear_right | bms.LightBits3.RightGearDown | Right main gear locked down · A1

valid | bms.In3D | In3D enable · 0 switches outputs off



The sketch reads the toggle switches. To control BMS, they also need a PC connection: the current Live Hub output does not yet handle these Uno switches as an input card.

valid#0 turns off all LEDs and displays BMS OFFLINE. Live Hub sends updates when values change. The Uno therefore keeps the last received value; it may remain displayed if the connection is interrupted.

The switch connection is available as a separate download on the website. Labels and pin assignments are shown in the wiring diagram. The sketch displays short German status messages on the OLED.

Compiled for Arduino Uno and checked with automated offline tests. Testing the complete setup with a physical panel, OLED and running BMS is still pending.

https://cockpitsuite.com/en/bms-schalter-led-panel.html#datenkette
