Arm processors sit at the heart of a remarkable range of systems, from Cortex-M microcontrollers in industrial sensors, to Cortex-A boards driving robots and appliances, to Neoverse servers in the cloud. Many edge applications need these devices to cooperate: a sensor publishes a reading, a supervisor reacts, a controller adjusts an actuator. The obvious way to wire that up is through a central broker or a cloud service, but both add latency, operational overhead, and a single point of failure you may not want in a lab, a vehicle, or a factory cell.
Direct device-to-device (D2D) communication sidesteps that. Devices on the same local network discover each other, exchange typed events, and call each other’s functions directly, with no broker, no registry, and no cloud round-trip. It is a good fit for:
Device Connect is Arm’s open-source framework for structured edge communication. It gives every device a common language for four core capabilities:
Device Connect supports more than one deployment shape. In this Learning Path you’ll use its D2D mode: a peer-to-peer deployment where device runtimes find each other over the local network using Zenoh-backed multicast discovery. For larger, multi-network deployments, Device Connect also offers a full infrastructure mode with a central registry, but you do not need any of it to ship a working D2D application.
In D2D mode, every participant is a peer. Each device runtime joins the same pub/sub transport and takes part in discovery, events, and RPC on equal footing.
┌──────────────────────────────────────────────┐
│ Sensor device │
│ - device_id: sensor-001 │
│ - @rpc get_reading │
│ - @emit reading_ready ─┐ │
└──────────────────────────┼───────────────────┘
│ pub/sub (Zenoh)
│ discovery · RPC
┌──────────────────────────▼───────────────────┐
│ Threshold monitor │
│ - device_id: monitor-001 │
│ - @on reading_ready │
│ - @emit alert_raised │
│ - @rpc get_recent_alerts │
└──────────────────────────────────────────────┘
No central server sits between the sensor and the monitor. They advertise themselves, find each other by event name, and exchange typed payloads directly.
Move on to the next section to have a look at the developer model.