This Week in Aiden Firmware: Making the Agent Easier to Actually Develop Against
Native Anthropic support and configurable provider endpoints
Native Anthropic Messages API support, provider-level endpoint configuration, shared runtime bindings, and structured stream diagnostics now form a configurable, debuggable model-integration layer. Practically: you can select Anthropic/Claude models directly in the config page, with streaming responses, multimodal content, tool calls, and custom endpoints all supported. Stack: Go, HTTP/SSE, JSON, TOML, Config Web (JavaScript), C++ config testing.
Docker sandbox — no dev board required to start building
PR: #523.
You can now run Config Web and Agent Web via Docker Compose without hardware, with persisted configuration and connections to MobileGym, ADB, or compatible environment bridges. The agent restarts safely after config changes and releases the bridge cleanly on shutdown. This is the one most worth highlighting for anyone who wants to evaluate the agent runtime before committing to hardware — full config/runtime-state/health-check lifecycle preserved, just without the physical board. Stack: Docker Compose, Go web service, Python, ADB, MobileGym, Shell/CI.
Dual HDMI bridge chip support
The firmware now supports both RK628D and TC358743 HDMI bridge chips, auto-loading the correct driver based on detected hardware. Using RK628D specifically pushes capture up to 1080p60, widening the range of device output formats the board can work with.
Persistent on-device Python environment
PR: #505.
Python packages installed via the existing shell tools now persist at /userdata/agent/python instead of existing only within a single session — the Agent service and the login shell share the same user environment. For anyone extending the agent with Python-based tooling, this means installed packages survive across sessions instead of needing reinstallation each time.
Provider metadata unification (LLM/TTS/STT)
Config page and runtime now share provider metadata, making model selection, voice switching, field validation, and custom endpoint behavior more consistent. Concretely: switching LLM providers now remembers the last model used; TTS hot-switching uses the same provider generation across the HTTP server and AudioDialog; config fields are generated from metadata instead of needing manual sync between config and runtime.
Why bundle these together
Individually these are config/infra items, not exciting on their own. Together they represent a real shift toward lower friction for people actually trying to build against Aiden: more model choice (native Anthropic), lower barrier to entry (Docker, no hardware needed), broader hardware compatibility (dual bridge chips), a persistent dev environment (Python packages), and less manual config-syncing (provider metadata unification).
Firmware (public): github.com/AidenAI-IO/aiden-firmware Discord: discord.com/invite/bcJavjcnYz


