Skip to main content
Proton AI Core’s ESP32-S3 integrates 2.4 GHz Wi-Fi (802.11 b/g/n) and Bluetooth 5.0 with BLE support directly on the module — no external radio hardware required. This means you can stream camera images over HTTP, push sensor data to the cloud, or communicate with a mobile app over BLE, all from the same chip that runs your AI model.

Connecting to Wi-Fi

The Arduino WiFi.h library included with the ESP32 board package handles connection management. Call WiFi.begin() with your network credentials and poll WiFi.status() until the connection is established.
wifi_connect.cpp
#include <WiFi.h>

const char* ssid     = "YourNetworkName";
const char* password = "YourPassword";

void setup() {
  Serial.begin(115200);
  WiFi.begin(ssid, password);

  Serial.print("Connecting to Wi-Fi");
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println();
  Serial.print("Connected! IP address: ");
  Serial.println(WiFi.localIP());
}

void loop() {}

HTTP GET Request

Once connected, use the HTTPClient library to fetch data from a remote server. The library handles connection setup, request formatting, and response parsing for you.
http_get.cpp
#include <WiFi.h>
#include <HTTPClient.h>

void fetchData() {
  if (WiFi.status() == WL_CONNECTED) {
    HTTPClient http;
    http.begin("http://api.example.com/data");
    int httpCode = http.GET();
    if (httpCode > 0) {
      String payload = http.getString();
      Serial.println(payload);
    }
    http.end();
  }
}

Sending Camera Images via HTTP POST

You can combine the camera driver with HTTPClient to capture a JPEG frame and upload it directly to a server endpoint in a single function. This pattern is useful for remote monitoring, cloud-based AI processing, or building a timelapse pipeline. Grab a frame buffer with esp_camera_fb_get(), POST the raw JPEG bytes with the image/jpeg content type, then release the buffer.For a complete working sketch, see Wi-Fi Image Upload in the Examples page.