The Adafruit ItsyBitsy ESP32 is jam-packed with pins, connectors and buttons. This page covers all the features!
PrettyPins PDF on GitHub.
The ItsyBitsy ESP32 has a Micro B USB connector on the left in the image above. This connector is used to power and program the board. Use a Micro B USB cable to plug the ItsyBitsy into your computer.
Along with the Micro B USB connector, the ItsyBitsy has eight power-related pins.
Along the top edge:
- BAT - battery input for an alternative power source to USB, the voltage can only be from 3.5V to 6VDC
- G - This is ground for power and data. There is a second ground pin available at the end of the bottom edge.
- USB - This is the same pin as the Micro B USB connector's 5V USB power pin. This should be used as an output to get 5V power from the USB port.
You can always put any voltage from 3.5V to 6VDC into BAT and the circuitry will switch between BAT and USB dynamically for you. That means you can have a Battery backup that only gets enabled when USB is disconnected.
If you want to add rechargeable power, a LiPoly backpack can be soldered into these three pins that will let you have a battery that is automatically recharged whenever USB is plugged in, then switches to LiPoly when on the go:
Along the bottom edge:
- Rst - This is the reset pin. Tie to ground to manually reset the board.
- 3.3V - This pin is the regulated output from the onboard regulator. You can draw 500mA whether powered by USB or battery.
- EN - This pin is connected to the regulator enable. It will let you shut off power - when running on battery only. But at least you don't have to cut a trace or wire to your battery. This pin does not affect power when using USB.
- VHi - This is a special pin! It is a dual-Schottky diode connected output from BAT and USB. This means this will always have the higher-of-the-two voltages, but will always have power output. The voltage will be about 5VDC when powered by USB, but can range from 3.5-6VDC when powered from battery. It's not regulated, but it is high-current, great for driving servos and NeoPixels.
- GND - This is ground for power and data.
The processor on the ItsyBitsy ESP32 is an ESP32 V2 03 Dual Core 240MHz Xtensa. It's the ESP32 you know and love, with the latest engineering fixes. It has a massive user base and thousands of existing projects and libraries to use. WiFi, Bluetooth LE, and BT Classic for any IoT project usage with 8 MB Flash and 2 MB PSRAM.
The ItsyBitsy ESP32 has 20 general purpose "IO" pins. You can have a PWM output on any pin, as well as hardware I2S on any pin.
Bottom Row
- A0/GPIO25 - This is DAC1 (8-bit analog output). It uses ADC2.
- A1/GPIO26 - This is also DAC2 (8-bit analog output). It uses ADC2.
- A2/GPIO4 - It uses ADC2. One of the capacitive touch pins.
- A3/GPIO38 - It is input/ADC only. It uses ADC1.
- A4/GPIO37 - It is input/ADC only. It uses ADC1.
- A5/GPIO36 - It is input/ADC only. It uses ADC2.
- SCK/GPIO19 - This is the SPI clock pin.
- MOSI/GPIO21 - This is the SPI Microcontroller Out / Serial In (MOSI) pin.
- MISO/GPIO22 - This is the SPI Microcontroller In / Serial Out (MISO) pin.
Top Row
- D13/GPIO13 - It uses ADC2. This pin is shared with the built-in LED. One of the capacitive touch pins.
- D12/GPIO12 - It uses ADC2. One of the capacitive touch pins.
- D14/GPIO14 - It uses ADC2. One of the capacitive touch pins.
- D33/GPIO33 - It uses ADC1. One of the capacitive touch pins.
- D32/GPIO32 - It uses ADC1. One of the capacitive touch pins.
- D7/GPIO7 - Digital input/output only.
- D5/GPIO5 - Digital output only. This is a special pin that is level-shifted up to Vhi voltage, so it's perfect for driving NeoPixels that want a ~5V logic level input.
- SCL/GPIO27 - This is the I2C clock pin. One of the capacitive touch pins.
- SDA/GPIO15 - This is the I2C data pin. One of the capacitive touch pins.
-
RX/GPIO8 - This is the UART RX (receive) pin. Connect to the TX pin found on a breakout or device. This is separate than the 'debug UART' which is connected to the USB-to-Serial converter, so it will not interfere during upload. In Arduino, use
Serial1
. In CircuitPython, useboard.RX
. -
TX/GPIO20 - This is the UART TX (transmit) pin. Connect to the RX pin found on a breakout or device. This is separate than the 'debug UART' which is connected to the USB-to-Serial converter, so it will not interfere during upload. In Arduino, use
Serial1
. In CircuitPython, useboard.TX
.
Note you cannot read analog inputs on ADC2 once WiFi has started, as it is shared with the WiFi hardware.
There is a 4-pin STEMMA QT connector in the center of the board. The I2C has pullups to 3.3V power.
The I2C pins are connected to GPIO15 (SDA) and GPIO27 (SCL). In Arduino, you can use the STEMMA connector with Wire
. In CircuitPython, you can use the STEMMA connector with board.SCL
and board.SDA
, board.I2C()
or board.STEMMA_I2C()
.
In the center of the board, to the left of the ESP32 module, is the NeoPixel. This addressable RGB LED works both as a status LED (in CircuitPython and the bootloader), and can be controlled with code. It is connected to GPIO0 and is available in CircuitPython as board.NEOPIXEL
and in Arduino as PIN_NEOPIXEL
.
There is a NeoPixel power pin on GPIO2 that is necessary for the NeoPixel to work. This is so it can be fully de-powered for low power usage. It is available in CircuitPython as board.NEOPIXEL_POWER
and in Arduino as NEOPIXEL_POWER
.
There are two buttons on the ItsyBitsy ESP32:
-
User Switch - This is a user readable button switch to use as an input, labeled U on the silk. You can read it on pin GPIO 35. Note this is an input-only pin. There is a pull-up on board. It is available in CircuitPython as
board.BUTTON
, and in Arduino asBUTTON
. - Reset - The reset button, labeled Rst on the silk, is used to reboot the board.
The onboard red LED is located directly below the BAT pin on the front of the board. It is connected to GPIO13 and can be controlled in code like any LED, set high to turn on. It is available in CircuitPython as board.LED
, and Arduino as LED_BUILTIN
.
The CH9102F USB to serial converter communicates between the ESP32 and your computer over USB. It can handle 50bps to 4Mbps max rate for debugging and uploading, with auto-reset circuit that works perfectly with any ESP32 uploading tool. Sometimes these chips require drivers to be installed on your computer's operating system. We have a Learn Guide detailing how to install the driver for the CH9102F.
The Adafruit ItsyBitsy ESP32 with w.FL Antenna comes with, you guessed it, a w.FL antenna port! This is the only version that has the port!
It does NOT come with an antenna, you must purchase one separately. Consider the WiFi Antenna with w.FL or a RP-SMA to w.FL adapter.
Text editor powered by tinymce.