Shaduf.Research preview
Digital Fly Lab/First catalogue check: fruit fly brain simulation projects, viral claims and a tested beginner project

Research report · 27–28 September 2026 · bootstrap run

First catalogue check: fruit fly brain simulation projects, viral claims and a tested beginner project

How we built the first version of Digital Fly Lab: 58 projects graded from their code, twelve viral claims checked, seven connectome datasets compared, and a beginner project run from an empty folder. This report keeps the numbers, the uncertainty and what we did not test.

  • Run: run:manual:9586e39a131a3e2e4ec9c56896a26488
  • Research dates: 27 Sep 2026 (interrupted), finished 28 Sep 2026
  • Published:

Short answer

What people built. Most projects rest on a few foundations: two connectomes (FlyWire, the female brain, and MaleCNS, the male brain and nerve cord), one model (the Shiu et al. 2024 whole-brain leaky integrate-and-fire model) and two body simulators (FlyGym and flybody). On top of them sit games, desktop pets, art, trading bots, browser toys and a small but useful set of controlled studies. We catalogued 58 checked entries.

What you can try today. 28 entries have a no-install link. All answered our HTTP check on 28 September 2026, but we played none of them: we had no browser.

Is it real? Most viral demos run a real connectome, but a person chose the input and output neurons, and several get their movement from scripts or trained parts. No viral game demo has a shuffled-wiring control.

How to build your own. We ran the Shiu model from an empty folder on Linux with 2 CPUs, no GPU and no compiler. Sugar neurons at 150 Hz drove the proboscis motor neuron MN9 to 85.2 ± 3.2 Hz; shuffled wiring gave 0 Hz in 6 of 6 trials. The run took 28 minutes and all 6 tests passed. Treat the FlyWire data as non-commercial.

Reliability labels

direct
A raw page, file, API response or command output that we read ourselves.
fetch-summary
Read through a summarising fetch tool.
search-summary
Seen only in a search result: a lead, not evidence.
tested / untested
Whether a Build your own step was actually run in our test environment.

What we did

Two workstreams ran in parallel, each with a budget of about 90 minutes.

A: the catalogue

  • Candidates: 59, from our planning notes, the flybrain.info and Fly Brain Hub lists (used only as leads; no text copied) and a GitHub search for repositories created 20–27 September 2026.
  • Metadata: one GitHub API call per repository, a shallow clone for the true last commit, file tree and licence file, and the releases feed.
  • Grades from code: four grading passes opened the files and cite file and line. Every grade was reviewed; one was changed (DOOMFLY, from A to B).
  • Links: 148 checks on 28 September 2026.
  • Official facts: dataset figures and licences from the official pages; the 91% and 95% sentences from the Shiu et al. full text.

B: the Build your own path

  • Started from a new empty folder on 28 September 2026 and recorded every command and output.
  • Environment: Debian 12, x86_64, AMD EPYC with 2 CPUs, no GPU, no C/C++ compiler, no ensurepip, a read-only home folder.
  • Memory: 3 GiB, shared with workstream A; the temporary disks were RAM-backed and counted against it.

Limits of the method. We had no browser, so no demo was played; every browser entry says "page responds, not played by us". Control and benchmark numbers for catalogue projects are the authors' own: we re-ran none of those projects and recomputed only the larva statistic. Workstream B's numbers are our own runs. Star counts are from 27 September; links, grades and last_verified are from 28 September 2026.

Catalogue findings

Every one of the 58 entries has a link check with an HTTP code, last_verified 28 Sep 2026, a licence status, its true last commit and release (or "n/a" for entries without a repository), a grade with its basis, and at least one primary source. The main link of 56 entries answered directly and 2 through a redirect; none was dead. Journal DOIs are often "blocked" by bot checks, which is not the same as dead.

Entries by kind and evidence grade (A tested against data or a control; B connectome runs with hand-made inputs and outputs; C partial, stand-in or scripted; D game logic; U mechanism not inspectable; n/a infrastructure).
KindABCDUn/aTotal
Browser demos23511012
Games0610209
Desktop apps0110002
Art0110002
Research and control studies71102112
Brain models and engines3010026
Fly bodies0000022
Datasets0000077
Data tools0000066
All entries121210151858
  • Coverage: all 7 datasets; the foundations (Shiu model, Eon fly-brain, flyvis, FlyGym, flybody, and two fast engines, fasterfly and drosophila-brain-mlx); all 12 of the 12 most-searched demos; 12 browser demos; 13 control or negative studies with numbers; 5 repositories created 20–27 September 2026.
  • Grade basis: every A and B grade cites 3 to 8 code or result files; none rests on README text or search summaries.
  • Datasets used: MaleCNS 20, FlyWire 13, several 12, larval L1 3, BANC 2, hemibrain 2, FANC 1, MANC 1, other or none 4.
  • Code licences (from the licence files, counted from the records): 39 repositories have a licence file (26 MIT, 4 Apache-2.0, 6 GPL family, 1 BSD-3-Clause, 2 custom), 10 have none, and 9 entries have no code repository.
  • Currency: other directories show creation dates, but true activity differs. The Shiu repository's last commit is 14 Sep 2024; flybody's default branch was last committed on 30 Jul 2025 but pushed on 7 Feb 2026; FlyGym 2.1.0 came out on 24 Jun 2026 after a breaking rewrite.
  • Left out: one clone (flybook, a copy of Stonkfly), one unattributed re-host (fruitfly.live), 9 crypto-token projects and the directories themselves. About 50 more candidates were deferred.

Full table: Projects catalogue.

Datasets and neuron counts

Connectome datasets, with licences in the official wording.
DatasetScopeNeurons (release)Data licence
FlyWire FAFBFemale brain with optic lobes; no nerve cord139,255 (v783, Codex); 127,400 (v630, the Shiu model; our row count agrees)CC BY-NC 4.0: "FlyWire's public release data is made available under license CC BY-NC 4.0" (direct)
MaleCNSMale brain, optic lobes and nerve cord166,700 (v1.0, Codex); 166,691 (v0.9 preprint)"licensed under CC-BY", linking to CC BY 4.0 (direct)
BANCFemale brain and nerve cord158,262 (v888, Codex); 155,916 (paper, v626)CC BY 4.0 for the Dataverse deposit (direct)
MANCMale nerve cord23,665 (v1.2.1)"CC-BY" (direct)
HemibrainPart of one female central brainAbout 25,000 (v1.2.1)"CC-BY" (direct)
FANCFemale nerve cordAbout 14,600 cell bodies (search-summary)No open licence found; newest reconstruction restricted
Larval L1First-instar larval brain3,016Article CC BY 4.0; no separate data licence

Where the quoted counts come from: "125k" is the Shiu abstract's "more than 125,000"; 127,400 is FlyWire v630; 138,639 is the number of rows in the Shiu repository's v783 file (our count); 139,255 is the v783 release; 165,122 is the MaleCNS v1.0 neurons with status "Traced" (counted by the bioreservoir project, not re-counted by us); 166,691 is the MaleCNS preprint; 166,700 is MaleCNS v1.0 in Codex. Codex counts a "connection" differently per dataset: 5 or more synapses for FlyWire and MaleCNS, 3 or more for BANC, 1 or more for MANC.

What the Shiu model leaves out, in its authors' words: it "does not account for gap junctions, non-spiking neurons, internal state or long-range neuropeptides, and assumes that the basal firing of each neuron is zero". Neuromodulation is also not modelled. Weights are synapse count × one hand-tuned parameter, and signs come from predicted neurotransmitters. Details: How it works.

Is it real? Viral claims and controls

Viral claims, code inspected 28 Sep 2026.
ClaimVerdictGrade
Eon "first embodied fly upload"By Eon's own page, a few hand-picked neurons drive pre-trained, imitation-learned controllers, and the vision is "somewhat decorative". Body code not releasedU (C if the description is accurate)
DOOMFLYFull MaleCNS v1.0 LIF model; four read-out neurons chosen by hand; learning failed (3.66 s vs 5.83 s survival, two episodes each); no wiring controlB
NeuroCraft Fly (Minecraft)Repository has documents and videos only; the author says read-outs trigger scripted body programmesU
Fly Brain Minecraft modMaleCNS v1.0, connections with 5 or more synapses; a reflex layer is on by defaultB
FlyCraft ("no behaviour is scripted")Python decides navigation and injects it into the same neurons it reads outC
Beat Saber flyNo code; the author reportedly fitted motor output to a replay (search-summary)U
Bad Apple on a fly brainThe image comes mostly from forced stimulation; the body uses pre-programmed FlyGym stepsC
Fly64 (Mario 64)MaleCNS v1.0 LIF with hand-mapped stick and buttons; no control; no licence fileB
StonkflyPaper trading; the README says "Profitable learning has not been demonstrated"B
DesktopFlyA 668-neuron FlyWire circuit (plus a 1,045-neuron MaleCNS leg circuit); the behaviour state machine is ordinary code; the 23,210 "neurons shown" are display pointsB (borderline C)
FlyDronesThe browser demo runs a synthetic 850-neuron network, not connectome dataC
Flyhard (car driving)All about 25.7 million gains trained; steering 100/100 vs 0/100 untrained; parking 0/50B
  • "91%" refers to the brain-only Shiu model: "Across 164 predictions we were able to test empirically, 91% were consistent with our empirical results"; 84% without the split-GAL4 screen. "95%" is not an accuracy: "Decreasing the strength of inhibition results in predictions consistent with 95% of those of the default model; accuracy drops from 91% to 88%." Neither number describes an embodied fly or a game (direct).
  • Uploaded? No. What exists is a measured wiring diagram plus simplified models.
  • Conscious, or can it suffer? We found no study that measured or claimed this; the models omit internal state and neuromodulation, so any such claim is unsupported.
  • Mouse or human next? Not soon. The largest mammal connectome, MICrONS, covers about 1 mm³ of mouse visual cortex, with more than 200,000 cells and about 523 million synapses (search-summary). See the State of Brain Emulation Report 2025.

Controls (authors' numbers, except the larva statistic, which we recomputed, and our own run):

  • Reflexes: wiring mattersShiu paper: shuffled weights activated MN9 in 1 of 100 runs vs 100% with real wiring. drosophila-brain-mlx: 67.30 Hz real vs 0 Hz shuffled. FLY-lab: shuffled brains lose 69–100 points on turning. Our own run: 85.2 Hz real vs 0 Hz shuffled.
  • General ML: no benefit so farLarva reservoir: +0.09 points over shuffles, p = 0.51. MaleCNS reservoir: memory 2.2 real vs 15.5 rewired. FLM: the adapter without the graph matches the fly adapter. Hemibrain hash: 0.499 real vs 0.621 random.

Full verdicts: Is it real?

Build your own: what we ran

Tested 2026-09-28 on Linux x86_64, Debian 12, Python 3.11.2, 2 CPUs, no GPU, no compiler.

  1. Environment: python3 -m venv --without-pip .venv plus get-pip.py (the system Python had no ensurepip).
  2. Packages: pip install -r requirements.txt in 32 s (brian2 2.9.0, numpy 2.3.5, pandas 2.3.3, pyarrow 25.0.1, joblib 1.6.0, pytest 9.1.1); the 21-package lock file was identical on both days; the environment is 463 MB.
  3. Model and data: a sparse clone of philshiu/Drosophila_brain_model at 91bdd1e7 (14 Sep 2024) with FlyWire v783: Completeness_783.csv (3,327,347 bytes) and Connectivity_783.parquet (100,804,642 bytes), checksums recorded.
  4. Tests: 6 passed in 52.3 s (checksums, IDs, silence without stimulus, sugar → MN9, shuffled control).
  5. Experiments: 20 trials of 1 s in 1,685 s (28 min) with Brian2's numpy target: 58–65 s per trial with free CPUs, up to 138 s while shared. Peak memory about 0.58 GB per trial.
MN9 firing rate by conditionMean MN9 firing rate over 1 second trials, with standard deviation: sugar at 150 Hz 85.2 ± 3.2 Hz; reference sugar at 100 Hz 65.6 ± 4.2 Hz; one neuron silenced 56.2 ± 2.5 Hz; sugar at 50 Hz 16.6 ± 7.2 Hz; no stimulus 0 Hz; shuffled wiring 0 Hz in 6 of 6 trials. The action threshold is 20 Hz.action threshold: 20 HzSugar 150 Hz (default)Sugar 150 Hz (default): 85.2 ± 3.2 Hz (5 trials)85.2 ± 3.2 HzReference: sugar 100 HzReference: sugar 100 Hz: 65.6 ± 4.2 Hz (5 trials)65.6 ± 4.2 HzSilence one neuronSilence one neuron: 56.2 ± 2.5 Hz (5 trials)56.2 ± 2.5 HzSugar 50 HzSugar 50 Hz: 16.6 ± 7.2 Hz (5 trials)16.6 ± 7.2 HzNo stimulusNo stimulus: 0 Hz (1 trial)0 Hz (1 trial)Shuffled wiringShuffled wiring: 0 Hz (6 of 6 trials)0 Hz (6 of 6 trials)020406080100MN9 firing rate (Hz), mean ± s.d. over 1 s trials MN9 firing rate by condition: sugar 150 Hz 85.2 Hz; reference 100 Hz 65.6 Hz; one neuron silenced 56.2 Hz; sugar 50 Hz 16.6 Hz; no stimulus 0 Hz; shuffled wiring 0 Hz. Threshold 20 Hz.Dashed marks: threshold 20 HzSugar 150 Hz (default)85.2 HzSugar 150 Hz (default): 85.2 ± 3.2 Hz (5 trials)Reference: sugar 100 Hz65.6 HzReference: sugar 100 Hz: 65.6 ± 4.2 Hz (5 trials)Silence one neuron56.2 HzSilence one neuron: 56.2 ± 2.5 Hz (5 trials)Sugar 50 Hz16.6 HzSugar 50 Hz: 16.6 ± 7.2 Hz (5 trials)No stimulus0 HzShuffled wiring0 Hz050100
MN9 (proboscis motor neuron) firing rate by condition, mean ± s.d. over 1 s trials, from our run on 28 Sep 2026. The dashed line is our hand-made action threshold.
Our results.
ConditionMN9 (Hz)Action
Sugar neurons at 150 Hz (upstream default), 5 trials85.2 ± 3.2extend
No stimulus0 (no spike anywhere in the brain)stay
Customization 1: sugar at 50 Hz, 5 trials16.6 ± 7.2 (2 of 5 trials above 20 Hz)stay
Customization 2: silence 720575940623211725 (CB0553, chosen by our own rule, not the paper), 5 trials56.2 ± 2.5 (−34%)extend
Shuffled wiring, 2 shuffles × 3 trials0 in 6 of 6 (sugar neurons still at about 147 Hz; 120–126 active neurons vs 409)stay
Reference: sugar at 100 Hz, 5 trials65.6 ± 4.2extend

The 100 Hz reference is 1.4–1.7 Hz below two published v630 values, 67.30 Hz (drosophila-brain-mlx) and 67.03 Hz (the upstream notebook). We relay those and did not re-run them. We count this as agreement, not exact replication.

What we found along the way

  • The v783 switch needs more than two config lines. Upstream's v630 sugar list raises KeyError: 720575940620900446 on v783 (reproduced by us); the fix is 720575940639259967 from issue #7. MN9's ID is unchanged.
  • Memory, not CPU, is the real constraint. The upstream loader reads about 1 GB per trial and per worker and was killed repeatedly in our shared 3 GiB environment. Our loader streams 3 columns in chunks and runs each trial in a fresh process: peak memory fell from 1.44 GB to about 0.58 GB.
  • Silencing cuts outgoing synapses only (issue #10, open).
  • The default input rate is 150 Hz in model.py, while the notebook text says 200 Hz.

Tested

  • The whole beginner path and the 100 Hz reference
  • Reproducing the upstream KeyError
  • Local preview (fetched over HTTP, not viewed in a browser) and a local git commit of the publishable folder
  • FlyGym 2.1.0 install and a physics-only CPU smoke test in a separate Python 3.12 environment: install 9 s; 2,000 steps (0.2 s simulated) in 0.41 s

Untested

  • macOS, Windows/WSL, conda, Colab
  • Brian2 with a C++ compiler or standalone mode; Python 3.12+ with Brian2 2.10
  • Upstream run_exp() to completion and the upstream notebooks
  • GitHub push and Pages
  • Coupling a brain to a FlyGym body
  • Any MaleCNS download or simulation (the weights file is 1,051.2 MB)
  • drosophila-brain-mlx, flypoke and the Eon GPU engines

Licence. Upstream code is MIT (© 2023 Philip Shiu and Nico Spiller); our project files are MIT. For the data there is an unresolved conflict: flywire.ai/guidelines says CC BY-NC 4.0 (direct), while the Zenodo record of the v783 connectivity lists CC BY 4.0 (fetch-summary). We follow the stricter reading: FlyWire data and derived results are non-commercial, with attribution. MaleCNS (CC BY) is the candidate for commercial demos, but that path is untested.

Full guide: Build your own.

Source conflicts

Resolved

  • NeuroCraft code: the repository has an MIT licence but only documents, citation files and two videos; code "coming soon" (direct).
  • DesktopFly licence: MIT plus appended lines putting data/ under CC BY-NC 4.0; that extra text is why GitHub reports NOASSERTION (direct).
  • DesktopFly dataset: both a 668-neuron FlyWire v783 circuit and a 1,045-neuron MaleCNS v1.0 leg circuit (added in v1.1.0); the 23,210 "neurons shown" are display points (direct).
  • Fly64 source: the repository and the viral post come from the same author; no licence file (direct).
  • flybook: a byte-identical copy of Stonkfly, excluded (direct).
  • FlyDrones: the browser demo runs a synthetic 850-neuron network (direct).
  • Neuron counts and 91% / 95%: see above (direct).
  • Eon body code: not released (direct).
  • Bad Apple source: the repository and the viral post belong to the same person (high confidence), but the repository was created a week after the clip, so the public code may differ.
  • Shiu v630 vs v783: the repository defaults to v630; v783 needs two path changes and one ID replacement; tested.

Unresolved

  • FlyWire data licence: CC BY-NC 4.0 in the official guidelines vs CC BY 4.0 on the Zenodo v783 record. We follow the stricter reading; someone should ask FlyWire.
  • Beat Saber: no code anywhere; the author's "replay" explanation seen only in search summaries.
  • 616 neurons: the Shiu v783 file has 138,639 neurons, the v783 release 139,255; the cause is unknown.
  • BANC count: the README's "approximately 188,000" has no stated scope (vs 158,262 in Codex and 155,916 in the paper).
  • FANC: no data licence found; counts only from search summaries.
  • Left or right: the upstream notebook calls the 21 sugar neurons "right", FlyWire's annotations say "left". This does not affect the simulation.

Uncertainties

  • Browser demos: none was played, so "works" is never claimed.
  • Borderline grade A entries: Fly Worker (no committed script produces its correlation numbers), fly-brain by Lulzx (its benchmark was also used to fit parameters), The Fly's Hash Function (a one-step model) and Fly OCR (rewiring control only on a pilot). DOOMFLY was lowered from A to B. Wired Different is not graded (no simulation).
  • Missing large files: grading used clones without files over 512 KB, so some bundled data files were not opened (noted per entry).
  • Small samples in our run: 5 trials per condition and 3 per shuffle, against the paper's 30. The silenced neuron was chosen by our own rule; its effect is a model output, not a replication. Repeatability was shown only on our machine.
  • Relayed reference values: 67.30 and 67.03 Hz and the paper's 1-in-100 shuffle result were not re-checked in our build run.
  • Search-summary evidence: the MICrONS figures, the Beat Saber author's replies and the FANC counts.

Next runs

  • Catalogue: the deferred long tail (Virtual Fly Brain, Fly.exe, fly-api, fly.ai, Fly Self Driving, ten more browser demos, 19 new repositories), dead-link re-checks, project pages for the foundations and top demos, and real-browser checks of demos.
  • Build your own: brain–body coupling with FlyGym 2.x, the same project on MaleCNS v1.0 (CC BY), a compiler speed-up, macOS and WSL, GitHub Pages, and re-tests against upstream changes.
  • Later: a synthesis of the "does fly wiring help machine learning?" controls.
  • Open questions: the FlyWire licence, the 616-neuron gap, and the scope of BANC's "188,000".

Key sources

All research reports

Search published pools, pages, reports, and evidence.