diff --git a/general/package/wifibroadcast-ext/files/files_to_backup.txt b/general/package/wifibroadcast-ext/files/files_to_backup.txt
new file mode 100644
index 00000000..630d63b8
--- /dev/null
+++ b/general/package/wifibroadcast-ext/files/files_to_backup.txt
@@ -0,0 +1,2 @@
+/etc/wfb.yaml
+/etc/majestic.yaml
diff --git a/general/package/wifibroadcast-ext/files/majestic.yaml b/general/package/wifibroadcast-ext/files/majestic.yaml
new file mode 100644
index 00000000..5192cd42
--- /dev/null
+++ b/general/package/wifibroadcast-ext/files/majestic.yaml
@@ -0,0 +1,76 @@
+system:
+  webPort: 80
+  httpsPort: 443
+  logLevel: debug
+isp:
+  antiFlicker: disabled
+  sensorConfig: /etc/sensors/02gregWDR.bin
+  exposure: 11
+image:
+  mirror: false
+  flip: false
+  rotate: 0
+  contrast: 50
+  hue: 50
+  saturation: 50
+  luminance: 50
+video0:
+  enabled: true
+  codec: h265
+  fps: 90
+  size: 1280x720
+  bitrate: 9333
+  rcMode: cbr
+  gopSize: 1.0
+video1:
+  enabled: false
+  codec: h264
+  size: 704x576
+  fps: 15
+jpeg:
+  enabled: true
+  qfactor: 50
+  fps: 5
+osd:
+  enabled: false
+  font: "/usr/share/fonts/truetype/UbuntuMono-Regular.ttf"
+  template: "%d.%m.%Y %H:%M:%S"
+  posX: 16
+  posY: 16
+audio:
+  enabled: false
+  volume: 30
+  srate: 8000
+  codec: opus
+  outputEnabled: false
+  outputVolume: 30
+rtsp:
+  enabled: false
+  port: 554
+nightMode:
+  colorToGray: true
+  irCutSingleInvert: false
+  lightMonitor: false
+  lightSensorInvert: false
+motionDetect:
+  enabled: false
+  visualize: false
+  debug: false
+records:
+  enabled: false
+  path: "/mnt/mmcblk0p1/%F"
+  split: 20
+  maxUsage: 95
+outgoing:
+  enabled: true
+  server: udp://0.0.0.0:5600
+watchdog:
+  enabled: true
+  timeout: 300
+hls:
+  enabled: false
+fpv:
+  enabled: true
+  noiseLevel: 0
+  refPred: true
+  refEnhance: 6
diff --git a/general/package/wifibroadcast-ext/files/rc.local b/general/package/wifibroadcast-ext/files/rc.local
new file mode 100644
index 00000000..91d1418a
--- /dev/null
+++ b/general/package/wifibroadcast-ext/files/rc.local
@@ -0,0 +1,15 @@
+#!/bin/sh
+#
+# rc.local
+#
+# This script is executed at the end of each multiuser runlevel.
+# Make sure that the script will "exit 0" on success or any other
+# value on error.
+#
+# In order to enable or disable this script just change the execution
+# bits.
+#
+# By default this script does nothing.
+echo "&L04 &F22 CPU:&C &B temp:&T" >/tmp/MSPOSD.msg
+
+exit 0
diff --git a/general/package/wifibroadcast-ext/files/video_profiles.yaml b/general/package/wifibroadcast-ext/files/video_profiles.yaml
new file mode 100644
index 00000000..84eacc57
--- /dev/null
+++ b/general/package/wifibroadcast-ext/files/video_profiles.yaml
@@ -0,0 +1,22 @@
+all_profiles: [vipers_profile,user1,user2,default]
+profiles:
+  vipers_profile:
+    wireless:
+      channel: 161
+      redundancy: medium
+      range_preference: long
+    video:
+      size: 1280x720
+      fps: 90
+      bitrate_target: 12000
+    telemetry:
+      osd: msposd
+      connected_fc: betaflight
+      serial_tty: ttyS2
+  user1:
+    size: [1280x720]
+  user2:
+    size: [1280x720]
+  default:
+    size: [1280x720]
+
diff --git a/general/package/wifibroadcast-ext/files/vtx_profiles.yaml b/general/package/wifibroadcast-ext/files/vtx_profiles.yaml
new file mode 100644
index 00000000..cf1b16dc
--- /dev/null
+++ b/general/package/wifibroadcast-ext/files/vtx_profiles.yaml
@@ -0,0 +1,55 @@
+all_profiles: [vipers_profile,user1,user2,default]
+all_keys: [drone.key,drone-secret1.key,drone-secret2.key,drone-secret3.key,bind.key]
+all_styles: [freestyle,cinematic,cruising]
+all_fps: [30,59,69,90,120]
+all_size: [1280x720,1440x1080,1920x1080]
+all_sensor_config: [imx335.bin,imx415.bin,gregSpike05-2-lessblue.bin]
+profiles:
+  vipers_profile:
+    wireless:
+      channel: 161
+      style: freestyle
+      allow_bw: [20,40]
+      video_key: /etc/drone-secret1.key
+      tunnel_key: /etc/drone-secret1.key
+      bind_key: /etc/bind.key
+    video:
+      size: 1280x720
+      max_fps: 90
+      max_bitrate: 12000
+      style: freestyle
+    telemetry:
+      osd: msposd
+      connected_fc: betaflight
+      serial_tty: ttyS2
+  user1:
+    size: [1280x720]
+  user2:
+    size: [1280x720]
+  default:
+    size: [1280x720]
+settings:
+  style:
+    freestyle:
+      noiseLevel: 0
+      sensor_config: /etc/sensors/gregSpike05-2-lessblue.bin
+      fec_n: 10
+      fec_k: 12
+      max_mcs: 3
+      max_bitrate: 12000
+      bw: 20
+      max_tx_pwr: 50
+    cinematic:
+      fec_n: 9
+      fec_k: 10
+      max_mcs: 5
+      max_bitrate: 20000
+      bw: 40
+      max_tx_pwr: 35
+    cruising:
+      fec_n: 8
+      fec_k: 12
+      max_mcs: 1
+      max_bitrate: 6000
+      bw: 20
+      max_tx_pwr: 63
diff --git a/general/package/wifibroadcast-ext/files/wfb.yaml b/general/package/wifibroadcast-ext/files/wfb.yaml
new file mode 100644
index 00000000..a04e6946
--- /dev/null
+++ b/general/package/wifibroadcast-ext/files/wfb.yaml
@@ -0,0 +1,40 @@
+wireless:
+  txpower: 1
+  channel: 165
+  wifi_mode: HT20
+  passphrase: openipc
+  video_key: /etc/drone.key
+  tunnel_key: /etc/drone.key
+  bind_key: /etc/bind.key
+  link_id: 7669206
+  max_bw: 20
+  vtx_name: OpenIPC
+  wifi_module: default
+  allow_startup_bind: true
+  alink: disabled
+  temperature_throttle: enable
+  profile: vipers_profile
+  broadcast_redundancy: disabled
+broadcast:
+  mcs_index: 2
+  fec_k: 8
+  fec_n: 12
+  force_vht: false
+  bw: 20
+  ldpc_rx: 0
+  ldpc_tx: 1
+  stbc: 0
+  guard_interval: short
+tunnel:
+  mcs_index: 1
+  fec_k: 1
+  fec_n: 2
+  force_vht: false
+  ldpc: 0
+  stbc: 0
+telemetry:
+  router: msposd
+  serial: /dev/ttyS2
+  osd_fps: 1010
+  channels: 5
+  tx_on_arm: enabled
diff --git a/general/package/wifibroadcast-ext/files/wifi_profiles.yaml b/general/package/wifibroadcast-ext/files/wifi_profiles.yaml
new file mode 100644
index 00000000..2e019c6f
--- /dev/null
+++ b/general/package/wifibroadcast-ext/files/wifi_profiles.yaml
@@ -0,0 +1,86 @@
+all_profiles: [bl-r8812af1,bl-m8812eu2,bl-m8731bu4,user1,user2,default]
+profiles:
+  bl-r8812af1:
+    bw: [5,10,20,40]
+    stbc: [0,1]
+    ldpc_rx: [0,1]
+    ldpc_tx: [0,1]
+    tx_power:
+      mcs0: [1,3,6,8,11,13,15,18,20,23,25]
+      mcs1: [1,3,6,8,11,13,15,18,20,23,25]
+      mcs2: [1,3,5,8,10,12,14,16,19,21,23]
+      mcs3: [1,3,5,7,9,11,12,14,16,18,20]
+      mcs4: [1,3,4,6,8,10,11,13,15,16,18]
+      mcs5: [1,3,4,6,8,10,11,13,15,16,18]
+      mcs6: [1,2,4,5,7,8,9,11,12,14,15]
+      mcs7: [1,2,3,5,6,7,8,9,11,12,13]
+  bl-m8812eu2:
+    bw: [5,10,20]
+    stbc: [0,1]
+    ldpc_rx: [0,1]
+    ldpc_tx: [0,1]
+    tx_power:
+      mcs0: [1,5,10,15,20,25,30,35,40,45,50]
+      mcs1: [1,5,10,15,20,25,30,35,40,45,50]
+      mcs2: [1,5,10,15,20,25,30,35,40,45,45]
+      mcs3: [1,5,10,15,20,25,30,35,40,40,40]
+      mcs4: [1,5,10,15,20,25,30,35,35,35,35]
+      mcs5: [1,5,10,15,20,25,30,35,35,35,35]
+      mcs6: [1,5,10,15,20,25,30,30,30,30,30]
+      mcs7: [1,5,10,15,20,25,25,25,25,25,25]
+  bl-m8731bu4:
+    bw: [5,10,20,40]
+    stbc: [0]
+    ldpc_rx: [0]
+    ldpc_tx: [0,1]
+    tx_power:
+      mcs0: [1,5,10,15,20,25,30,35,40,45,50]
+      mcs1: [1,5,10,15,20,25,30,35,40,45,50]
+      mcs2: [1,5,10,15,20,25,30,35,40,45,45]
+      mcs3: [1,5,10,15,20,25,30,35,40,40,40]
+      mcs4: [1,5,10,15,20,25,30,35,35,35,35]
+      mcs5: [1,5,10,15,20,25,30,35,35,35,35]
+      mcs6: [1,5,10,15,20,25,30,30,30,30,30]
+      mcs7: [1,5,10,15,20,25,25,25,25,25,25]
+  user1:
+    bw: [20]
+    stbc: [0]
+    ldpc_rx: [0]
+    ldpc_tx: [0]
+    tx_power:
+      mcs0: [1,5,10,10,10,10,10,10,10,10,10]
+      mcs1: [1,5,10,10,10,10,10,10,10,10,10]
+      mcs2: [1,5,10,10,10,10,10,10,10,10,10]
+      mcs3: [1,5,10,10,10,10,10,10,10,10,10]
+      mcs4: [1,5,10,10,10,10,10,10,10,10,10]
+      mcs5: [1,5,10,10,10,10,10,10,10,10,10]
+      mcs6: [1,5,10,10,10,10,10,10,10,10,10]
+      mcs7: [1,5,10,10,10,10,10,10,10,10,10]
+  user2:
+    bw: [20]
+    stbc: [0]
+    ldpc_rx: [0]
+    ldpc_tx: [0]
+    tx_power:
+      mcs0: [1,5,10,10,10,10,10,10,10,10,10]
+      mcs1: [1,5,10,10,10,10,10,10,10,10,10]
+      mcs2: [1,5,10,10,10,10,10,10,10,10,10]
+      mcs3: [1,5,10,10,10,10,10,10,10,10,10]
+      mcs4: [1,5,10,10,10,10,10,10,10,10,10]
+      mcs5: [1,5,10,10,10,10,10,10,10,10,10]
+      mcs6: [1,5,10,10,10,10,10,10,10,10,10]
+      mcs7: [1,5,10,10,10,10,10,10,10,10,10]
+  default:
+    bw: [20]
+    stbc: [0]
+    ldpc_rx: [0]
+    ldpc_tx: [0]
+    tx_power:
+      mcs0: [1,5,10,10,10,10,10,10,10,10,10]
+      mcs1: [1,5,10,10,10,10,10,10,10,10,10]
+      mcs2: [1,5,10,10,10,10,10,10,10,10,10]
+      mcs3: [1,5,10,10,10,10,10,10,10,10,10]
+      mcs4: [1,5,10,10,10,10,10,10,10,10,10]
+      mcs5: [1,5,10,10,10,10,10,10,10,10,10]
+      mcs6: [1,5,10,10,10,10,10,10,10,10,10]
+      mcs7: [1,5,10,10,10,10,10,10,10,10,10]