Dependancies
Buy the components
connect-wifi-arduino-esp32s3.ino
#include <WiFi.h>
#include "Secret.h"
// Secret.h
// char ssid[] = "secret";
// char pass[] = "secret";
void setup() {
Serial.begin(115200);
while (!Serial) { }
Serial.print("Attempting to connect to SSID: ");
Serial.println(ssid);
WiFi.useStaticBuffers(true);
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, pass);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("Connected to WiFi");
printWifiStatus();
}
void loop() {}
void printWifiStatus() {
Serial.print("SSID: ");
Serial.println(WiFi.SSID());
IPAddress ip = WiFi.localIP();
Serial.print("IP Address: ");
Serial.println(ip);
long rssi = WiFi.RSSI();
Serial.print("signal strength (RSSI):");
Serial.print(rssi);
Serial.println(" dBm");
}
BOARD?=esp32:esp32:esp32s3:CDCOnBoot=cdc
PORT?=/dev/cu.usbmodem14*
BUILD=build
## Pass in V=--verbose to output more information than default
.PHONY: help default lint compile upload clean
default: clean lint compile upload
help: ## Show help message
@awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m\033[0m\n"} /^[$$()% 0-9a-zA-Z_-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST)
lint: ## Lint code using cpplint
cpplint --extensions=ino --filter=-legal/copyright,-runtime/int *.ino
compile: ## Compile code and create the firmware binary
arduino-cli compile $(V) --fqbn $(BOARD) --output-dir $(BUILD) ./
upload: ## Upload the firmware to the board
arduino-cli upload $(V) --fqbn $(BOARD) --port $(PORT) --input-dir $(BUILD)
clean: ## Remove all built files
rm -rf build
Create a file Secret.h
in the same folder with the code.
$ tree
.
├── Secret.h
└── connect-wifi-arduino-esp32s3.ino
Include the actual Wifi SSID name and password in the file.
char ssid[] = "secret";
char pass[] = "secret";
Compile and upload the firmware to connect to the WiFi.