Henglos IO

Platform and limits

The runtime on the board, and the limits a workflow can override.

The platform is the MicroPython runtime Henglos IO puts on the board. It receives each action as a binary frame, runs the component's script and answers with the output it ended on and the values it published. Each workflow builds against one platform version, changeable in the studio's workflow Settings.

Limits

The runtime's limits are fixed when it's built — memory on a microcontroller is tight, so they're small by default. A workflow can override any of them in Settings → Limits; the next compile builds the runtime with your values, and the studio follows them everywhere (a variable's text length, a script's size…).

LimitDefaultRangeWhat it bounds
Pipeline entries164–128Configs and outputs a run keeps for binds and context.get()
Variables160–128Workflow variables the board holds at once
Compiled scripts kept81–32Code scripts kept compiled in RAM
Receive buffer512 B128–8192Bytes buffered while a frame arrives
Stored program size4096 B512–65536Flash the uploaded program may take
Component name length328–128Longest component folder name
Stream timeout2000 ms100–60000How long a streaming action waits for the next chunk
Packet size256 B64–4096Largest frame, each way
Config value size64 B4–4079Largest literal value one action carries
Script size192 B16–4079Largest Code script
Configs per action151–64Configs one action carries (Start: one per initialized variable)
Outputs per action41–16Connected outputs one action may have

Some limits depend on each other, and the studio checks them as you type:

  • the receive buffer must hold a whole packet — at least Packet size − 5;
  • a config value and a script must fit in one packet with its headers — at most Packet size − 17.

Higher limits cost RAM on the board. Raise only what a workflow needs.

On this page