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.
| Overview | how Cuttlefish UI works — HTML/CSS to display draw calls |
| Elements | the full HTML element catalog (<screen>, <text>, <button>, <list>, …) |
| CSS & Styling | box model, flexbox, colors, typography, theming |
| Display Configuration | wiring displays in cuttlefish.config.ts, touch input, display drivers |
| Authoring API | the ui.* functions (mount, signal, bind, drawCanvas, …) |