ESP32 & ESP8266 Connectivity · Advanced · Peer link

ESP-NOW Two-Board Link

Two boards talking directly, with no router, no broker and no network at all.

Firmware status: Generated from this project's own pin map and compiled with arduino-cli for esp32:esp32:esp32 before publication; bench validation on your hardware is still required.

Board: ESP32 DevKit (ESP32-WROOM-32, 30 or 38 pin) · ESP32 dual core @ 240 MHz · 3.3 V logic · build for esp32:esp32:esp32.

What you will build

A sender and a receiver exchanging structured packets directly, with sequence numbers so a dropped packet is visible.

Components

  • Two ESP32 (or two ESP8266) boards
  • Analog sensor for the sender
  • LED or relay for the receiver
  • Two USB cables

Pin map for this build

Sketch constantPinWhat it is
PIN_SENSE34Sensor — analog output, 3.3 V maximum
PIN_OUT_14Switched output — relay / MOSFET channel, 5 V coil

Tools

  • USB programming cable
  • Multimeter
  • Current-limited bench supply (for anything that switches a load)
  • Small screwdriver and wire cutters

Build sequence

  1. Flash the sender to one board and note the MAC address in its log.
  2. Put that address into the receiver's peer table, flash the receiver, and note its MAC.
  3. Put the receiver's MAC into the sender, reflash the sender, and watch packets arrive.
  4. Walk the sender out of range and back, and confirm the sequence numbers show the gap.

Test and expected result

Packets arrive with a continuous sequence inside range, gaps are visible, and the link resumes without a reboot when you come back.

Acceptance checks

packets received, sequence continuous in range, resumes after a walk-away

Safety and limits

On the ESP8266 chip, ESP-NOW and Wi-Fi share the radio, so run peer links on a channel that does not collide with your access point.

Hardware scope

Direct peer link, fixed-size packets, callback-driven receive.

Connection diagram

Connection diagram for ESP-NOW Two-Board Link

Download the connection diagram (SVG)

Download the Arduino sketch (E17_esp_now_two_board_link.ino)

Guide source: the sketch on this page was generated from the pin map above and compiled for esp32:esp32:esp32 before publication.

Related projects

Back to all project guides · Study the course