Packages

Board Targets

Name a board target (the qualified west build -b argument) and Cuttlefish generates a project-local board module with typed pins, peripherals, and build configuration — extracted from the Zephyr tree, no package to install. Cuttlefish checks your code against what the hardware can actually do.

ESP32-S3 DevKitCesp32s3_devkitc/esp32s3/procpu — ESP32-S3, USB serial, ADC, PWM, RGB LED
ESP32 DevKitesp32_devkitc/esp32/procpu — ESP32-WROOM-32, 34 pins, dual I2C/SPI, WiFi, BLE, DAC
ESP32-C3esp32c3_devkitm/esp32c3 — RISC-V, 22 pins, WiFi 4, BLE 5, native USB
ESP32-C6esp32c6_devkitc/esp32c6/hpcore — RISC-V, 30 pins, WiFi 6, BLE 5.3, USB-OTG
Raspberry Pi Picorpi_pico/rp2040 — RP2040, 30 pins, dual I2C/SPI/UART, ADC, USB
Raspberry Pi Pico 2rpi_pico2/rp2350a/m33 — RP2350, 48 pins, dual I2C/SPI/UART, ADC, USB
Seeed XIAO nRF52840xiao_ble/nrf52840 — nRF52840, 11 pins, BLE, USB
WeAct Black Pillblackpill_f411ce/stm32f411xe — STM32F411, USB, ADC, PWM, ST-Link/DFU

The hardware-validated targets are listed above; every other board Zephyr supports (1,300+ variants) generates the same way at the derived tier. See the Board Targets page for the full feature table and how to use a target 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, …)