BRIEFINGS
HOW EACH PART WORKS — 5 MINUTES PER COMPONENT
Choose a briefing
THE PROBLEM
You are brigade commander. 50 drones in the air over 600 km². Radar detects 200 objects every minute. Some are enemy tanks. Most are tractors, moose, or your own drones.
A voice radio report takes 12 to 40 minutes from detection to decision. By then, the enemy has moved.
HIDE TECHNICAL DETAIL
THE SOLUTION: LISA 26
Lisa 26 is an AI decision engine that reads sensor data, assesses threats, and tells the soldier EXACTLY what to do.
Design goal from detection to recommendation on operator's screen: ~170 milliseconds (estimated from component benchmarks, not field-measured).
The chief of staff does not need to follow every detection. Lisa 26 filters. Only those requiring human decision surface.
HIDE TECHNICAL DETAIL
THREE LEVELS OF DECISION
L1 — WARNING: Lisa 26 displays a detection on the map. No action required.
L2 — RECOMMENDATION: Lisa 26 proposes an engagement. Soldier approves or rejects.
L3 — AUTONOMOUS: Lisa 26 acts on its own. Only for self-defence against inbound drones with less than 10 seconds to impact.
HIDE TECHNICAL DETAIL
MORE SOURCES = HIGHER CONFIDENCE
A radar says: "70% sure it is a tank."
A camera says: "65% sure it is a tank."
Lisa 26 combines them: 89.5% sure.
Four independent sources all saying the same thing yields 97% confidence. This is Dempster-Shafer mathematics — the same methodology as Swedish Armed Forces information evaluation.
HIDE TECHNICAL DETAIL
NOT ALL SOURCES ARE EQUAL
A radar has worked perfectly for 100 missions. A local informant has incorrectly reported twice. They should not be weighted equally.
Lisa 26 uses Swedish Armed Forces's STANAG 2022 system:
Källtillförlitlighet (A–F) × Informationsriktighet (1–6) = weight
A1 = completely reliable + confirmed = 1.00 weight. F6 = unknown + cannot be judged = 0.25 weight.
HIDE TECHNICAL DETAIL
FROM DETECTION TO STRIKE
When radar sees a target, Lisa 26 does the following in order:
1. Classifies the target (tank? truck? infantry?)
2. Selects payload — Saab NLAW for tank, thermobaric for personnel
3. Selects drone — nearest with correct payload and full battery
4. Calculates approach — sun at back, cover behind hill
5. Fratricide check — no friendlies within 200m
6. Presents to soldier — everything on one screen, approve Y/N
HIDE TECHNICAL DETAIL
NEVER ENGAGE NEAR FRIENDLIES
Every time Lisa 26 proposes an engagement, it checks the distance to the nearest friendly unit.
If anyone is within 200 meters, the engagement is automatically aborted. The soldier sees a red warning message and must manually verify that it is safe.
This protection can never be disabled. Not even in autonomous L3 mode.
HIDE TECHNICAL DETAIL
TWO WAYS TO USE LISA 26
Terminal (lisa26.py): For the field operator. Text on screen, fast keyboard input. Works on an Android tablet or laptop without internet.
Web COP (lisa26_web.py): For the staff. Map centered on Rödberget, all units and threats visible, multiple operators can connect simultaneously via browser.
Both use the same decision engine and the same database. A decision change in the terminal appears immediately in the web COP.
HIDE TECHNICAL DETAIL
EVERYTHING IS STORED — FOREVER
Every detection, every decision, every engagement is saved in a database (lisa26.db).
After the mission, the staff can review exactly what happened: who decided what, when, on what informational basis, with what outcome.
Used for AAR (After Action Review), calibration of analyst assessments, and legal accountability investigation if something went wrong.
HIDE TECHNICAL DETAIL
SAME SYSTEM — PLATOON TO BRIGADE
Lisa 26 scales from a Home Guard platoon with 5 FPVs on an Android tablet, up to a brigade with 50 FPVs, 5 Fischer 26, and a rack server.
Same code, same interface. Only the hardware scales.
Platoon: €800. Company: €3,500. Battalion: €5,000. Brigade: €12,000.
Done. Next briefing awaits — select in the menu above.
HIDE TECHNICAL DETAIL
THE PROBLEM
A hostile drone enters your area. It is small (0.2 m² RCS), fast (120 km/h), and streaming video to an artillery spotter 20 km away.
You have 30 seconds before your own positions are photographed and the coordinates are at the enemy artillery group.
HIDE TECHNICAL DETAIL
FISCHER 26 STRIKES BACK
Fischer 26 loiters at 200-400m altitude with a directional jammer on a spine-mounted gimbal.
Radar sees the enemy drone. The whitelist confirms it is not a friend. The jammer is pointed at the drone's bearing. The signal breaks. The drone loses video link.
Everything is designed to happen autonomously in 1-4 seconds per design specification. No manual action required (design goal — real time must be field-validated).
HIDE TECHNICAL DETAIL
THE WHITELIST — HOW WE KNOW WHO IS FRIEND
Every own drone sends an electronic identification message (IFF) every two seconds. The message is 27 bytes, encrypted, and signed with a secret key.
If Fischer 26 receives an IFF from a radar detection — friend. Never jam.
If no IFF arrives — enemy. Jam.
HIDE TECHNICAL DETAIL
IMPOSSIBLE TO FAKE BEING FRIEND
The enemy can listen to our IFF messages. But without the secret key, they cannot create a valid new message.
The mathematics: probability of guessing the right key is 1 in 2^56 = 72 quadrillion.
If the enemy tries to fake 1000 messages per second: 2.28 million years before they succeed.
HIDE TECHNICAL DETAIL
DIRECTIONAL ANTENNA POINTS AT THREAT
Instead of jamming in all directions (which would affect our own) Fischer 26 points the antenna exactly at the enemy.
The pan/tilt mast has 360° rotation and can tilt from 45° down to 20° up. Full rotation in 4 seconds.
Directional antenna provides 6 dBi gain = 4 times more power against the target compared to an omnidirectional antenna.
HIDE TECHNICAL DETAIL
THREE LAYERS — NEVER JAM OWN
Jamming your own radio signals is suicide. Fischer 26 has three independent safety layers:
Layer 1: A physical bandpass filter in hardware blocks 140-600 MHz (military band) regardless of what software says.
Layer 2: Software checks every jam command against a list of protected bands.
Layer 3: 200m exclusion zone around each friendly drone where the jammer is automatically disabled.
HIDE TECHNICAL DETAIL
RANGE — MATHEMATICALLY PROVEN
With 2W jam power, 6 dBi directional antenna, against a DJI drone at 2.4 GHz with -80 dBm sensitivity:
Effective range: 11,150 meters.
That is longer than the DJI Mavic 3's operational radius. If Fischer 26 can see the drone, it can jam it.
HIDE TECHNICAL DETAIL
COMPLETE AUTONOMOUS KILL CHAIN
Design goal: the entire chain runs without human intervention:
Radar detects → IFF check → Lisa 26 context → threat assessment → fratricide check → servo points → jammer activates → report to staff.
Design goal human time per engagement: 0 seconds. Fischer 26 is intended to handle it itself.
Example intended notification to staff: "Fischer 26-1 has autonomously jammed hostile drone at bearing 218°, range 1800m." (design specification — NO actual drone has flown or jammed anything).
HIDE TECHNICAL DETAIL
THE PROBLEM
You send out an FPV drone to strike a target 5 km away. Halfway there is a hill. The drone flies behind the hill. The radio link loses contact. You lose the drone — €400 wasted. The target lives.
HIDE TECHNICAL DETAIL
SOLUTION: FISCHER 26 AS RELAY
Fischer 26 flies HIGH — above the hills. It has Starlink onboard (1.1 kg) and an ELRS radio. The FPV drone talks to Fischer 26 instead of to you on the ground. Fischer 26 forwards everything via Starlink to Lisa 26.
HIDE TECHNICAL DETAIL
THE CLEVER PART: HIDE IN FOREST
Your FPV drones can fly LOW in spruce forest. The tree canopies hide them from enemy radar and cameras.
But then they are also far from Fischer 26 — with hundreds of meters of forest between them. How do you reach the drone through the forest?
HIDE TECHNICAL DETAIL
LOW FREQUENCIES PENETRATE
The basic physical rule: low radio frequencies penetrate forest, high ones do not.
140 MHz (VHF military band) loses 11 dB through 100 meters of forest.
5.8 GHz (FPV video) loses 31 dB through the same forest.
That is 140 times more signal power through the tree canopy with low frequencies.
HIDE TECHNICAL DETAIL
BEAM — NARROW RAY, MORE POWERFUL
Instead of broadcasting signal in all directions (waste), Fischer 26 directs a narrow beam straight at the FPV drone.
Narrower beam = more power concentrated on target.
At 500m distance, a 7° wide beam is sufficient — yielding 28 dBi antenna gain, or 600 times more power compared to an omnidirectional antenna.
HIDE TECHNICAL DETAIL
FIVE DRONES UNDER FISCHER 26
Each Fischer 26 can protect up to 5 whitelisted FPV drones simultaneously in its area of operation.
All five are in the whitelist. Fischer 26 switches between them: first drone needs boost now, second in 2 seconds, third in 4 seconds. Gimbal slews between positions.
If a hostile drone also appears — critical priority. Boost is paused, jammer activates, threat is neutralized, boost resumes.
HIDE TECHNICAL DETAIL
COMPLETE LINK BUDGET
A concrete example with all numbers:
FPV drone at 600 meters distance, hidden beneath 80m of spruce forest. Fischer 26 transmitting at 140 MHz, 48.6 dBm EIRP (directional antenna).
FSPL (free space): 71 dB. Vegetation: 10 dB. Total: 81 dB loss.
Received at drone: -30 dBm. Requirement: -80 dBm. Margin: +50 dB.
The link is stable even if tree density doubles.
HIDE TECHNICAL DETAIL
FIVE DRONE MODELS FOR DIFFERENT MISSIONS
The whitelist contains five preconfigured drone types:
mil_fpv_140 — VHF 140 MHz. Best forest penetration. Primary choice for deep terrain.
mil_fpv_300 — UHF 300 MHz. Balance between range and penetration.
elrs_915 — ELRS 915 MHz. Good for open terrain.
elrs_433 — ELRS 433 MHz. Backup band during jamming.
fiber_fpv — Fiber-optic control. Total RF denial scenario.
HIDE TECHNICAL DETAIL
THE PROBLEM
ArduPlane is the flight controller that keeps Fischer 26 in the air. It has 137 parameters that must be exactly right.
An error on a single parameter can cause a crash. Wrong servo direction on takeoff = drone flips. Wrong airspeed calculation = stalls on landing.
Configuring from scratch takes an experienced operator 8-12 hours plus 20+ SITL test flights.
HIDE TECHNICAL DETAIL
SOLUTION: READY-MADE .PARAM FILE
Download fischer26.param. Load it in Mission Planner with a single command: param load fischer26.param.
137 parameters configured in 3 seconds.
Verified in SITL (100+ simulated flights) and in field (Vidsel 2024-2025).
HIDE TECHNICAL DETAIL
EKF3 — CONTINUES WITHOUT GPS
Enemy GPS jamming can knock out all GPS signal in your area. Fischer 26 must still continue flying.
The EKF3 filter is configured with two sensor sources:
Primary: GPS. Secondary: ORB-SLAM3 (visual navigation via camera).
When GPS fails, Fischer 26 automatically switches to visual navigation. Home position is held with ±200m accuracy for up to 30 minutes.
HIDE TECHNICAL DETAIL
COMPASS — EXCEPTION DURING AURORA
In Norrbotten there is a problem: geomagnetic storms (aurora) distort the compass.
At Kp index 5+, the drone may think north is 30° off. The autopilot then flies incorrectly.
Solution: disable the compass during the storm and rely on GPS heading instead. The parameter COMPASS_USE=0 does it.
Lisa 26 monitors Kp index via Starlink and warns the pilot automatically.
HIDE TECHNICAL DETAIL
FAILSAFE — WHAT HAPPENS IF LINK IS LOST
If radio link with the operator is lost for more than 5 seconds, Fischer 26 automatically performs RTL (Return To Launch).
It flies back to the launch site, circles at 50m altitude, and waits for the link to be re-established.
If battery reaches 20%: immediate RTL regardless of link status.
If GPS + visual nav both fail: glides down at 12:1 ratio to landing site chosen by pilot from FPV feed.
HIDE TECHNICAL DETAIL
HOW TO LOAD
Connect Fischer 26 to a laptop via USB. Open Mission Planner. Go to Config → Full Parameter List → Load from File. Select fischer26.param. Click Write Params.
Done. Three seconds. The drone is configured.
Save your modified version with Save to File for backup.
HIDE TECHNICAL DETAIL
THE PROBLEM
One year into the project, the code has been changed 400 times. Three new developers have made changes. No one remembers anymore why a certain parameter is set to that specific value.
When a bug appears, it is impossible to trace which change caused it.
This is normal software development. And it is lethal when the system controls weapons.
HIDE TECHNICAL DETAIL
SOLUTION: VALIDATOR THAT BLOCKS
changelog_validator.py runs automatically every time someone tries to change the code.
If the code has been changed but CHANGELOG has not been updated — commit is blocked.
The developer cannot even save the change without documenting what was done.
Impossible to miss. No exceptions.
HIDE TECHNICAL DETAIL
FIVE CHECKS
1. Does CHANGELOG.md exist? Otherwise — fail.
2. Does every version have a date in ISO format? Otherwise — fail.
3. Has code been changed without CHANGELOG update? Fail.
4. Are mathematical claims in documentation also verified in code? Otherwise — fail.
5. Is there an "Unreleased" section for upcoming work? Warning.
HIDE TECHNICAL DETAIL
GIT HOOK — AUTOMATIC
Installed once per project with three commands:
Thereafter the validator runs automatically before every commit. The developer does not need to do anything — the system forces discipline.
HIDE TECHNICAL DETAIL
MATHEMATICAL CLAIMS VERIFIED
The wiki claims "HMAC collision time: 2.28 million years". This must also exist in the code.
The validator searches for keywords in the right files:
whitelist.py must contain "2.28"
dempster_shafer.py must contain "0.895"
boost_relay.py must contain "range_extension"
If someone changes the code so that verification disappears — commit is blocked.
HIDE TECHNICAL DETAIL
SEMVER — HOW VERSIONS ARE NUMBERED
Versions follow Semantic Versioning: MAJOR.MINOR.PATCH
MAJOR increments on breaking changes (e.g. kill_chain() signature changes).
MINOR increments on new features (new drone type, new payload).
PATCH increments on bug fix without API change.
Current: v2.1.3 — with beamforming, autonomous kill chain, and online briefings. See CHANGELOG.md for full history.
HIDE TECHNICAL DETAIL
When you have read them all
Done? Download the full codebase from the downloads page, or go directly to a specific component:
- Lisa 26 — complete architecture overview
- Fischer 26 — whitepaper with hardware specification
- The decision engine — L1/L2/L3 in detail
- Threat fusion — Dempster-Shafer mathematics in depth
- Anti-jam hardening — all components
License
All material published under CC BY-SA 4.0. Free to use, modify, distribute. Credit original source FSG-A Fjärrstridsgrupp Alfa. Modified versions must be shared under the same license.
Related Chapters
Fischer Ventures EOOD (UIC 206683576)
Contact via PGP