All skills
nodnarbnitram avatar

/esphome-box3-builder

@1ac816c

This skill should be used when the user asks to "configure esp32-s3-box-3", "set up box-3", "create box-3 voice assistant", "display lambda on box-3", "configure ili9xxx display", "set up gt911 touch", "configure i2s audio", "es7210 microphone", "es8311 speaker", "box-3 audio pipeline", or mentions error messages like "I2S DMA buffer error", "Touch not responding", "Display flicker", "Audio popping", "PSRAM not detected". Provides complete ESP32-S3-BOX-3 hardware templates, display lambda cookbook, touch patterns, and voice assistant configurations.

Use this Skill: https://skilld.dev/gh/nodnarbnitram/claude-code-extensions/esphome-box3-builder

This session only. Nothing lands on disk.

assetsfontsREADME.md

≈1.2k tokens on demand. Your agent reads this file only when SKILL.md points to it.

Material Design Fonts for ESP32-S3-BOX-3

This directory contains Material Design fonts referenced by BOX-3 templates and examples.

Required Fonts

1. Roboto-Regular.ttf

Purpose: Material Design typography (body text, headings)

Download:

Installation:

# Download and place in this directory
wget https://github.com/google/roboto/releases/download/v2.138/roboto-unhinted.zip
unzip roboto-unhinted.zip
cp Roboto-Regular.ttf .claude/skills/esphome-box3-builder/assets/fonts/

2. materialdesignicons-webfont.ttf

Purpose: Material Design Icons (UI icons)

Download:

Installation:

# Download from CDN
wget https://cdn.materialdesignicons.com/7.4.47/fonts/materialdesignicons-webfont.ttf
mv materialdesignicons-webfont.ttf .claude/skills/esphome-box3-builder/assets/fonts/

# Or from NPM
npm install @mdi/font
cp node_modules/@mdi/font/fonts/materialdesignicons-webfont.ttf .claude/skills/esphome-box3-builder/assets/fonts/

3. mdi-codepoints.txt (Optional)

Purpose: Icon name → Unicode codepoint reference

Download:

wget https://raw.githubusercontent.com/Templarian/MaterialDesign-Webfont/master/scss/_variables.scss
# Extract codepoints or use pictogrammers.com to search icons

Alternative: Use Google Fonts in ESPHome

ESPHome can download fonts automatically from Google Fonts:

font:
  - file: "gfonts://Roboto"  # Downloads automatically
    id: roboto_16
    size: 16

Note: Google Fonts auto-download does NOT work for Material Design Icons. You must download materialdesignicons-webfont.ttf manually.

Usage in ESPHome Configuration

Using Local Fonts (Recommended for BOX-3)

font:
  # Roboto for text
  - file: .claude/skills/esphome-box3-builder/assets/fonts/Roboto-Regular.ttf
    id: roboto_16
    size: 16

  # Material Design Icons
  - file: .claude/skills/esphome-box3-builder/assets/fonts/materialdesignicons-webfont.ttf
    id: mdi_24
    size: 24
    glyphs: [
      "\U000F0425",  # thermometer
      "\U000F050F",  # water-percent
      "\U000F0493",  # play
      "\U000F03E4",  # pause
    ]

Using Google Fonts Auto-Download

font:
  # Auto-download from Google Fonts
  - file: "gfonts://Roboto"
    id: roboto_16
    size: 16

  # Material Design Icons still needs local file
  - file: .claude/skills/esphome-box3-builder/assets/fonts/materialdesignicons-webfont.ttf
    id: mdi_24
    size: 24
    glyphs: ["\U000F0425"]

Icon Codepoint Reference

Common Material Design Icons and their Unicode codepoints:

Icon Name Codepoint Preview
thermometer \U000F0425 🌡️
water-percent \U000F050F 💧
play \U000F0493 ▶️
pause \U000F03E4 ⏸️
home \U000F0415 🏠
settings \U000F0493 ⚙️
check-circle \U000F012C ✅
alert-circle \U000F0029 ⚠️
wifi \U000F05A9 📶
bluetooth \U000F00AF 📶

Find more icons: https://pictogrammers.com/library/mdi/

File Sizes

  • Roboto-Regular.ttf: ~168 KB
  • materialdesignicons-webfont.ttf: ~1.2 MB (includes 7000+ icons)

Optimization: Only include glyphs you need in the glyphs: array to reduce compilation time.

License Information

Roboto Font

  • License: Apache License 2.0
  • Source: Google
  • Commercial use: Allowed

Material Design Icons

  • License: Apache License 2.0 / SIL Open Font License 1.1
  • Source: Pictogrammers
  • Commercial use: Allowed

Troubleshooting

ESPHome can't find font file:

  • Verify path is relative to ESPHome config file
  • Use absolute path if needed
  • Check file permissions (readable)

Icons don't render:

  • Ensure MDI font file downloaded
  • Verify codepoint is correct (use pictogrammers.com)
  • Add codepoint to glyphs: array

Compilation slow:

  • Reduce number of glyphs in glyphs: array
  • Only include icons you actually use
  • Use smaller font sizes where possible

Summary

  1. Download fonts from official sources (Google Fonts, Pictogrammers)
  2. Place in this directory: .claude/skills/esphome-box3-builder/assets/fonts/
  3. Reference in config: Use relative path from your ESPHome YAML file
  4. Specify glyphs: Only include icons you need for faster compilation

For usage examples, see the BOX-3 templates in ../templates/

Source: SKILL.md on GitHub

2 warnings7d4 checks · Risk SAFE
  • Gen Agent Trust Hub7d

    The esphome-box3-builder skill is a legitimate tool for configuring ESP32-S3-BOX-3 hardware using ESPHome. It provides well-documented templates, UI components, and a flashing utility. All external resources are sourced from trusted providers, and the skill correctly implements credential management via ESPHome secrets.

  • Socket7d

    No alerts

  • Snyk7d

    Risk: MEDIUM · 1 issue

  • Runlayer7mo

    9/9 files flagged

Signed by skilld at 1ac816c. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 2 months ago.

Steadyupdated 6 months ago
What it can do
Reads files Edits files Network Runs commands
version
0.1.0
All 7 allowed tools
ReadWriteEditGrepGlobWebFetchBash

README badge

README badge for nodnarbnitram/claude-code-extensions/esphome-box3-builder