AxeForge/Heyra
Dumb edge, smart server

Hear what matters in your home.

Cheap ESP32 units stream raw audio to a server that classifies it and tells Home Assistant — baby crying, smoke alarm, glass breaking, a dog barking, someone at the door. The smoke-alarm detector also runs on-device, so it keeps working if the server or network goes down.

Live demo — simulated feed, not a real connection
heyra — acoustic/kitchen/event
Features

Nine ears, one brain

Every event gets its own detector, its own MQTT topic, its own Home Assistant entity — nothing bundled together where one could get lost.

Baby cry

Classified server-side via YAMNet, published the moment it's confident.

Smoke alarm

Dual-path: on-device and server-side. Survives a server or network outage.

Glass break

Pairs well with a "nobody home" automation condition — ships as an example.

Dog bark

Its own detector, its own entity — not bundled with anything else.

Doorbell

Catches it even when nobody's near the actual chime.

Shout & scream

Split into two distinct alerts, not folded into one bucket — a scream escalates differently than a shout.

"Help" / "Socorro"

Provisional

Wake-word pipeline is wired end-to-end; real trained models are the next step.

MQTT Discovery

Entities appear in Home Assistant automatically — no manual YAML.

Privacy-first

No audio persisted anywhere outside an explicit opt-in debug mode.

Guide

How it fits together

01

Firmware

ESPHome on an ATOM Echo streams raw PCM over UDP and runs a Goertzel pattern detector for smoke alarms entirely on-device.

02

Server

YAMNet + openWakeWord classify the stream and publish events over MQTT with hysteresis, not raw noise.

03

Home Assistant

MQTT Discovery creates the entities. Automations and a dashboard ship ready to import.

Detection range

How far does it hear?

Heyra hasn't run its distance calibration pass yet (Phase 4, not started) — so instead of a made-up meter figure, here's the honest picture: three room-relative zones, same categories Heyra's own calibration plan will test against.

unit same room adjacent room through door

Same room

Where every event type has been exercised so far — loud, distinct sounds (smoke alarm, scream, shout) are the reliable case today.

Adjacent room

Target scenario for Phase 4 — expected to work for louder events, not yet walked and measured.

Through a door

Hardest case, also a Phase 4 target — depends heavily on the specific door/wall.

Illustrative, not measured. The mic (Knowles SPM1423) has no distance spec — no MEMS mic datasheet states one, range is a room-acoustics question, not a component spec. Heyra's own calibration pass (walking the house per event class) is planned but hasn't run yet.
Use cases

Why people run Heyra

Baby monitoring

Get notified the moment crying starts, anywhere in the house.

Accessibility & elderly care

Distress-keyword detection for someone who can't reach a button.

Home security backup

Glass-break and smoke detection that don't depend on a subscription.

General awareness

Doorbell and dog-bark alerts even when you're not in the room.

Compatible hardware

Built to grow

BoardStatus
M5Stack ATOM EchoVerified, in production use

See firmware/boards/README.md in the repo for the hardware contract a new board profile needs to satisfy.

Install

Add it to Home Assistant

Settings → Add-ons → Add-on Store → → Repositories

Add https://github.com/AxeForging/heyra

Install the Heyra Add-on — the detection service, plus a live view of your configured units.

Flash each ATOM Echo straight from your browser — no dev machine, nothing installed on the Add-on.

Full instructions on GitHub