ESP32 & ESP8266 Connectivity · Advanced · Notifications

ESP32 Telegram Control Bridge

Commands from a phone, replies from the board, and a status command that always answers.

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

An ESP32 that reads incoming commands, acts on /on, /off and /status, and confirms each action in the thread.

Components

  • ESP32 board
  • Relay or MOSFET output
  • Analog sensor for the status reply
  • Telegram bot token and chat id

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. Set the token and chat id and flash.
  2. Send /on, /off and /status from the phone and confirm each replies.
  3. Confirm the physical output follows the command and not just the message.
  4. Send an unknown command and ensure the board does not act on it.

Test and expected result

Three commands work, an unknown command is ignored safely, and the output state and the reported state agree.

Acceptance checks

commands work, unknown commands ignored, output and report agree

Safety and limits

A chat command that moves hardware needs a local override that does not depend on the network or on Telegram being reachable.

Hardware scope

Command polling, JSON parsing, output control with confirmation reply.

Connection diagram

Connection diagram for ESP32 Telegram Control Bridge

Download the connection diagram (SVG)

Download the Arduino sketch (E22_esp32_telegram_control_bridge.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