Modules

Start with a complete example, then narrow into every built-in Frothy module and its words.

Module pages explain how a whole area fits together. Each starts with the common path, gives a complete example, explains state and limits, and ends with links to the exact entries in the word catalog .

Begin With The Board

  • Board constants & helpers — named pins, the built-in LED, and the small source library available at boot
  • GPIO & ADC — digital input/output and analog readings
  • Timing — interruptible sleeps and uptime clocks
  • Events — timers, GPIO edges, Wi-Fi lifecycle, cancellation, and asynchronous output

Work With Data

  • Math & random — integer mapping, clamping, square roots, wrapping, and repeatable pseudo-random values
  • Text, Bytes & PAD — persistent text, transient I/O bytes, and the 64-byte scratch pad

Connect Hardware

  • I2C — buses, raw byte transfers, and register helpers
  • UART — auxiliary serial ports and byte I/O
  • PWM — frequency channels and 0–10000 duty
  • Digital signals — edge capture and precisely timed pulse output
  • Console routing — move the human REPL to a selected UART and recover the default route

Connect Networks

  • Wi-Fi, HTTP & TCP — stored credentials, lifecycle events, one-shot HTTP reads, and streaming TCP handles
  • Bluetooth Low Energy — scan, advertise, connect, and use local or remote GATT
  • Power — watchdog supervision, GPIO wake, and deep sleep

The ESP32 plain profile exposes the full surface documented here. Smaller or custom profiles may omit modules; words on the device is authoritative for the firmware in front of you.

I/O modules return transient Bytes and live Handle values. Copy bytes with text.pack when they must persist. Close handles and remove them from project slots before save, then reopen required resources from boot.