Froth, and this site, are pre-alpha. This site is largely OSAI-generated documentation from the Froth repo.

The Froth Machine is the workshop board built around an ESP32, a TM1629 12x8 display, a joystick with click, two knobs, an LED, and a handful of raw pins.

The right way to learn it is not by memorizing every low-level word first. Start with the friendly board layer:

  • matrix.* for display setup and drawing
  • grid.* for the smallest workshop-facing drawing helpers
  • joy.* for the joystick directions and click
  • knob.* for the two potentiometers
  • demo.pong.* for a real built-in game-shaped example

If you want one five-line proof that the board is alive, use this:

matrix.init:
grid.clear:
grid.set: 1, 1, true
grid.show:
joy.click?:

That does three useful things at once:

  • it initializes the display
  • it proves you can light a pixel
  • it proves the input helper layer is present

From here, the Machine docs split by the questions most people actually ask:

  • First steps for “what is on this board?” and “what words do I try first?”
  • Display and drawing for pixels, lines, rectangles, and the display layers
  • Inputs and controls for joystick, knobs, and the raw button path
  • Patterns for game loops, joystick movement, collision, knob mapping, timing, Life, and Pong

Use the Machine board reference when you want exact arguments and return values. Use Workshop for the live classroom activity, creative missions, and troubleshooting.

  1. 01. First Steps What the Froth Machine is, what is on it, and the first words to try.
  2. 02. Display and Drawing How the display layers fit together, how to draw, and when to reach for `grid`, `matrix`, or `tm1629`.
  3. 03. Inputs and Controls Joystick, knobs, raw buttons, and the usual way input enters a board sketch.
  4. 04. Patterns Practical recipes for loops, movement, collision, timing, animation, Pong, and Life.