ESP32 & ESP8266 Connectivity · Intermediate · HTTP client

ESP32 Weather API Client

Pull a live reading from a public API and print it, handling the three failures that actually happen.

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 polling a JSON endpoint, reporting the parsed values, and reporting clearly when the network, the status code or the payload shape is wrong.

Components

  • ESP32 board
  • USB cable
  • A network with internet access

Pin map for this build

Sketch constantPinWhat it is

Tools

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

Build sequence

  1. Flash and watch the first request in the log.
  2. Unplug the router for a cycle and confirm the node says the network is missing rather than crashing.
  3. Point API_URL at an endpoint that returns a different shape and watch the parse guard fire.
  4. Change the poll interval and confirm the request rate follows it.

Test and expected result

Values are parsed and printed, an unreachable network is reported, and a wrong payload shape is caught rather than acted on.

Acceptance checks

parses live data, reports network failure, catches shape changes

Safety and limits

Public APIs change without notice. Treat every field as optional and never act on a value you have not range-checked.

Hardware scope

TLS HTTP client, JSON parsing with a fallback, long poll interval.

Connection diagram

Connection diagram for ESP32 Weather API Client

Download the connection diagram (SVG)

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