# Microcontrollers # Espressif Documentatie Espressif microcontrollers # ESP32 De ESP32 is een budgetserie van laag-vermogen microcontrollers met geïntegreerde Wi-Fi en dual-mode Bluetooth. De ESP32-serie maakt gebruik van een Tensilica Xtensa LX6- microprocessor in zowel dual-core als single-core uitvoering. De ESP32 is gemaakt en ontwikkeld door Espressif Systems, een in Shanghai gevestigd Chinees bedrijf, en wordt vervaardigd door TSMC met behulp van hun 40nm-proces. Het is een opvolger van de ESP8266 microcontroller. Deze microcontroller is erg populair bij hobbyisten voor het ontwikkelen van Internet of things applicaties. De ESP32 is verkrijgbaar in diverse uitvoeringen. Zelf heb ik een ESP32 Wroom 32D (38 pins) aangeschaft om mee te experimenteren. [![ESP32-ESP-WROOM-32.jpg](https://www.linuxfun.nl/uploads/images/gallery/2023-09/scaled-1680-/esp32-esp-wroom-32.jpg)](https://www.linuxfun.nl/uploads/images/gallery/2023-09/esp32-esp-wroom-32.jpg) #### **Pin bezetting ESP32 Wroom 32 (38 pins)** [![ESP32-Pinout.png](https://www.linuxfun.nl/uploads/images/gallery/2023-09/scaled-1680-/esp32-pinout.png)](https://www.linuxfun.nl/uploads/images/gallery/2023-09/esp32-pinout.png) [![ESP32-Pinout-2.jpg](https://www.linuxfun.nl/uploads/images/gallery/2023-09/scaled-1680-/esp32-pinout-2.jpg)](https://www.linuxfun.nl/uploads/images/gallery/2023-09/esp32-pinout-2.jpg) #### **ESP32-WROOM-32 (ESP-WROOM-32) Pin Configuration**
**Pin Category****Pin Name****Details**
Power**Micro-USB, 3.3V, 5V,** **GND****Micro-USB:** ESP32 can be powered through USB port**5V:** Regulated 5V can be supplied to this pin which is we be again regulated to 3.3V by on board regulator, to power the board.**3.3V:** Regulated 3.3V can be supplied to this pin to power the board.**GND:** Ground pins.
Enable**En**The pin and the button resets the microcontroller.
Analog Pins**ADC1\_0 to ADC1\_5 and ADC2\_0 to ADC2\_9**Used to measure analog voltage in the range of 0-3.3V.12-bit 18 Channel ADC
DAC pins**DAC1 and DAC2**Used for Digital to analog Conversion
Input/output Pins**GPIO0 to GPIO39**Totally 39 GPIO pins, can be used as input or output pins. 0V (low) and 3.3V (high). But pins 34 to 39 can be used as input only
Capacitive Touch pins**T0 to T9**These 10 pins can be used a touch pins normally used for capacitive pads
RTC GPIO pins**RTCIO0 to RTCIO17**These 18 GPIO pins can be used to wake up the ESP32 from deep sleep mode.
SerialRx, **Tx**Used to receive and transmit TTL serial data.
External InterruptsAll GPIOAny GPIO can be use to trigger an interrupt.
PWMAll GPIO16 independent channel is available for PWM any GPIO can be made to work as PWM though software
VSPIGPIO23 (MOSI), GPIO19(MISO), GPIO18(CLK) and GPIO5 (CS)Used for SPI-1 communication.
HSPIGPIO13 (MOSI), GPIO12(MISO), GPIO14(CLK) and GPIO15 (CS)Used for SPI-2 communication.
IICGPIO21(SDA), GPIO22(SCL)Used for I2C communication.
AREF**AREF**To provide reference voltage for input voltage.
#### **ESP32-WROOM-32 (ESP-WROOM-32) Technical features**
MicroprocessorTensilica Xtensa LX6
Maximum Operating Frequency240MHz
Operating Voltage3.3V
Analog Input Pins12-bit, 18 Channel
DAC Pins8-bit, 2 Channel
Digital I/O Pins39 (of which 34 is normal GPIO pin)
DC Current on I/O Pins40 mA
DC Current on 3.3V Pin50 mA
SRAM520 KB
CommunicationSPI(4), I2C(2), I2S(2), CAN, UART(3)
Wi-Fi802.11 b/g/n
BluetoothV4.2 – Supports BLE and Classic Bluetooth
#### Shop [AliExpress](https://nl.aliexpress.com/item/32864722159.html?spm=a2g0s.9042311.0.0.47ad4c4dUupYEV) # ESP8266 (ESP01, ESP01-S) De ESP8266 is een goedkope microprocessor met Wi-Fi mogelijkheid en een volledige TCP/IP stack. De ESP8266 is ontwikkeld en wordt geproduceerd door de Chinese fabrikant Espressif Systems uit Shanghai. [![esp01-esp01s.jpg](https://www.linuxfun.nl/uploads/images/gallery/2023-09/scaled-1680-/esp01-esp01s.jpg)](https://www.linuxfun.nl/uploads/images/gallery/2023-09/esp01-esp01s.jpg) [![ESP-01-ESP8266-pinout-gpio-pin.png](https://www.linuxfun.nl/uploads/images/gallery/2023-09/scaled-1680-/esp-01-esp8266-pinout-gpio-pin.png)](https://www.linuxfun.nl/uploads/images/gallery/2023-09/esp-01-esp8266-pinout-gpio-pin.png) #### **ESP8266 Pin Configuration**
**Pin Number****Pin Name****Alternate Name****Normally used for****Alternate purpose**
1**Ground**Connected to the ground of the circuit
2**TX**GPIO – 1Connected to Rx pin of programmer/uC to upload programCan act as a General purpose Input/output pin when not used as TX
3**GPIO-2**General purpose Input/output pin
4**CH\_EN**Chip Enable – Active high
5**GPIO – 0**FlashGeneral purpose Input/output pinTakes module into serial programming when held low during start up
6**Reset**Resets the module
7**RX**GPIO – 3General purpose Input/output pinCan act as a General purpose Input/output pin when not used as RX
8**Vcc**Connect to +3.3V only
Pin Configuration
#### Shop [AliExpress](https://nl.aliexpress.com/item/32582736130.html?spm=a2g0s.9042311.0.0.27424c4d19rHNI) # Tools # FT232RL 3.3V 5V FTDI USB To TTL Serial Adapter Module The USB to TTL serial adapter is based on the high quality and very popular FTDI FT232RL chipset and is an excellent way to connect TTL serial devices to a PC through a USB port. Works perfectly wth the Arduino Pro mini boards and ESP8266 boards Ideas for many uses, including: - Programming microprocessors such as ARM, AVR, etc - Working with computing hardware such as routers and switches - Serial communication with many devices such as GPS devices - Serial terminals on devices like the Raspberry Pi This adapter supports both 5V AND 3.3V operation! Simply set the jumper as required to choose between 5V and 3.3V as labelled on the board. The adapter comes with a right-angle connector fitted allowing you to use it straight away. If you need to access any of the other inputs or outputs of the FT232RL, all the useful signals are provided as through-hole solder pads – ideal for use with straight headers into a breadboard, for example. The main connector has 6 pins: [![ft232rl-aansluiting.png](https://www.linuxfun.nl/uploads/images/gallery/2023-09/scaled-1680-/ft232rl-aansluiting.png)](https://www.linuxfun.nl/uploads/images/gallery/2023-09/ft232rl-aansluiting.png) - DTR: Data Terminal Ready – an output used for flow control - RX: Serial data Receive pin - TX: Serial data Transmit pin - VCC: Positive voltage output – this is controlled by the jumper. If the jumper is set to 5V, this will provide a 5V output. If the jumper is set to 3.3V, this will provide a 3.3V output. - CTS: Clear To Send – an input used for flow control - GND: Ground or 0V For most uses, you can simply connect the following pins: - RX on this board to the TX pin on your device - TX on this board to the RX pin on your device - GND on this board to GND on your device **FEATURES** - Support 3.3V, 5V - Chipset FT232RL - USB power has over current protection, using 500MA self-restore fuse - RXD/TXD transceiver communication indicator - Pin definition: DTR,RXD,TX,VCC,CTS,GND - Pitch:2.54mm - Module size: 3.60cm x 1.85cm (L x W) #### **Shop** [AliExpress](https://nl.aliexpress.com/item/33000531104.html?spm=a2g0s.9042311.0.0.27424c4d2BkxbR)