The project's README from github.com/Adolanium/hermes-gadget-sdk. As one markdown file: README.md.
Hold a button. Ask Hermes. Hear the answer.
A small device for your own Hermes Agent, with its tools, memory, and skills.
Set up a board · Try the simulator · Read the docs
The desktop simulator runs the same device core. No board needed to try it.
| I have a board | I want to try it first | I want to build with it |
|---|---|---|
| Open the browser installer | Start the desktop simulator | Explore the SDK |
| Install over USB, connect Wi-Fi, and pair with your Hermes. | Try a scripted demo, then connect your own Hermes. | Add a board, device actions, sensors, or your own face. |
| Chrome or Edge, a USB data cable, 2.4 GHz Wi-Fi, and Hermes. No firmware toolchain. | Python 3.10+, CMake 3.16+, and a C++17 compiler. | Start with the development guide and tests. |
Your Hermes does the thinking. Real conversations need Hermes Agent and the Gadget plugin. Voice also needs speech recognition and text-to-speech configured. The demo server gives scripted replies. Follow Connect Hermes when you are ready.
| Board | How you talk | Audio |
|---|---|---|
| Waveshare ESP32-S3-LCD-1.54 | Hold BOOT | Onboard microphones and speaker |
| Waveshare ESP32-S3-Touch-AMOLED-1.75 | Hold the screen | Onboard microphones; speaker output |
| Waveshare ESP32-S3-Touch-AMOLED-1.75C | Hold the screen | Onboard microphones and speaker; experimental |
| Espressif ESP32-S3-BOX-3 | Hold the screen or BOOT | Onboard microphones and speaker; experimental |
| M5Stack CoreS3 | Hold the screen | Onboard audio and battery management; experimental |
| ESP32-S3 breadboard build | Hold TALK | Wire the microphone and optional speaker |
Check the exact model and connections in the hardware guide. Other boards need a port.
Raspberry Pi 4 and 5 have an experimental Linux client for 64-bit Raspberry Pi OS Lite Trixie. Add USB audio, GPIO controls, or a display as needed. ARM64 release packages include the native core and a service installer.
These ports build in CI. Physical verification reports are not yet recorded; treat them as experimental until the hardware verification table links a report for your revision.
In your activated environment at the repository root:
python -m pip install -e ".[dev]"
hermes-gadget build-sim --test
hermes-gadget devserver --pairing
In a second terminal with the same environment activated:
hermes-gadget sim --url ws://127.0.0.1:8765/gadget --board sim-466x466-round
Type approve <CODE> in the first terminal, using the code on the device. Type a message in the simulator to receive a streamed echo. The desktop guide covers platform-specific prerequisites and live audio.
| Ready | Listening | Thinking | Speaking |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
These images show the simulator's device display. The simulator guide covers its desktop controls, board profiles, and scripted runs.
Releases include prebuilt firmware for the profiles listed in that release. Newly merged profiles need a source build until the next release. After the first USB flash, hermes gadget update installs new firmware over the air. A build that cannot reach Hermes rolls itself back.
The simulator and firmware share a portable C++17 core. CI tests the core, Python tools, installer, and plugin against a real Hermes gateway, and builds every supported board. The development guide describes the test suites and pinned Hermes version.
After installing firmware, you can configure Wi-Fi from your phone through the gadget's temporary network. USB setup remains available. Wake-word activation is not included.
The Home Assistant and MQTT examples expose a configured lamp and temperature sensor through a Linux gadget. They include pairing instructions, fixed action targets, asynchronous completion and local integration tests.
Bug reports from real boards, new boards, fixes, and docs are welcome. Read CONTRIBUTING.md. Report security problems privately through SECURITY.md.
Hermes Gadget is an independent, community-made project. It is not affiliated with, endorsed by, sponsored by or supported by Nous Research.
"Hermes", "Hermes Agent", "Nous Research" and the Hermes Agent mascot (the girl with the headphones, sometimes called "Nous Girl") are trademarks or brand assets of Nous Research. They appear here only to describe compatibility with Hermes Agent.
Project code and documentation are licensed under the MIT license.
Third-party dependencies, adapted drivers, and artwork retain their respective licenses. See Third-party licenses and attribution and NOTICE for details.
The MIT license grants no rights to Nous Research's names or marks.