HEART Embedded Systems logoHEART

HEART Track 1: Basic#

For products that watch themselves and tell a person: what to read, what to skip, and when you are done

Status: Reading guide, November 2026. Part of the HEART Standards Family. It adds no requirements. Read first: Start Here, to check that this is your track. Next track: Track 2: Intermediate.


In one minute#

Track 1 is the smallest HEART. Your product knows when it is unwell and tells a person. Nothing outside it can change it through HEART.

  • Feature Set: basic (card.level).
  • Autonomy Level: A1, "Aware".
  • Reading: about 1 hour 45 minutes.
  • Code: a template does almost all of it. You write one function: "is my product doing its main job?"
  • Claim when done: HEART Basic · A1 · self-tested.

1. Who it is for#

Products whose HEART only watches and reports:

KindExamples
Small devicesA dog collar that reports its battery, GNSS and uplink; a birdhouse camera; a soil or water sensor; a smart plug that only reports
MicrocontrollersAn Arduino, ESP32, RP2040 or Cortex-M board that can only send lines on a serial port
Simple appliancesA kettle, a fridge, a water heater that says "I am not heating"
Machines you must not controlA pump station PLC, a 3D printer, an EV charger, a pacemaker. The certified controller runs the machine. HEART watches, explains and tells a person.
Simple softwareA script, a service or a web app that reports whether it is doing its job

If anyone needs to log in, change a setting, restart the product or approve something through HEART, you need Track 2 as well.


2. What you will build#

PieceWhat it doesDefined in
CardSays who the product is, its Feature Set, modules and Autonomy LevelPart 3, Section 3.1
PulseSays how it is right now: healthy, degraded, failing or unknown, with a counterPart 3, Section 3.2
ArrhythmiasAlerts, each with a standard fault code and a plain-language explanationPart 3, Sections 3.4 and 5
Minimum TendingNotice loss of the main job, raise an alert, explain it, tell a person, and do all of it offlinePart 2, Section 4, "A1: Aware" (it prevails over API Standard, Section 6.1)
The ValveEvery field has a privacy level. Without logins, everyone sees only public fieldsAPI Standard, Sections 4.1 to 4.3
One standard addressGET /.well-known/heart-card.json on port 43278 (fallback 7685)Part 4, Sections 3.1 and 3.2
Optional: HEART HubThe owner watches the product's health from anywhereHEART Hub profile
Optional: HEART LineA microcontroller sends one JSON line per event; a bridge serves the HEARTPart 4, Section 12

You will not build logins, history, approvals, actions, AI or fleets. Those are Tracks 2 and 3.


3. What to read, in order#

#DocumentRead these sectionsTimeWhy
1Start HereAll5 minMake sure Track 1 is enough
2Part 1: Basics"In one minute", Sections 1, 2, 4, 5 (all of 5.1 to 5.7), 6, 7 and 1020 minThe idea, and every word used later. Section 5 is the glossary: read it slowly.
3Part 2: Autonomy Levels"In one minute", Sections 2 and 3; in Section 4, "A0: Unaware", "A1: Aware" and "A2: Explains"; in Section 5, Rules 2, 4 and 6; Section 812 minWhat A1 asks of you. Read A2 to see what Track 2 adds.
4Part 3: Information Model"In one minute", Sections 2, 3.1, 3.2, 3.4, 4, 5.1 to 5.4 (skim the code list in 5.4 for your product), 5.6, 5.7, 7 and 920 minThe exact shape of the Card, Pulse and alerts, and how to name things
5API StandardSections 2, 2.1, 4.1, 4.2, 4.3 and 6.15 minThe Feature Sets and modules, the Valve (until Part 5 is written) and the five steps of Minimum Tending
6Part 4: Connections"In one minute", Sections 1, 2, 3.1, 3.2, 3.3, 3.5, 4.1, 4.2, 4.3, 4.6, 5, 7.1 and 1315 minPorts, the first request, the headers and the error format
7Part 4: ConnectionsSection 12 (12.1 to 12.3), only for a microcontroller4 minHEART Line v1 and what the bridge must do
8Part 6: Human Control and Safety"In one minute" and Section 9 (not 9.1)4 minHEART stays out of safety circuits and control loops. This applies to every product.
9HEART Hub"In one minute", Sections 2, 3, 5, 6, 7 (not 7.1) and 8, only if you report to a monitor site13 minClaim codes, what is reported, and why only public data leaves
10Part 9: Testing and Certification"In one minute", Sections 2, 3.1, 5.1, 5.2, 7 and 8 (with 8.1)13 minHow to test, declare and rate what you built. The tests are listed in Section 6 below.
11One guide close to your productAll20 minA worked example from day 1 to HEART Basic · A1: pacemaker, 3D printer, EV charger or water pump station

Total: about 1 hour 45 minutes without the guide, less if you skip items 7 and 9.


4. What you can skip, and why#

SkipWhy
Part 1, Sections 3, 8, 9 and 11 to 13Background and history. Section 8 is the start of Track 2, Section 9 of Track 3.
Part 2, A3 to A5, Rules 1, 3, 5 and 7, Sections 6, 7 and 9 to 12They are about systems that act. A Basic product takes no action, so it has nothing to stop.
Part 3, Sections 3.3 (Rhythm), 3.5 to 3.7, 5.8 (event types), 6, 8 and 10 to 14History and Receipts are Connected (Track 2). Capabilities and Actions are Full (Track 3).
Part 4, Sections 4.4, 4.5 and 6 to 11Paging, live streams, logins, identity keys, the Gateway, sockets and MQTT are Track 2.
Part 6, Sections 2 to 8, 9.1, 10 to 12The gate, approvals and stop are for products that change.
The rest of the API StandardWhere a drafted part covers the same ground, the part prevails. The rest is for Tracks 2 and 3.
Core Standard, Command Center, Design Note 1Only for products with a HEART Core or an AI brain (Track 3).
Signal TablesOnly when you serve many signals as properties (Track 2).
Security AdvisoryIts fixes are about logins, approvals and MQTT. A Basic product is already covered by the tests below.

5. Where to start: templates and simulators#

Templates#

Every one of the 16 HEART Basic templates already does all of Track 1: Card, Pulse, the 30-second check of the main job, the system.main-function-lost alert, escalation, standard errors and the standard port. Download them from heartcortex.ai/downloads.

Your productTemplate
An app or service on Linux, macOS or WindowsThe server template for your language: python, javascript-node, go, rust, c-posix, java, php or ruby
An embedded Linux boardc-posix, go or rust
A microcontroller with a serial portc-baremetal, micropython, arduino or an assembly port (asm-x86-64-linux, asm-arm-cortex-m, asm-riscv32), plus the bridge
A web page or a plug-in hostwasm-wat
Reporting to HEART Hubpython with MONITOR = True, or esp32-full with HEART_MONITOR

Simulators#

All nine simulators claim HEART Basic · A1 in their Card. Four of them show only Track 1 behaviour: they watch, explain and tell a person, and refuse every change.

SimulatorWhat it shows
PacemakerMonitoring only. A patient's condition is not a device fault.
3D printerThe firmware owns heating and thermal-runaway protection. HEART only watches.
Water pump stationThe PLC and its interlocks run the station. Every change is refused.
EV chargerThe certified controller owns current and safety. When a car charges is private.

The other five show Track 2 and Track 3 behaviour. Each track page lists them. You can watch every simulator live at heartcortex.ai/monitor/demos.


6. The Part 9 tests that apply#

These are the tests from Part 9, Section 6, for HEART Basic · A1. Weights: critical counts 5, must 3, should 1 (Part 9, Section 8.1). A failed critical test caps the rating at 3.9, Unsafe.

TestWeightApplies to you when
P2-AUTONOMY-DECLAREDmustAlways
P2-A1-1, P2-A1-2, P2-A1-3, P2-A1-4mustAlways (A1)
P3-SCHEMA, P3-CARD, P3-CARD-PUBLIC-VIEW, P3-VERSION-HEADERmustAlways
P3-PULSE, P3-PULSE-PUBLIC-VIEW, P3-PULSE-SEQUENCE, P3-ARRHYTHMIASmustAlways
P3-ERRORS, P3-UNKNOWN, P3-501mustAlways
P3-FAULT-CODESshouldAlways
P4-DISCOVER, P4-RATE-LIMITmustAlways
P4-PORT, P4-CACHEshouldAlways
P4-TLS-SERVERmustIt answers on a network address, not only on 127.0.0.1
P4-TLS-CLIENTmustIt opens connections itself: a HEART Line bridge, or a HEART Hub link
P4-LINE-BRIDGEmustIt is a HEART Line bridge
P4-OWNER-KEYmustIt uses an owner key (Part 4, Section 6.6)
P5-FILTER, P5-UNCLASSIFIEDmustAlways
P5-NEVERcriticalAlways
P6-SURVIVEmustAlways

That is up to 28 tests. Everything else in Part 9 is not applicable to a Track 1 product: write that on the test sheet, with the reason (Part 9, Section 5.1).


7. You are done when#

  • GET /.well-known/heart-card.json answers on port 43278 (or 7685) with no login, and the Card says "level": "basic" and "autonomy": {"level": 1}.
  • Breaking the main job on purpose changes the Pulse and raises an alert with a standard fault code, within the time on your test sheet, with the internet cut off.
  • The alert explains in plain language what happened and what it means for the user.
  • A person is told by the route the owner set, and a message held back while offline is delivered when the network returns.
  • Nothing above public ever leaves the product, and nothing never-share ever appears in a message.
  • Killing the HEART leaves the product working normally and safely.
  • Every test in Section 6 passes, or is not applicable with a reason. You have a HEART-Rating with its metrics version, and a Declaration (Part 9, Section 7).

You can now say: HEART Basic · A1 · self-tested. Stop here, unless people need to log in to, change or approve things on your product. Then go on to Track 2.