SPECIMEN MALE CNS V1.0 165,122 NEURONS 10,228,000 CONNECTIONS 104,213,656 SYNAPSES CC-BY 4.0 JANELIA FLYEM · CAMBRIDGE · GOOGLE RESEARCH

The brain

What is actually running.

This page is the part of the site you should read before believing the rest of it. It says where the wiring comes from, how the wiring becomes activity, how the activity becomes a brush stroke, and which parts of that chain are measured biology and which are choices somebody made.

neurons
165,122
status = Traced, glia removed
signed connections
10,228,000
pairs with ≥ 3 synapses
retina columns
892
L1 892 · L2 893 · map: hex columns
KC → MBON synapses
reward-side · punish-side

01 · the wiring

A connectome is anatomy, not activity

In September 2026 HHMI Janelia's FlyEM team, the Cambridge Connectomics Group and Google Research published the complete central nervous system of an adult male fruit fly: brain, both optic lobes and ventral nerve cord, imaged by electron microscopy at nanometre resolution and reconstructed with flood-filling networks, then proofread by people. It tells you every wire. It tells you nothing about what the brain is doing — the release makes no functional claim, and neither does this page.

We read three flat files from the public bucket: the pre→post synapse counts (traced bodies only), the per-body annotations (type, superclass, side, soma position, and for the optic lobe the hex column each cell belongs to), and the per-body predicted neurotransmitter. run.py build keeps the 165,122 neurons whose status is Traced, drops pairs with fewer than three synapses as reconstruction noise, and writes one signed sparse matrix. Acetylcholine gets +1, GABA and glutamate −1, monoamines 0 rather than a made-up sign. That matrix is the fly.

02 · the activity

Leaky integrate-and-fire, after Shiu et al. 2024

Every neuron is the same simple unit: rest −52 mV, threshold −45 mV, membrane time constant 20 ms, 2.2 ms refractory period, 0.2 ms steps. When a neuron spikes, each of its targets receives sign × synapse count × 0.275 mV. Those numbers are the ones that reproduced sugar-evoked proboscis extension from the female connectome alone; we did not tune them.

Two things are added that the anatomy does not contain, and both are logged. Background noise: each step, 0.1 % of neurons receive a 2 mV kick, drawn from a seeded generator, so the network never goes silent and the run replays identically. One global gain: LIF units have none of the adaptation and gain control real neurons have, and under steady retinal input the released weights alone drive the whole network into a seizure within milliseconds. A single scalar multiplies every synapse, and a slow controller nudges it to hold the population between 2 and 8 Hz on average. Its value is recorded with every window and every piece. Per-cell-type gains exist as a knob and are all 1.0 today.

03 · the eye

892 columns look at the canvas

what it sees

A 256 px patch of the canvas centred on the brush. Luminance only — a fly's lamina is a luminance map, which is why the paper is dark and the paint is light.

where it goes

Each column drives one L1 cell (ON: brighter than a moment ago, or than the mean) and one L2 cell (OFF). L1 and L2 are the lamina monopolar cells directly behind photoreceptors R1–R6.

how the map is made

The release assigns every columnar optic-lobe neuron a hex column (assignedOlHex1/2). Our 892-column lattice is matched to those coordinates for one eye, so retinotopy is the fly's own, not a projection we invented.

04 · the hands

Descending neurons, read as a brush

DNa02 · left vs rightA fly steers by the asymmetry between the pair. (R − L) / (R + L) turns the heading, up to 0.55 rad per window.
DNa01 · forwardForward walking. Its rate sets the step (2.5 to 28 px per window) and the stroke width (2 to 16 px).
MDN · backwardsThe moonwalker descending neuron makes a fly walk backwards. Above 20 Hz and louder than DNa01, the brush reverses.
DNp09 · stopA fly freezes when it fires. Above 15 Hz and louder than half of DNa01, the brush lifts and the stroke breaks.
ColourHue from the optic / central / VNC mix of the window's spikes, saturation from the Kenyon-cell share, lightness from rate. Fixed, public, and not something a fly has.

05 · learning

The one place a weight moves

In a fly, learning happens at the Kenyon cell → MBON synapse under dopamine, and it is subtraction: a Kenyon cell active shortly before a dopaminergic neuron fires has that synapse depressed. We implement exactly that — depression with a floor and a slow drift back for forgetting, no potentiation. Which MBONs are reward-side and which punishment-side is decided by comparing each MBON's total PAM input with its total PPL1 input in the released wiring, not by a table.

The dopamine signal is where a person steps in: fresh canvas is the reward, hitting the edge is the punishment. A fly is rewarded by sugar. This is the mechanism a fly uses, pointed at a thing a fly would never care about.

06 · provenance

Replay it, don't trust it

Every sitting starts from a 32-bit seed. The seed decides the brush's starting point and the background noise; everything else is the anatomy. The finished PNG is hashed, and the hash and the seed are written to the chain next to the token by mint(to, uri, pngSha256, seed). With the same graph.npz (its SHA-256 is in every piece) the command below re-runs the sitting and reports whether the pixels match.

git clone https://github.com/bnbhacker/connectome-canvas && cd connectome-canvas
pip install -r requirements.txt
python run.py fetch        # ~540 MB from storage.googleapis.com/flyem-male-cns, no account
python run.py build        # -> build/graph.npz, 165,122 neurons
python run.py replay 12    # MATCH or DIFFERENT, with both hashes

Sources

Credit where the wiring came from

Data. Male CNS connectome v1.0 — HHMI Janelia FlyEM, the Cambridge Connectomics Group and Google Research, CC-BY 4.0, gs://flyem-male-cns.

Model. Shiu, P. K. et al. "A Drosophila computational brain model reveals sensorimotor processing." Nature 2024 — the LIF parameters and the 0.275 mV per synapse. Lappalainen, J. K. et al. "Connectome-constrained networks predict neural activity across the fly visual system." Nature 2024 — the case for driving the optic lobe with real retinotopy.

Precedent. The idea of wiring this connectome to a cursor through DNa02 / DNa01 / MDN / DNp09 was done first, and openly, by flybrain (MIT). Canvas Fly is a separate implementation that points the same anatomy at a canvas instead of a launchpad.

Not affiliated with any of the above. Canvas Fly is an art experiment, not an investment.