ESP8266 Pinout referentie: Welke GPIO pinnen moet u gebruiken?

Dit artikel is een gids voor de ESP8266 GPIO’s: pinout schema’s, hun functies en hoe ze te gebruiken.

De ESP8266 12-E chip wordt geleverd met 17 GPIO pinnen. Niet alle GPIO’s zijn beschikbaar op alle ESP8266-ontwikkelborden, sommige GPIO’s worden afgeraden om te gebruiken, en andere hebben zeer specifieke functies.

Met deze gids leert u hoe u de ESP8266 GPIO’s op de juiste manier kunt gebruiken en voorkomt u uren van frustratie door de meest geschikte pinnen voor uw projecten te gebruiken.

We hebben ook een gids voor de ESP32 GPIO’s: ESP32 Pinout Reference: Welke GPIO pinnen moet u gebruiken?

ESP8266 12-E Chip Pinout

De volgende figuur illustreert de ESP8266 12-E chip pinout. Gebruik dit schema als u een ESP8266-chip zonder chip in uw projecten gebruikt.

Note: niet alle GPIO’s zijn toegankelijk op alle ontwikkelborden, maar elke specifieke GPIO werkt op dezelfde manier, ongeacht het ontwikkelbord dat u gebruikt. Als u net begint met de ESP8266, raden wij u aan onze gids te lezen: Aan de slag met de ESP8266.

Op dit moment is er een grote verscheidenheid aan ontwikkelborden met de ESP8266 chip die verschillen in het aantal toegankelijke GPIO’s, afmetingen, vormfactor, etc…

De meest gebruikte ESP8266 borden zijn de ESP-01, ESP8266-12E NodeMCU Kit, en de Wemos D1 Mini. Voor een vergelijking van deze boards, kunt u deze gids lezen: ESP8266 Wi-Fi Development Boards comparison.

ESP8266-01 Pinout

Als u een ESP8266-01 board gebruikt, kunt u het volgende GPIO diagram als referentie gebruiken.

ESP8266 12-E NodeMCU Kit

Het pinschema van de ESP8266 12-E NodeMCU kit ziet u hieronder.

Wemos D1 Mini Pinout

De volgende figuur toont de WeMos D1 Mini pinout.

Download PDF met ESP8266 Pinout Diagrammen

We hebben een handige PDF samengesteld die u kunt downloaden en printen, zodat u de ESP8266 schema’s altijd bij de hand heeft:

Download PDF Pinout Diagrammen ”

ESP8266 Randapparatuur

De ESP8266 randapparatuur omvat:

  • 17 GPIO’s
  • SPI
  • I2C (softwarematig geïmplementeerd)
  • I2S interfaces met DMA
  • UART
  • 10-bit ADC

Beste te gebruiken pinnen – ESP8266

Een belangrijk ding om op te merken over ESP8266 is dat het GPIO-nummer niet overeenkomt met het label op het zeefdrukpaneel van de printplaat. Bijvoorbeeld, D0 komt overeen met GPIO16 en D1 komt overeen met GPIO5.

De volgende tabel laat de overeenkomst zien tussen de labels op het silkscreen en de GPIO nummers, en ook welke pinnen het beste zijn om te gebruiken in uw projecten, en welke u voorzichtig moet gebruiken.

De groen gemarkeerde pinnen zijn OK om te gebruiken. De geel gemarkeerde zijn OK om te gebruiken, maar u moet opletten omdat ze onverwacht gedrag kunnen vertonen, vooral bij het opstarten. De rood gemarkeerde pinnen zijn niet geschikt om als in- of uitgang te gebruiken.

Label GPIO Input Output Notes
D0 GPIO16 geen interrupt geen PWM of I2C ondersteuning HIGH bij opstarten
gebruikt om te ontwaken uit diepe slaap
D1 GPIO5 OK OK vaak gebruikt als SCL (I2C)
D2 GPIO4 OK OK vaak gebruikt als SDA (I2C)
D3 GPIO0 pulled up OK verbonden met FLASH-knop, boot mislukt als LOW
D4 GPIO2 pulled up OK HIGH bij boot
verbonden met on-board LED, boot mislukt indien LOW getrokken
D5 GPIO14 OK OK SPI (SCLK)
D6 GPIO12 OK OK SPI (MISO)
D7 GPIO13 OK OK SPI (MOSI)
D8 GPIO15 pulled to GND OK SPI (CS)
Boot faalt indien HIGH getrokken
RX GPIO3 OK RX pin HIGH bij boot
TX GPIO1 TX pin OK HIGH bij boot
debug output bij boot, boot mislukt indien LOW getrokken
A0 ADC0 Analoge ingang X

Lees verder voor een meer gedetailleerde en diepgaande analyse van de ESP8266 GPIO’s en hun functies.

GPIO’s verbonden met de Flash Chip

GPIO6 tot GPIO11 zijn meestal verbonden met de flash chip in ESP8266 printen. Deze pinnen zijn dus niet aan te raden om te gebruiken.

Pinnen gebruikt tijdens Boot

De ESP8266 kan verhinderd worden om op te starten als sommige pinnen LOW of HIGH getrokken worden. De volgende lijst toont de toestand van de volgende pinnen bij BOOT:

  • GPIO16: pin is hoog bij BOOT
  • GPIO0: boot failure indien LOW getrokken
  • GPIO2: pin is hoog bij BOOT, boot failure indien LOW getrokken
  • GPIO15: boot failure indien HIGH getrokken
  • GPIO3: pin is hoog bij BOOT
  • GPIO1: pin is hoog bij BOOT, boot failure indien LOW getrokken
  • GPIO10: pin is hoog bij BOOT
  • GPIO9: pin is hoog bij BOOT

Pins HIGH bij Boot

Er zijn bepaalde pinnen die een 3.3V signaal wanneer de ESP8266 opstart. Dit kan problematisch zijn als u relais of andere randapparatuur op deze GPIO’s heeft aangesloten. De volgende GPIO’s geven een HIGH signaal af bij het opstarten:

  • GPIO16
  • GPIO3
  • GPIO1
  • GPIO10
  • GPIO9

Daarnaast kunnen de andere GPIO’s, behalve GPIO5 en GPIO4, bij het opstarten een laagspanningssignaal afgeven, wat problematisch kan zijn als deze zijn aangesloten op transistors of relais. U kunt dit artikel lezen dat de toestand en het gedrag van elke GPIO bij het opstarten onderzoekt.

GPIO4 en GPIO5 zijn de meest veilig te gebruiken GPIO’s als u relais wilt bedienen.

Analoge ingang

De ESP8266 ondersteunt slechts analoge uitlezing in één GPIO. Die GPIO heet ADC0 en wordt op het silkscreen meestal aangeduid met A0.

De maximale ingangsspanning van de ADC0 pen is 0 tot 1V als u de ESP8266 kale chip gebruikt. Als u een ontwikkelbord zoals de ESP8266 12-E NodeMCU kit gebruikt, is het ingangsspanningsbereik 0 tot 3,3V omdat deze borden een interne spanningsdeler bevatten.

U kunt leren hoe u analoog lezen met de ESP8266 kunt gebruiken met de volgende gids:

  • ESP8266 ADC – Analoge waarden lezen met Arduino IDE, MicroPython en Lua

On-board LED

De meeste ESP8266 ontwikkelborden hebben een ingebouwde LED. Deze LED is meestal aangesloten op GPIO2.

De LED werkt met inverteerbare logica. Stuur een HIGH signaal om hem uit te zetten, en een LOW signaal om hem aan te zetten.

RST Pin

Wanneer de RST pin LOW wordt getrokken, wordt de ESP8266 gereset. Dit is hetzelfde als wanneer u op de RESET-knop op de ESP8266 zou drukken.

GPIO0

Wanneer GPIO0 LOW wordt getrokken, wordt de ESP8266 in bootloader-modus gezet. Dit is hetzelfde als drukken op de FLASH/BOOT-knop op de ESP8266.

GPIO16

GPIO16 kan worden gebruikt om de ESP8266 uit de diepe slaap te wekken. Om de ESP8266 uit de diepe slaap te wekken, moet GPIO16 met de RST pin verbonden worden. Leer hoe u de ESP8266 in deep sleep mode kunt zetten:

  • ESP8266 Deep Sleep met Arduino IDE
  • ESP8266 Deep Sleep met MicroPython

I2C

De ESP8266 heeft geen hardware I2C pinnen, maar deze kunnen wel softwarematig worden geïmplementeerd. U kunt dus alle GPIO’s als I2C gebruiken. Meestal worden de volgende GPIO’s gebruikt als I2C pinnen:

  • GPIO5: SCL
  • GPIO4: SDA

SPI

De pinnen die gebruikt worden als SPI in de ESP8266 zijn:

  • GPIO12: MISO
  • GPIO13: MOSI
  • GPIO14: SCLK
  • GPIO15: CS

PWM Pinnen

ESP8266 staat software PWM toe in alle I/O pinnen: GPIO0 tot GPIO16. PWM signalen op ESP8266 hebben 10-bit resolutie. Leer hoe u ESP8266 PWM pinnen kunt gebruiken:

  • ESP8266 PWM met Arduino IDE
  • ESP8266 PWM met MicroPython

Interrupt pinnen

De ESP8266 ondersteunt interrupts in elke GPIO, behalve GPIO16.

  • ESP8266 Interrupts en Timers met Arduino IDE

Wrapping Up

We hopen dat u deze handleiding voor de ESP8266 GPIO’s nuttig heeft gevonden. Als u tips heeft over hoe u de ESP8266 GPIO’s goed kunt gebruiken, kunt u hieronder een reactie schrijven.

We hebben ook een soortgelijke handleiding voor de ESP32 GPIO’s die u kunt lezen.

Als je aan de slag gaat met de ESP8266, hebben we een aantal geweldige content waar je misschien geïnteresseerd in bent:

  • Home Automation using ESP8266 (course)
  • Getting Started with the ESP8266
  • 30+ ESP8266 Projects and Tutorials
  • ESP8266 Web Server Tutorial
  • ESP32 vs ESP8266 – Pros and Cons

Dank voor het lezen.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.