shoal

Fish that eat pollution and report what they see.

Read the architecture Watch all explainers View on GitHub


A swarm of small soft-bodied fish forages contaminated waterways. Their guts are microbial fuel cell stacks seeded with substrate-specific consortia. They eat hydrocarbons and dissolved organics for power, mechanically capture microplastics and heavy metals for return-to-dock disposal, and continuously map water quality. Docks are passive benthic installations that recharge the fish, swap their cartridges, aggregate captured waste, and offload data to shore.

Everything is open. Hardware, firmware, RTL, mechanical CAD, microbial protocols, data schemas, fleet software, training datasets.


What it does

Eat. Each fish carries a sealed flow-through microbial fuel cell stack — its gut. The pollutants are the fuel. Hydrocarbons, dissolved organics, ammonia, sulfide. The biology is the energy harvester.

Capture. Microplastics, heavy metal precipitates, and other non-metabolizable contaminants are filtered into a collection chamber and offloaded at the dock. Humans handle the waste; the fish handle the search.

Map. Bilateral electrochemical and optical sensors continuously characterize what the fish swims through. Every observation is signed, timestamped, and lands in an open public dataset.


Design principles

  1. Open everything. Hardware (CERN-OHL-S), software (Apache 2.0), docs and data (CC-BY-SA), datasets (CC0). Trust requires inspection.
  2. The pollutant is the fuel. Energy is closed by the work the fish does. No on-fish solar. The biology is the harvester.
  3. Specialist niches, common chassis. One body, swappable guts. Hydrocarbon fish, plastic-collector fish, metal-precipitator fish — same hardware, different cartridge.
  4. The dock is half the system. Docks are fixed infrastructure with their own lifecycle.
  5. Data is the product. Remediation is the justification. The pollution map funds the next deployment.
  6. Fail safe to inert. Every component degrades to environmentally inert material or is recoverable at the dock. No engineered organisms enter the open environment.
  7. Match the environment’s clock. The fish operates on biological timescales. Don’t fight that.

The system at a glance

                    SHORE
                  ┌────────┐
                  │ fleet  │   pollution maps
                  │ mgmt   │   data API
                  │ cloud  │   regulatory feed
                  └───┬────┘
                      │ LTE / sat / fiber
              ┌───────┴───────┐
              │ surface buoy  │   solar, GPS, comms
              └───────┬───────┘
                      │ tether
   ─ ─ ─ ─ ─ ─ ─ ─ ─ ─┼─ ─ waterline ─ ─ ─ ─ ─ ─ ─ ─
                      │
              ┌───────┴───────┐                          fish ←→ fish
              │   DOCK BODY   │   benthic MFC          (acoustic mesh)
              │ ┌───────────┐ │   bay slots                  ▲
              │ │ biology   │ │   biology reservoir          │
              │ │ reservoir │ │   waste hopper           ┌───┴───┐
              │ │ + bays    │ │   acoustic + optical     │ FISH  │
              │ └───────────┘ │   modems                 │       │
              └───────┬───────┘                          │ gut   │ ← MFC stack
                      │                                  │ swims │ ← cable tail
                      ▼                                  │ senses│ ← lateral line
              human service visit                        └───────┘
              (waste retrieval, cartridges)

The cartridge family

The fish’s body is the same. The biology is what changes. Each cartridge has a standardized fluid + electrical interface, hot-swapped at the dock, refurbished against a sealed bioreactor.

Cartridge Target Approach
gut-hc-v1 Hydrocarbons (oil, BTX, PAH) Pseudomonas / Paenalcaligenes consortium
gut-org-v1 Dissolved organic load Geobacter / Shewanella
gut-n-v1 Nitrogen / ammonia Anammox + nitrifiers
gut-metal-v1 Heavy metal precipitation Desulfovibrio (subsidized cartridge)
gut-plastic-v1 Microplastics Passive adsorptive matrix, no MFC
gut-pfas-v1 PFAS (research-grade) Acidimicrobium + activated carbon

On the OpenIE stack

shoal is a validation workload for the OpenIE silicon, energy, compute, and corridor stacks. The on-fish SoC (shoal-soc) is a heterogeneous chiplet — RISC-V housekeeping, CGRA control fabric, PIM inference block, and analog sensor frontend — built on the same toolchain as the OpenIE benchtop fab. The fish’s intermittent-power operating profile (sleep / cruise / forage / burst) is exactly the periodic-stack pattern the compute framework optimizes for. The energy budget is scored in the joules-per-bit framework, with two new objective functions: η_remediation (pollutant removed per joule) and η_data (useful pollution bits per joule).


Roadmap

Phase Scope
0 Architecture, governance, community, partnerships
1 Tethered prototype: chassis-A + gut-hc-v1, energy-positive in static tank
2 Untethered single-fish, off-the-shelf SoC, river deployment, first pollution map
3 shoal-soc tape-out (commercial node), multi-cartridge fleet, watershed deployment
4 shoal-soc migrated to OpenIE benchtop fab, kit form, global community deployments

The full architecture document expands each of these.


Get involved

  • Read the architecture document end to end. It is the spec.
  • Build a fish. Section 6 of the architecture lays out the repo structure; each subsystem (chassis, gut, soc, firmware, dock, fleet, sim, data) is its own contributable surface.
  • Contribute biology. The microbial cartridges are the highest-leverage open contribution: a better consortium for a target pollutant directly improves every fish in every shoal.
  • Deploy a shoal in your watershed. The kit is meant to be replicated by universities, NGOs, water utilities, citizen-science groups.

License

Surface License
Hardware CERN-OHL-S 2.0
Software Apache 2.0
Documentation CC-BY-SA 4.0
Datasets CC0 1.0

shoal is open source. Hardware: CERN-OHL-S 2.0. Software: Apache 2.0. Docs and data: CC-BY-SA 4.0. Datasets: CC0 1.0.

This site uses Just the Docs, a documentation theme for Jekyll.