Meta Just Open-Sourced Muse for Hardware. Here’s What You Can Build This Weekend.
Turn a $15 circuit board into a talking AI companion. No, really.
Today, Meta announced Muse Gadgets. Its an open-source firmware and SDKs that let you put the Muse AI assistant on hardware you build yourself. The code is on GitHub under the Apache 2.0 license, in the facebookincubator/muse-gadget-sdk repository. It comes in two flavors: an ESP32 Device SDK for microcontrollers, and a Linux Device SDK for the Raspberry Pi or any Linux box you have lying around.
The pitch is simple. Flash the firmware onto an off-the-shelf board, pair it with the Muse app on your phone, and Muse can suddenly talk through a speaker, listen through a microphone, draw on a little screen, read sensors, and flip actuators. Your AI assistant stops living only inside an app and starts living on your desk, your wrist, or your wall.
A quick note on how this actually works, because it matters: you are not installing Muse on the chip. Muse runs in the cloud. Your gadget is a terminal: it captures your voice, sends it up, and plays back the answer. That means every gadget needs Wi-Fi (or your phone’s hotspot). An ESP32 has no cellular radio, so there is no true standalone smartwatch here. What you get is a small, cheap, single-purpose window into Muse.
The honest fine print. Meta’s token terms say the SDK and tokens are not a supported product, and Meta can change or pull access at any time. One token covers up to 50 devices. Meta’s own site jokes about “bricked boards, voided warranties, brownouts, or bankruptcies.” This is a tinkerer’s playground, not a consumer product. Go in with that mindset and you’ll have a great time.
Here’s one complete build you can do this weekend, followed by five more ideas to try.
Build 1 (complete walkthrough): The Talking Muse Puck, ~$50
This is the closest thing to an official reference build. Meta features the Waveshare ESP32-S3-Touch-AMOLED-1.75C on the Gadgets page, and the SDK repo ships a ready-made config for it. It’s a round 1.75" AMOLED touch screen (466x466) with a dual-microphone array, echo cancellation, a speaker, and a battery option, all on one ESP32-S3 board. Press a button, talk, and Muse answers out loud while showing its avatar on the round display. It looks like a tiny AI puck. Total cost: roughly $30–50 depending on where you buy.
What to buy
That’s it. One board, one cable. No soldering, no wiring.
Part A: Get your token and set up the app (no computer needed)
Step 1: Get your SDK token. Go to gadgets.muse.ai, open Account, then SDK tokens, and create one. It will look like mgst_... followed by random characters. Copy it somewhere safe, like a password manager. This token is the key that links your hardware to your Muse account, so treat it like a password: never post it, never commit it to GitHub.
Step 2: Enable Developer mode in the Muse app. Install the Muse app on your iPhone or Android phone, sign in, and turn on Developer mode. This is what lets the app discover and pair with hardware you built yourself.
Part B: Install the build tools on your computer
You need two free tools: Git (to download the code) and ESP-IDF v6.0.1 (Espressif’s toolkit for building ESP32 firmware). The version matters: the Gadgets repo docs say v6.0.1, and other versions are unsupported.
Step 3: Install Git. Open a terminal and run git --version. If you see a version number, you're done. If not, install it from git-scm.com (Windows and Mac installers are one click; on Linux use your package manager, e.g. sudo apt install git).
Step 4: Install ESP-IDF v6.0.1 (the easy way). Install VS Code from code.visualstudio.com, then in VS Code install the “Espressif IDF” extension from the marketplace. Open the extension’s setup wizard, choose the Express install, and when it asks which ESP-IDF version to install, pick v6.0.1. Go make coffee: this downloads about 2 GB and takes 10–20 minutes. (On Linux, the installer may ask you to install a few system packages first; it tells you exactly which.)
Prefer the command line? The manual equivalent is:
mkdir -p ~/esp && cd ~/esp
git clone -b v6.0.1 --recursive https://github.com/espressif/esp-idf.git esp-idf-v6.0.1
cd esp-idf-v6.0.1
./install.sh esp32s3and then run . ./export.sh in every new terminal before building.
Step 5: Open an ESP-IDF terminal. In VS Code, the Espressif extension adds an “ESP-IDF Terminal” option. Open it. Run idf.py --version and confirm it prints v6.0.1. Every command below runs in this terminal.
Part C: Download the code and save your token
Step 6: Clone the Gadgets repo.
git clone https://github.com/facebookincubator/muse-gadget-sdk.git
cd muse-gadget-sdk/esp32Step 7: Save your token into a config file. Replace mgst_paste_your_token_herewith your real token, keeping the quotes:
echo 'CONFIG_GADGET_SDK_TOKEN="mgst_paste_your_token_here"' > sdkconfig.tokenThis file bakes your token into the firmware at build time. Keep it private. If you ever put this project on GitHub, do not upload this file.
Part D: Plug in the board and back it up
Step 8: Connect the board. Plug the Waveshare board into your computer with a USB-C data cable. Warning: some USB-C cables are charge-only and won’t work for flashing. If your computer doesn’t see the board at all, try a different cable before anything else.
Step 9: Find the board’s port. Run the command for your system and note what appears:
- macOS:
ls /dev/cu.usbmodem* - Linux:
ls /dev/ttyACM*(if you get "permission denied" later, runsudo usermod -a -G dialout $USER, then log out and back in) - Windows: open Device Manager, look under “Ports (COM & LPT)”, note the COM number, e.g.
COM3
In the commands below, replace PORT with what you found (e.g. /dev/cu.usbmodem1101 or COM3).
Get Vinay Bhaskarla’s stories in your inbox
Join Medium for free to get updates from this writer.
Step 10: Back up the factory firmware. This saves the software the board shipped with, so you can restore it later:
python -m esptool --chip esp32s3 -p PORT read-flash 0 0x2000000 factory-backup.binThis reads the board’s full 32 MB and takes a few minutes. Keep factory-backup.binsomewhere safe.
Part E: Build the firmware
Step 11: Build. From the esp32 folder, in your ESP-IDF terminal, run:
idf.py -B build-muse-waveshare -DIDF_TARGET=esp32s3 \
-DSDKCONFIG=build-muse-waveshare/sdkconfig \
-DSDKCONFIG_DEFAULTS="sdkconfig.defaults;sdkconfig.token;devices/sdkconfig.muse;devices/sdkconfig.muse-waveshare-s3-175c" buildWhat this does: it targets the ESP32-S3 chip, then layers three config files: the repo’s defaults, your token file, and Meta’s ready-made settings for this exact Waveshare board (screen driver, touch, buttons, audio). The first build takes several minutes. If you see errors about missing headers such as gcm.h, your ESP-IDF version is wrong: it must be v6.0.1.
Part F: Flash it onto the board
Step 12: Flash. Same command as Step 11, with -p PORT flash added:
idf.py -B build-muse-waveshare -DIDF_TARGET=esp32s3 \
-DSDKCONFIG=build-muse-waveshare/sdkconfig \
-DSDKCONFIG_DEFAULTS="sdkconfig.defaults;sdkconfig.token;devices/sdkconfig.muse;devices/sdkconfig.muse-waveshare-s3-175c" -p PORT flashYou’ll see progress bars as it writes. When it finishes, the board reboots into the Muse firmware and the round screen should light up with the Muse interface.
If flashing fails with “failed to enter download mode”: hold down the BOOT button on the board, tap RESET, release BOOT, and run the flash command again.
Part G: Pair it and talk
Step 13: Pair in the app. In the Muse app (Developer mode on), the board advertises itself over Bluetooth as MuseGadget-XXXXXX. Pair it, then join it to your Wi-Fi when the app asks. The gadget opens an encrypted session to Muse.
Step 14: Press PWR and talk. The PWR button is push-to-talk on this board (BOOT is spare). Hold it, speak, release. Muse answers through the speaker and shows its avatar, images, settings, and battery status on the round AMOLED. Future firmware updates arrive over the air, so you won’t need the USB cable again.
What you can do with it
Ask it anything you’d ask the app, but hands-free: kitchen timers and conversions while cooking, quick facts while you work, bedtime stories for the kids with pictures on the little round screen. It also has a home-network tunnel, so Muse can reach devices on your local network through it.
Five more ideas to try
1. The Muse watch (Seeed SenseCAP Watcher)
The SDK already supports a watch-shaped board: the Seeed SenseCAP Watcher(ESP32-S3, 1.45" round touch LCD, mic and speaker). Flash it with tools/muse/board.sh flash watcher, pair it, and connect it to your phone's hotspot when you leave the house. Press the side wheel to talk to Muse from your wrist. One caution from the repo docs: back up the Watcher's factory partition (nvsfactory at 0x9000) before flashing, or you can't cleanly restore it. Source it from Seeed Studio.
2. The ambient e-ink desk display
E-ink sips power and is readable in daylight. Build it with a 2.9" e-paper module (~$20–25) plus an ESP32 dev board (~$8–12), or buy a Pimoroni Badger 2040 W (~$30) all-in-one. Note: Meta’s only officially supported e-paper is the big 7.5" Seeed reTerminal, so a small one means adapting the firmware yourself. Use it for a morning briefing, your to-do list, or flashcards while you study.
3. The Raspberry Pi home bridge (free, if you have the Pi)
Got an old Pi in a drawer? The Linux Device SDK turns it into a Muse gadget that runs custom commands and talks to Home Assistant. “Muse, turn off the living room lights” becomes real. You need the SDK token and Developer mode in the app, same as the ESP32 boards. This is the cheapest build of all if the Pi is already yours: $0.
4. The pocket status buddy (M5Stack StickS3, ~$15–25)
A pocket-size stick with a 1.14" color screen, speaker, mic, and buttons. Flash it, and it shows Muse’s status and avatar at a glance, with push-to-talk on the front button. Toss it in a bag as a travel companion that works off your phone’s hotspot. Source it from M5Stack’s store or Amazon.
5. The desk robot with a Muse brain
This one’s my favorite because it’s the most personal: take a DIY desk robot (ESP32-S3, small TFT face display, a top button, a lithium cell) and make the Muse firmware its brain. The top button becomes push-to-talk, the face display becomes Muse’s avatar, and your little robot suddenly talks back. If you’re already building the robot, the Waveshare 1.75C’s round AMOLED makes a perfect robot face, and its dual mics plus echo cancellation solve the hardest part of a voice robot: hearing you clearly. Design the enclosure around the round board, and the mechanical design becomes the fun part.
Where to source components
- Waveshare (waveshare.com): the 1.75C round AMOLED and a huge catalog of ESP32 display boards. Also on Amazon and AliExpress.
- Seeed Studio (seeedstudio.com): the SenseCAP Watcher and the reTerminal e-paper displays.
- M5Stack (shop.m5stack.com): the StickS3 and other pocket-size ESP32-S3 devices. Also on Amazon.
- Pimoroni (shop.pimoroni.com): the Badger 2040 W for e-ink experiments.
- Amazon / AliExpress / eBay: the ideaspark ESP32 1.9" display board (~$13–17) is the cheapest supported display if you just want to try flashing; note it has no mic or speaker, so it’s display-only.
- The code: github.com/facebookincubator/muse-gadget-sdk (Apache 2.0). The token: gadgets.muse.ai. The community: the Gadgets Discord, linked from the site.
Few Ideas for inspiration:
The bottom line
Muse Gadgets is Meta saying: here’s our AI, here’s the firmware, go build weird things. The barrier to entry is a $15–50 board, a USB cable, and a free SDK token. Some builds (the Waveshare puck, the SenseCAP watch, the Pi bridge) work with ready-made configs today. Others (the e-ink display, the robot) need you to adapt the code, which is exactly the kind of weekend project this program was made for.
Pick one idea, order the part, and flash something this weekend. The worst case is a bricked $15 board and a good story. The best case is an AI companion you built with your own hands, sitting on your desk, talking back.
Prices were checked in early October 2026 and move around, especially on AliExpress and Amazon. Confirm before you buy.
Disclosure: This article was developed with the assistance of an AI writing program. The ideas, direction, research review, revisions, and final editorial decisions are my own.









