# Muse Gadgets

> Source: https://aiwiki.ai/wiki/muse_gadgets
> Updated: 2026-10-04
> Fact-checked: 2026-10-03
> Categories: AI Tools & Products, Developer Tools, Hardware
> License: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) - attribute to "AI Wiki (aiwiki.ai)"
> Cite as: AI Wiki. "Muse Gadgets." aiwiki.ai, 4 Oct 2026. https://aiwiki.ai/wiki/muse_gadgets
> From AI Wiki (https://aiwiki.ai), the free encyclopedia of artificial intelligence. Reuse freely with attribution.

**Muse Gadgets** is Meta's project for connecting user-built hardware to its [Muse](https://aiwiki.ai/wiki/muse) personal AI agent. It provides device software for ESP32 microcontroller boards and Linux computers, including Raspberry Pi systems, with support for displays, buttons and other peripherals.[1] The device software connects to the Muse service; it is not a release of the hosted agent or its model weights. Meta's architecture places the agent in a cloud computer.[1][10]

The project also includes Muse Home Link, Meta's own home-network device. Home Link uses firmware based on the ESP32 SDK but accepts only official firmware, unlike the boards that users can build and flash themselves.[6]

## Project and components

Nat Friedman announced the project on October 2, 2026, describing its ESP32 firmware and Linux SDK as tools for making hardware that works with Muse.[11]

The Verge reported the release on October 2, 2026, describing both the do-it-yourself software and Home Link. Its report attributed an initial production run of 5,000 Home Link devices to Meta Superintelligence Labs' Nat Friedman.[8]

| Component | Purpose |
|---|---|
| ESP32 Device SDK | Firmware for supported microcontroller boards, with capabilities determined by their hardware.[2] |
| Linux Device SDK | A device service through which Muse can execute commands and access files on a Linux computer.[3] |
| Community device skills | Markdown instructions for interacting with particular devices; these are not official integrations.[7] |
| Muse Home Link | A Meta-built device that connects Muse to compatible devices on a local network.[6] |

Every gadget needs an SDK token to pair. The iOS or Android Muse app handles pairing through its Devices settings, after Developer mode is enabled. Community gadgets appear with names beginning with `MuseGadget`.[1]

## ESP32 devices

The ESP32 SDK's default target is the ESP32-C5 DevKitC-1. The documented build uses ESP-IDF 6.0.1, with board-specific configurations for other hardware. A home-network tunnel lets supported boards connect Muse to local HTTP services.[2]

The device catalogue distinguishes basic status displays from boards with an avatar interface, touch controls, push-to-talk or sensors. Examples include:[4]

| Board | Documented functions |
|---|---|
| ESP32-C5 DevKitC-1 | Status light, button and home-network tunnel |
| Seeed reTerminal E1001 | Black-and-white e-paper status and images |
| Seeed reTerminal E1002 | Six-colour e-paper status and images |
| Home Assistant Voice Preview Edition | LED status ring, push-to-talk and volume control |
| M5Stack StickS3 | Screen interface, push-to-talk, settings and images |

These are examples rather than a complete compatibility list. Boards without PSRAM, including the documented ideaspark board and Waveshare ESP32-C6 board, omit the home-network tunnel because of memory constraints. They can still maintain a control connection to Muse.[4]

The general ESP32 README describes push-to-talk as sending a voice note for transcription and receiving a written answer. It says spoken replies require a separate text-to-speech integration.[2] The board catalogue, however, distinguishes voice sessions from text-only replies and describes spoken output on some boards.[4] These documents do not establish one audio-response behavior shared by all supported devices.

### Additional documented boards

By October 5, 2026, the repository also documented the following boards and ports. These are SDK configurations, not Meta-manufactured products or a promise that every peripheral on a board is supported.[12]

| Board or port | Documented functions and limits |
|---|---|
| Espressif ESP32-S3-BOX-3 | Touch interface, push-to-talk, settings and images |
| M5Stack StopWatch | Touch interface, push-to-talk, settings and images; the IMU, RTC, vibration motor and Grove port are not used |
| M5Stack CoreS3 | Touch interface, PWR-button push-to-talk, settings and images; the camera, proximity sensor, IMU, RTC, SD card and Grove ports are not used |
| M5Stack StickC Plus2 | Interface, push-to-talk, two-button menu and images, with a buzzer rather than a conventional speaker |
| M5Stack Core2 v1.0 | Touch interface, push-to-talk, settings, images and home-network tunnel; the v1.1 hardware revision is not supported by this port |
| M5Stack Cardputer ADV | Experimental interface, keyboard menu controls, voice notes and text replies; no typed chat messages, spoken replies, images or home-network tunnel |
| Freenove FNK0104B | Touch interface, BOOT-button push-to-talk, settings, images and home-network tunnel |

The Cardputer port is specific to the ADV model. Its documentation does not establish support for other Cardputer variants. The Core2 port similarly distinguishes the AXP192-based v1.0 board from the AXP2101-based v1.1 board.[12]

## Linux devices

The Linux SDK supports Bluetooth LE-equipped computers, including Raspberry Pi 3B+, 4, 5 and Zero 2 W. Documented operating systems include Raspberry Pi OS Bullseye or later, Debian 11 or later, and Ubuntu 22.04 or later.[3]

The service exposes four commands. The implementation defines file transfers in binary-sized chunks of up to 64 KiB, or 65,536 bytes:[9]

| Command | Function |
|---|---|
| `system.run` | Execute a shell command and return standard output, standard error and an exit code |
| `file.read` | Read a file in chunks |
| `file.write` | Write chunks and replace the destination after completion, with an optional SHA-256 check |
| `device.health` | Report uptime, load, memory, disk, temperature and software version |

Commands inherit the selected account's permissions, including sudo if available. Installation can select another account through `--run-as`.[3] The implementation separates command execution from the credential-owning service account; it does not remove the selected execution account's privileges.[9]

Local programs can send messages to Muse, including a designated side chat, permitting integrations such as webhook listeners.[3]

The Linux installer places the service in `/opt/musegadget` and starts the `musegadget` system service. The SDK token is stored at `/var/lib/musegadget/sdk_token`, which the documentation describes as readable only by root. Service management and local pairing are separate from the account chosen for command execution.[13]

In the reviewed executor revision, `system.run` uses Bash, defaults to a 120-second timeout and caps a requested timeout at 600 seconds. Returned standard output and standard error are each clipped at 96 KiB. These are implementation limits, not changes to the selected account's filesystem or sudo permissions.[14]

## Development and UI preview

Each SDK directory includes a `README.md` for setup and an `AGENTS.md` intended for coding agents, including [Muse Code](https://aiwiki.ai/wiki/muse_code). The ESP32 SDK can be extended by adding a board-specific configuration overlay for the chip, memory, buttons and display. Its image-preparation tool adapts images to a board's screen size.[1][15]

A desktop simulator compiles the production interface, state and text code, and avatar renderer for a 412 x 412 SenseCAP Watcher-style window. It runs on Linux or macOS without ESP-IDF, uses SDL for display and input, and provides scripted, headless framebuffer captures for repeatable UI tests.[16]

The simulator substitutes host adapters for firmware services. It does not emulate the ESP32-S3 processor, camera, audio hardware, Bluetooth radio, memory pressure or power timing. Interface preview therefore does not replace a firmware build or testing on an actual device.[16]

## Software licensing and service access

The repository uses Apache License 2.0, with exceptions. Its bundled minimp3 header retains CC0-1.0 and its Adafruit-derived pixel font retains BSD-2-Clause. Downloaded dependencies have their own licences, and the Jollybot avatar is explicitly excluded from the Apache licence.[1]

The SDK token terms govern access to Muse separately from the source-code licence. They permit personal, non-commercial use and cap a token at 50 linked devices. Embedding a token in shared devices does not permit selling those devices, publicly advertising or listing them, or distributing them as promotions, incentives or rewards. Other distribution requires Meta's written permission.[5]

The terms also require disclosure of how a shared device handles its recipient's information and restrict use of that information. Meta describes the SDK and tokens as unsupported, reserves the ability to change or withdraw them, and requires a revoked token to be removed from devices distributed to others. The terms expressly say they do not reduce rights under Apache 2.0, while that licence grants no entitlement to a token.[5]

## Home Link and community skills

Home Link uses an ESP32-C5, with 8 MB of PSRAM, 8 MB of flash and Wi-Fi 6 on the 2.4 and 5 GHz bands. It receives power through USB-C or USB-A and uses Bluetooth LE during setup. Its role is to make compatible local devices and HTTP APIs reachable by Muse.[6]

The October 2026 offer was limited to active Muse subscribers in the United States, one device per subscriber, with shipping scheduled for October on a first-come basis.[6]

The repository's community skills are Markdown documents containing device-specific instructions and limits. They can be supplied to Muse in a chat. Their availability is distinct from an official, reviewed Muse connector integration.[7] Meta warns that community skills may change or fail and should not be relied on for home security, emergencies or medical needs.[6]

## Pairing and security limitations

ESP32 pairing requires physical button confirmation. Both SDKs create a fresh encrypted session, but their documentation states that community-device pairing lacks manufacturer verification and cannot prevent an active man-in-the-middle attack.[2][3] Linux pairing opens locally for ten minutes when installation or the pairing command initiates it.[3]

The ESP32 documentation recommends NVS encryption where supported because stored Wi-Fi credentials and device tokens would otherwise be readable with physical access. Custom firmware also carries risks of damaging a board or voiding its warranty.[2] These documented precautions and limitations do not establish an independent security certification.

The ESP32 documentation says the SDK token is embedded in the firmware and should be revoked and replaced if leaked. Development builds use the included signing key and do not enable Secure Boot, allowing the board to be reflashed. The documented development version is `999.0.0`; over-the-air update settings vary by board profile and can be changed with `CONFIG_HOMEHUB_OTA_ENABLED`.[15]

## References

1. Meta. [Muse Gadgets](https://github.com/facebookincubator/muse-gadget-sdk/blob/main/README.md). Official repository README and licensing notes. Accessed October 4, 2026.
2. Meta. [ESP32 Device SDK](https://github.com/facebookincubator/muse-gadget-sdk/blob/main/esp32/README.md). Build, pairing, voice and security documentation. Accessed October 4, 2026.
3. Meta. [Linux Device SDK](https://github.com/facebookincubator/muse-gadget-sdk/blob/main/linux/README.md). Requirements, permissions, pairing and extensions. Accessed October 4, 2026.
4. Meta. [Devices](https://github.com/facebookincubator/muse-gadget-sdk/blob/693cde9a884ad1edc87251b9f8944815f8de4809/esp32/devices/README.md). ESP32 hardware and feature catalogue, repository revision 693cde9. Accessed October 4, 2026.
5. Meta. [Muse Gadget SDK Token Terms of Use](https://gadgets.muse.ai/sdk-terms). Accessed October 4, 2026.
6. Meta. [Muse Home Link](https://gadgets.muse.ai/home-link) and [Muse Gadgets](https://gadgets.muse.ai/). Hardware, offer conditions and community-skill limitations. Accessed October 4, 2026.
7. Meta. [Community Device Skills](https://github.com/facebookincubator/muse-gadget-sdk/blob/main/skills/README.md). Accessed October 4, 2026.
8. Jay Peters. [Meta open sources code to let you make Muse AI gadgets](https://www.theverge.com/tech/1004330/meta-muse-ai-gadgets-home-link). The Verge, October 2, 2026, 21:08 UTC; October 3 in Thailand.
9. Meta. [Linux command executor](https://github.com/facebookincubator/muse-gadget-sdk/blob/main/linux/src/musegadget/executor.py). Command specifications and account handling. Accessed October 4, 2026.
10. Tarek Sheasha. [How We Built Safety Into Muse](https://research.meta.ai/blog/security-and-safety-for-ai-agents-our-approach-with-muse). Meta AI Research, September 8, 2026.

11. Nat Friedman. [Muse Gadgets announcement](https://x.com/natfriedman/status/2106099383037309211). October 2, 2026. Accessed October 5, 2026.
12. Meta. [Devices](https://github.com/facebookincubator/muse-gadget-sdk/blob/3b56ccbb5f4f4d2f68600449950e2012026dafe6/esp32/devices/README.md). Board catalogue and port limitations, repository revision 3b56ccb. Accessed October 5, 2026.
13. Meta. [Linux Device SDK](https://github.com/facebookincubator/muse-gadget-sdk/blob/3b56ccbb5f4f4d2f68600449950e2012026dafe6/linux/README.md). Installation paths, credential storage and service management, repository revision 3b56ccb. Accessed October 5, 2026.
14. Meta. [Linux command executor](https://github.com/facebookincubator/muse-gadget-sdk/blob/3b56ccbb5f4f4d2f68600449950e2012026dafe6/linux/src/musegadget/executor.py). Shell, timeout and returned-output limits, repository revision 3b56ccb. Accessed October 5, 2026.
15. Meta. [ESP32 Device SDK](https://github.com/facebookincubator/muse-gadget-sdk/blob/3b56ccbb5f4f4d2f68600449950e2012026dafe6/esp32/README.md). Board extensions, image tools, firmware credentials, signing and update settings, repository revision 3b56ccb. Accessed October 5, 2026.
16. Meta. [UI simulator](https://github.com/facebookincubator/muse-gadget-sdk/blob/3b56ccbb5f4f4d2f68600449950e2012026dafe6/esp32/simulator/README.md). Desktop preview, automated screenshots and hardware-emulation limits, repository revision 3b56ccb. Accessed October 5, 2026.

