Hardware: Waveshare ESP32-S3-ePaper-1.54 (200x200)
Branch: epaper
Goal: Get high-density dashboard working
Look at the ePaper display controller chip (back of display or board silkscreen):
- SSD1681 → Use model:
1.54in(black/white) - IL0373 → Use model:
1.54in-m5stickc-b(black/white/red) - SSD1680 → Use model:
1.54in(older version)
Currently configured: 1.54in (standard black/white)
Check your board's schematic or silkscreen markings. Update if different:
# Display SPI
clk_pin: GPIO18
mosi_pin: GPIO23
cs_pin: GPIO10
dc_pin: GPIO11
reset_pin: GPIO12
busy_pin: GPIO13
# I2C (RTC/PMIC)
sda: GPIO20
scl: GPIO19cd ~/clawd/work/clawd-pager
cat > secrets.yaml <<EOF
wifi_ssid: "YourWiFiName"
wifi_password: "YourWiFiPassword"
api_key: "$(openssl rand -base64 32)"
ota_password: "lobster2024"
EOFcd ~/clawd/work/clawd-pager
git checkout epaper
source ~/clawd/esphome-env/bin/activate
esphome compile clawd-pager-epaper.yamlExpected: Clean compile with no errors If errors: Check Waveshare model matches your hardware
Plug ESP32-S3 into your computer via USB-C
esphome upload clawd-pager-epaper.yamlESPHome will auto-detect USB serial port.
First boot: Device will compile and flash (~5 minutes)
esphome logs clawd-pager-epaper.yaml --device 192.168.50.XXLook for:
- WiFi connection
- ePaper initialization
- "🦞 Clawd Pager ePaper booting..."
- Open: http://localhost:8080 (if dashboard running)
- Click "Logs" on pager device
- Send test via API:
curl -X POST http://192.168.50.XX:6053/text_sensor/pager_display/set \
-d '{"state": "TEST MESSAGE"}'# Add to bridge.py
PAGER_EPAPER_IP = "192.168.50.XX"
# Test command
python3 -c "
import asyncio
from aioesphomeapi import APIClient
async def test():
client = APIClient('192.168.50.XX', 6053, '')
await client.connect()
await client.text_sensor_command('pager_display', 'Hello ePaper!')
asyncio.run(test())
"- Check
busy_pin- ePaper uses BUSY to signal ready - Try full refresh: disconnect power for 10 seconds
- Verify SPI pins match your board
- Check
secrets.yamlcredentials - Try hotspot fallback: connect to
Clawd-Pager-ePaperAP - Check router logs for device MAC
Error: unknown board esp32-s3-devkitc-1
Fix: Update board to match your hardware:
esp32:
board: esp32-s3-box-3 # Or your actual board variantError: waveshare model not found
Fix: Check ESPHome docs for supported models:
https://esphome.io/components/display/waveshare_epaper.html
- Add
full_update_every: 30to force periodic full refresh - Increase
update_intervalto reduce partial refresh artifacts
Add to YAML for reliable bridge connection:
wifi:
manual_ip:
static_ip: 192.168.50.86
gateway: 192.168.50.1
subnet: 255.255.255.0Edit ~/clawd/scripts/bridge.py:
PAGER_EPAPER_IP = "192.168.50.86"
# In main():
epaper_client = await connect_pager(PAGER_EPAPER_IP)# Send dashboard update
curl http://localhost:8081/api/update \
-d '{"device": "epaper", "mode": "DASHBOARD", "message": "AGENT: Idle"}'Edit dashboard lambda in YAML:
- Adjust font sizes
- Add more data sections
- Test information density
| Item | Value |
|---|---|
| Firmware | clawd-pager-epaper.yaml |
| Branch | epaper |
| IP | 192.168.50.86 (to be assigned) |
| ESPHome Port | 6053 |
| OTA Password | lobster2024 |
| Fallback AP | Clawd-Pager-ePaper |
- ✅
clawd-pager-epaper.yaml- Firmware config - ✅
EPAPER_DESIGN.md- Layout mockups - ✅
ARCHITECTURE.md- Bridge vs MCP analysis - ✅
EPAPER_QUICKSTART.md- This guide
Ready to flash! 🦞