GRIB

Note: The GRIB spec is currently only available as an early-access version for Kickstarter backers. Version 1.0 will be open-sourced in late August. This is a brief preview page outlining the concept.

You can also purchase GRIB-compatible devices at whommart, using money.

what is GRIB?

GRIB is a flexible way of building mechanisms out of modular parts.

GRIB (which stands for “whomtech Grid System”) consists of a 2D grid of self-contained mechanisms. GRIB is a way of allowing these mechanisms to interact, share a power source, and synchronise their movements. It makes it easy to add, remove, or change these modules.

Two different types of GRIB module (roons disk and buffer) cooperating via GRIB

why is GRIB?

Systems like LEGO define a fine-grained standard: everything uses the same type of axle, stud, gear tooth, etc. This makes it easy to build systems — you know that a gear will always fit on an axle.

… but what about larger systems? If you build (e.g.) a gearbox, and later you build an engine, there’s no guarantee you can connect them easily. Even though they use the same low-level “physics”, they have different high-level “chemistry”. This lack of standardisation makes it hard to build big systems without planning ahead.

GRIB solves this by defining a coarse-grained standard — a way of organising small mechanisms into reusable modules, and grouping those modules into apps.

Think of it like a shipping container. Things like LEGO, K’Nex, and Meccano are the small packages inside. The ship doesn’t care about the contents of the container — as long as the container is the right size and shape, it can be easily loaded and unloaded from the ship.

how is GRIB?

GRIB consists of two physical layers: the OS and the App.

The OS layer is made up of repeating units of tiles with gears. These connect together like puzzle pieces. When one rotates, all rotate.

The App layer is where your custom mechanism lives. An app is a collection of modules that work together.

A module is a 8cm square mechanism that can be lowered onto the grid. It receives power/phase by connecting to the coupler in the OS layer, while magnets hold it physically in place.

a Buffer module, ready to be loaded onto a GRIB drive

Some examples of modules:

  • A motor to power the grid
  • A counter to track the number of rotations
  • A roons drive to perform computation

When the OS rotates — either manually, or via a motor — it activates all modules in sync.

By defining a protocol such as roons, modules can interact with each other and exchange information, allowing you to build arbitrary modular mechanisms.

how do I build a GRIB module?

GRIB modules must satisfy these requirements:

  • size — it must fit inside an 8x8cm square (or some multiple of this)
  • stud acceptors — the underside must have a hole in each corner (dimensions below) to lock it in place

There are also some optional requirements:

  • coupling — modules can expose a GRIB-compatible coupling mechanism on their underside (you can skip this if your module doesn’t need power, e.g. if it’s just decorative)
  • magnetic binding — modules can optionally have a magnet in each corner to help keep them in place
  • regularity — It’s strongly recommended that modules use multiples of 5 lu (Lego Units, 0.8mm) in all dimensions; multiples of 2.5 lu may be used sparingly.

That’s it! GRIB modules are defined by their external interfaces. Within a GRIB module, you’re free to build it however you like. You could use Meccano, or 3D-printed parts, or Lego, or jam, or anything.

where’s the full spec?

This is just a brief summary — the full GRIB docs and v1.0 will be released in late August. This will include:

  • 3D-printable files (3mf, STLs)
  • CAD files
  • Tutorials and example projects
  • Full technical specs for GRIB