ESP32 er en familie av rimelige mikrokontrollere fra Espressif med innebygd WiFi og som regel Bluetooth. Ett lite kort kan lese sensorer, styre lys og motorer og sende data trådløst. I motsetning til en Raspberry Pi kjører ESP32 ett kompakt program uten Linux. Derfor starter kortet nesten umiddelbart, bruker lite strøm og gir deg direkte kontroll over pinnene.
Hva kan ESP32 brukes til?
De fleste ESP32-kort har digitale inn- og utganger, analoge innganger (ADC), PWM og busser som I²C, SPI og UART. Sammen med WiFi gir det en praktisk plattform for værstasjoner, dataloggere, lysstyring, små roboter og egne smarthussensorer. Du skriver programmet på PC-en i Arduino IDE, PlatformIO, ESP-IDF eller MicroPython og laster det opp via USB.
Et ESP32-startsett med sensorer og OLED er nyttig fordi du kan følge flere øvelser uten å lete etter motstander, ledninger og breadboard. Et kompakt kort som M5StickS3 med integrert skjerm passer bedre når du vil ha en liten, ferdig enhet med kabinett, knapper og display.

Hvilken ESP32-variant?
«ESP32» brukes både om den opprinnelige brikken og om hele familien. Variantene har ulik prosessor, radio og USB-løsning. Sjekk derfor hvilken brikke som sitter på kortet før du følger et eksempel eller en pinout.
| Variant | Prosessor | Trådløst | Godt å vite |
|---|---|---|---|
| ESP32 (original) | To Xtensa-kjerner, opptil 240 MHz | WiFi 4, Bluetooth Classic og BLE | Flest eksempler på nett; USB går vanligvis via en egen USB-seriell-brikke på kortet |
| ESP32-S3 | To Xtensa-kjerner, opptil 240 MHz | WiFi 4 og BLE 5 | Innebygd USB og mange GPIO; vanlig i nyere M5Stack-produkter |
| ESP32-C3 | Én RISC-V-kjerne, opptil 160 MHz | WiFi 4 og BLE 5 | Rimelig og strømgjerrig, men færre pinner |
| ESP32-C6 | RISC-V, opptil 160 MHz | WiFi 6, BLE 5 og IEEE 802.15.4 | Kan i tillegg brukes til Zigbee og Thread |
| ESP32-H2 | RISC-V, opptil 96 MHz | BLE 5 og IEEE 802.15.4, ikke WiFi | Laget for Zigbee- og Thread-enheter, ikke for WiFi-prosjekter |
ESP32, S3, C3 og C6 bruker bare WiFi på 2,4 GHz. Hvis ruteren har separate nett, må kortet kobles til 2,4 GHz-nettet. For et første prosjekt er en klassisk ESP32 eller en ESP32-S3 et trygt valg, fordi de har størst utvalg av eksempler og biblioteker.
ESP32 eller Raspberry Pi?
| Egenskap | ESP32 | Raspberry Pi 4/5 |
|---|---|---|
| Kjøremiljø | Ett program, ofte med FreeRTOS i bakgrunnen | Linux med mange samtidige programmer |
| Oppstart | Vanligvis under ett sekund | Operativsystemet må starte først |
| Strømforbruk | Lavt, med dyp søvn mellom målinger | Høyere; laget som en liten datamaskin |
| Sensorer og timing | Direkte og forutsigbar | God, men operativsystemet kan påvirke timingen |
| Analoge innganger | Innebygd ADC | Krever en ekstern ADC-modul |
| Nettleser, database, video | Begrenset | Naturlig bruksområde |
Velg ESP32 når én liten enhet skal gjøre en avgrenset jobb. Velg Raspberry Pi når prosjektet trenger nettleser, database, kamera med videobehandling eller flere tunge tjenester. En vanlig og robust arkitektur er å la flere ESP32-sensorer sende data til en Raspberry Pi eller en Home Assistant-server.
Hvis du vil forstå hele Pi-familien, se Hva er Raspberry Pi?. Står du mellom flere plattformer, sammenligner Arduino, ESP32 eller Raspberry Pi og Raspberry Pi Pico eller ESP32 dem mer detaljert.
Dette trenger du
- Et ESP32-utviklingskort med USB-tilkobling.
- En USB-kabel som overfører data, ikke bare strøm. Mange «ladekabler» mangler dataledere.
- Et loddefritt breadboard og jumperledninger.
- En enkel sensor med dokumentert driftsspenning og grensesnitt, for eksempel analog, I²C eller digital.
- Eventuelt en I²C OLED-skjerm.
- Arduino IDE, PlatformIO eller et annet støttet utviklingsmiljø på PC-en.
Første prosjekt i fem trinn
- Last opp et blinkprogram. Da bekrefter du USB-driver, kortvalg, port og opplasting før andre komponenter blandes inn.
- Koble til sensoren uten skjerm. Les verdien i seriellmonitoren og kontroller at den endrer seg på en rimelig måte.
- Legg til OLED via I²C. Finn adressen til skjermen og bruk de SDA- og SCL-pinnene som kortets pinout angir.
- Koble til WiFi sist. Hold nettverksnavn og passord utenfor kode du deler. Skriv logikk som tåler at nettet forsvinner.
- Gjør strømforsyningen robust. Test uten PC, kontroller kabel og forsyning, og se at kortet starter pålitelig mange ganger på rad.
Trinn 2 kan se slik ut i Arduino IDE. Programmet leser en analog sensor én gang i sekundet og skriver både råverdi og omtrentlig spenning:
// Les en analog sensor og skriv verdien til seriellmonitoren
const int SENSOR_PIN = 34; // ADC1-pinne på klassisk ESP32; sjekk pinout for ditt kort
void setup() {
Serial.begin(115200);
}
void loop() {
int raw = analogRead(SENSOR_PIN); // 0–4095 med 12 bit
int millivolt = analogReadMilliVolts(SENSOR_PIN); // kalibrert omregning
Serial.printf("Rå: %d Spenning: %d mV\n", raw, millivolt);
delay(1000);
}
Sett seriellmonitoren til 115200 baud. På den klassiske ESP32 kan ADC2-pinnene ikke brukes mens WiFi er aktiv, så velg en ADC1-pinne fra starten. GPIO 34–39 på den samme brikken er bare innganger og mangler interne pull-up-motstander. Endre én ting om gangen og lagre en fungerende versjon før neste trinn. Hvis skjermen blir blank etter at WiFi er lagt til, vet du da at sensor og skjerm virket før nettverkskoden.
Vanlige problemer og løsninger
Kortet vises ikke som port
Prøv en kabel du vet overfører data, en annen USB-port og riktig driver. Mange kort bruker en USB-seriell-brikke av typen CP210x eller CH340, som kan kreve driver på enkelte systemer. Noen kort må settes i opplastingsmodus ved at du holder BOOT-knappen inne mens opplastingen starter. Velg nøyaktig kortvariant i verktøyet.
Sensorverdien er ustabil
Kontroller felles jord, driftsspenning, ledningslengde og pull-up-motstander. Ta flere målinger og bruk gjerne median eller gjennomsnitt, men ikke bruk programvare til å skjule en dårlig elektrisk forbindelse.
Kortet finner ikke WiFi-nettet
Kontroller at nettet sender på 2,4 GHz, at navnet er stavet nøyaktig og at kortet er innenfor rekkevidde. Kort med liten PCB-antenne har kortere rekkevidde enn en mobiltelefon, særlig gjennom vegger og metall.
WiFi gir omstarter
Radiosending trekker korte strømtopper. En svak USB-port, tynn kabel eller dårlig regulator kan gi spenningsfall. Se etter «brownout»-meldinger i seriellmonitoren, og prøv en bedre strømforsyning før du endrer koden.
Pinnene stemmer ikke med eksempelet
ESP32 er en familie, ikke ett identisk kort. Integrerte moduler som M5Atom Lite bruker enkelte pinner internt til LED, knapp eller flashminne. Følg produsentens pinout for akkurat ditt kort fremfor et tilfeldig diagram fra nettet.
Fra prototype til ferdig enhet
Når prototypen virker, bestemmer du måleintervall, feiltilstander og hva som skal skje uten nett. En typisk smarthussensor har denne flyten:
For et lokalt smarthus er ESPHome en enkel vei: du beskriver sensorene i en konfigurasjonsfil, og Home Assistant finner enheten automatisk. Les først vår sammenligning av Home Assistant-protokoller. Et eget WiFi-produkt og en Zigbee-sensor har ulike konsekvenser for dekning, batteritid og vedlikehold.
Legg inn diagnostikk før prosjektet bygges inn. Seriell logging bør vise oppstart, sensorfeil og nettverkstilkobling uten å skrive ut passord eller nøkler. Bestem hva som er en gyldig måling, og hva enheten skal gjøre når sensoren svarer med en umulig verdi. En status-LED eller en enkel feilkode sparer mye tid når enheten senere står uten skjerm.
Flytt forbindelsene fra breadboard til loddet kort når oppsettet er ferdig. Et breadboard er fint på arbeidsbenken, men ikke en varig forbindelse i et fuktig miljø eller der det er vibrasjoner. Bruk fargekoder, strekkavlastning og et koblingsskjema som følger prosjektet. Lagre kildekode, bibliotekversjoner og en kort oppskrift for opplasting. Test deretter kald oppstart, tapt WiFi, frakoblet sensor og mange timers drift.
Strøm og batteridrift
Mål strømforbruket i den tilstanden prosjektet faktisk skal bruke. WiFi-sending, lyssterk skjerm og sensorer med varmeelement dominerer ofte forbruket. Selve ESP32-brikken bruker bare noen få mikroampere i dyp søvn, men mange utviklingskort trekker flere milliampere på grunn av spenningsregulator, strømindikator-LED og USB-brikke. Til batteridrift trenger du derfor ofte et kort laget for lavt hvileforbruk, sjeldnere målinger og dyp søvn mellom dem.
Ikke koble litiumceller direkte til kortet uten riktig lade- og beskyttelseskrets. Kontroller i dokumentasjonen om utviklingskortets USB- og batteriinnganger kan brukes slik du planlegger.
Neste steg
Når maskinvaren virker, velger du programmeringsvei i guiden til UIFlow, MicroPython, Arduino og ESP-IDF. Har du et M5Stack-kort, viser UIFlow 2.0-guiden hvordan blokker, Code Preview og WebTerminal brukes sammen. Vil du sammenligne utviklingsmiljøene mer i detalj, se Arduino IDE, PlatformIO eller ESP-IDF.
Et godt første sensorprosjekt med praktisk nytte er en plantemåler. Guiden til jordfuktighetssensor med Arduino og ESP32 viser kobling, kalibrering og filtrering.
Oppsummering
ESP32 passer når du vil lære elektronikk og bygge en liten, trådløs enhet med en tydelig oppgave. Sjekk hvilken variant kortet har, begynn med blink, les én sensor, legg til skjerm og koble til nettverk til slutt. Respekter 3,3 V-grensen, bruk riktig pinout og dokumenter hvert trinn som virker. Den metoden er mer verdifull enn å kopiere et stort prosjekt du ikke kan feilsøke.




