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 constant | Pin | What it is |
|---|
Tools
- USB programming cable
- Multimeter
- Current-limited bench supply (for anything that switches a load)
- Small screwdriver and wire cutters
Build sequence
- Flash and watch the first request in the log.
- Unplug the router for a cycle and confirm the node says the network is missing rather than crashing.
- Point API_URL at an endpoint that returns a different shape and watch the parse guard fire.
- 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
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
- ESP32 Captive Portal Wi-Fi Manager — Boot the ESP32 with no credentials and configure its network from a phone, with the portal saved to flash.
- ESP8266 Config Portal — The same idea on the cheapest board that can do it: an ESP8266 that configures itself from a browser.
- ESP8266 Sensor Portal Logger — A battery-minded sensor node you configure in the field, with the reading shown on its own setup page.