Packages

Board Packages

Install a board package to get typed pins, peripherals, and build configuration for a specific board. Each one lets Cuttlefish check your code against what the hardware can actually do.

Arduino Uno@typecad/board-arduino-uno — ATmega328P, 20 pins, I2C/SPI/UART, ADC, PWM
ESP32 DevKit@typecad/board-esp32-devkit — ESP32-WROOM-32, 34 pins, dual I2C/SPI, WiFi, BLE, DAC
ESP32-C3@typecad/board-esp32c3 — RISC-V, 22 pins, WiFi 4, BLE 5, native USB
ESP32-C6@typecad/board-esp32c6 — RISC-V, 30 pins, WiFi 6, BLE 5.3, USB-OTG
ESP32-S3@typecad/board-esp32s3 — dual-core Xtensa, 34 pins, dual I2C/SPI, USB-OTG, PSRAM

See the Board Definitions page for the full feature table and how to use a board package in a project.

Cuttlefish UI

Build device display screens using HTML and CSS. The pages below cover the element catalog, styling, display wiring, and the authoring API.

Overviewhow Cuttlefish UI works — HTML/CSS to display draw calls
Elementsthe full HTML element catalog (<screen>, <text>, <button>, <list>, …)
CSS & Stylingbox model, flexbox, colors, typography, theming
Display Configurationwiring displays in cuttlefish.config.ts, touch input, display drivers
Authoring APIthe ui.* functions (mount, signal, bind, drawCanvas, …)