Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use Adafruit QT py ESP32 Pico: Examples, Pinouts, and Specs

Image of Adafruit QT py ESP32 Pico
Cirkit Designer LogoDesign with Adafruit QT py ESP32 Pico in Cirkit Designer

Introduction

The Adafruit QT Py ESP32 Pico is a compact microcontroller board powered by the ESP32 chip. It is designed for seamless integration with a wide range of sensors and peripherals, making it an excellent choice for Internet of Things (IoT) projects, wearable devices, and rapid prototyping. Its small form factor, built-in Wi-Fi and Bluetooth capabilities, and compatibility with CircuitPython and Arduino IDE make it a versatile and user-friendly development board.

Explore Projects Built with Adafruit QT py ESP32 Pico

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Raspberry Pi Pico and ESP32 Wi-Fi Controlled Sensor Interface
Image of pico_esp32: A project utilizing Adafruit QT py ESP32 Pico in a practical application
This circuit integrates a Raspberry Pi Pico and an ESP32 Wroom Dev Kit, interconnected through various GPIO pins and resistors, to enable communication and control between the two microcontrollers. The ESP32 is powered by a 3.3V supply and shares ground with the Raspberry Pi Pico, while specific GPIO pins are used for data exchange. The provided code sketches for the Raspberry Pi Pico suggest a framework for further development of the system's functionality.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Controlled OLED Display and Servo with DotStar LED Strip and Audio Output
Image of Arena 2: A project utilizing Adafruit QT py ESP32 Pico in a practical application
This circuit features an ESP32 microcontroller driving a variety of components. It controls an OLED display for visual output, a DotStar LED strip for lighting effects, a PAM8403 audio amplifier connected to a speaker for sound output, and a PCA9685 PWM Servo Breakout to manage a servo motor. The ESP32 also interfaces with a piezo speaker for additional sound generation, and the circuit is powered by a 18650 Li-ion battery setup with a TP4056 charging module. The ESP32's embedded code handles the display animation on the OLED.
Cirkit Designer LogoOpen Project in Cirkit Designer
Battery-Powered Smart Light with Proximity Sensor and OLED Display using Adafruit QT Py RP2040
Image of lab: A project utilizing Adafruit QT py ESP32 Pico in a practical application
This circuit is a portable, battery-powered system featuring an Adafruit QT Py RP2040 microcontroller that interfaces with an OLED display, a proximity sensor, an accelerometer, and an RGB LED strip. The system is powered by a lithium-ion battery with a step-up boost converter to provide 5V for the LED strip, and it includes a toggle switch for power control. The microcontroller communicates with the sensors and display via I2C.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based Digital Clock with TFT Display and RTC Module
Image of Kello tft-näytöllä: A project utilizing Adafruit QT py ESP32 Pico in a practical application
This circuit features an ESP32 microcontroller connected to an Adafruit TFT 1.8 inch display and a Real-Time Clock (RTC) module. The ESP32 is configured to communicate with the RTC to keep track of the current time and to control the display, which shows the time updated every second. The connections between the ESP32 and the peripherals facilitate data transfer for timekeeping and display purposes, with the ESP32 also providing power to the RTC.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with Adafruit QT py ESP32 Pico

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of pico_esp32: A project utilizing Adafruit QT py ESP32 Pico in a practical application
Raspberry Pi Pico and ESP32 Wi-Fi Controlled Sensor Interface
This circuit integrates a Raspberry Pi Pico and an ESP32 Wroom Dev Kit, interconnected through various GPIO pins and resistors, to enable communication and control between the two microcontrollers. The ESP32 is powered by a 3.3V supply and shares ground with the Raspberry Pi Pico, while specific GPIO pins are used for data exchange. The provided code sketches for the Raspberry Pi Pico suggest a framework for further development of the system's functionality.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Arena 2: A project utilizing Adafruit QT py ESP32 Pico in a practical application
ESP32-Controlled OLED Display and Servo with DotStar LED Strip and Audio Output
This circuit features an ESP32 microcontroller driving a variety of components. It controls an OLED display for visual output, a DotStar LED strip for lighting effects, a PAM8403 audio amplifier connected to a speaker for sound output, and a PCA9685 PWM Servo Breakout to manage a servo motor. The ESP32 also interfaces with a piezo speaker for additional sound generation, and the circuit is powered by a 18650 Li-ion battery setup with a TP4056 charging module. The ESP32's embedded code handles the display animation on the OLED.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of lab: A project utilizing Adafruit QT py ESP32 Pico in a practical application
Battery-Powered Smart Light with Proximity Sensor and OLED Display using Adafruit QT Py RP2040
This circuit is a portable, battery-powered system featuring an Adafruit QT Py RP2040 microcontroller that interfaces with an OLED display, a proximity sensor, an accelerometer, and an RGB LED strip. The system is powered by a lithium-ion battery with a step-up boost converter to provide 5V for the LED strip, and it includes a toggle switch for power control. The microcontroller communicates with the sensors and display via I2C.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Kello tft-näytöllä: A project utilizing Adafruit QT py ESP32 Pico in a practical application
ESP32-Based Digital Clock with TFT Display and RTC Module
This circuit features an ESP32 microcontroller connected to an Adafruit TFT 1.8 inch display and a Real-Time Clock (RTC) module. The ESP32 is configured to communicate with the RTC to keep track of the current time and to control the display, which shows the time updated every second. The connections between the ESP32 and the peripherals facilitate data transfer for timekeeping and display purposes, with the ESP32 also providing power to the RTC.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications and Use Cases

  • IoT devices and smart home automation
  • Wearable electronics
  • Wireless data logging and monitoring
  • Prototyping for Bluetooth and Wi-Fi-enabled projects
  • Sensor integration and control systems

Technical Specifications

The Adafruit QT Py ESP32 Pico is packed with features that make it a powerful yet compact development board. Below are its key technical specifications:

Specification Details
Microcontroller ESP32-PICO-D4 (dual-core Xtensa® 32-bit LX6 microprocessor)
Clock Speed Up to 240 MHz
Flash Memory 4 MB
RAM 520 KB SRAM
Wireless Connectivity Wi-Fi (802.11 b/g/n) and Bluetooth (v4.2 BR/EDR and BLE)
Operating Voltage 3.3V
Input Voltage Range 5V via USB-C or 3.3V via external power
GPIO Pins 11 GPIO pins (including ADC, I2C, SPI, UART, and PWM support)
USB Interface USB-C for power, programming, and data transfer
Dimensions 22.8 mm x 17.8 mm
Programming Support CircuitPython, Arduino IDE, MicroPython

Pin Configuration and Descriptions

The QT Py ESP32 Pico features a total of 14 pins, including power, GPIO, and communication pins. Below is the pinout description:

Pin Label Function
1 3V3 3.3V power output
2 GND Ground
3 A0 Analog input (ADC), GPIO pin
4 A1 Analog input (ADC), GPIO pin
5 SDA I2C data line, GPIO pin
6 SCL I2C clock line, GPIO pin
7 TX UART transmit, GPIO pin
8 RX UART receive, GPIO pin
9 SCK SPI clock, GPIO pin
10 MISO SPI master-in-slave-out, GPIO pin
11 MOSI SPI master-out-slave-in, GPIO pin
12 D4 Digital GPIO pin with PWM support
13 D5 Digital GPIO pin with PWM support
14 USB-C USB-C connector for power and programming

Usage Instructions

The Adafruit QT Py ESP32 Pico is easy to use and can be programmed using CircuitPython, Arduino IDE, or MicroPython. Below are the steps to get started and some best practices for using the board.

Getting Started

  1. Install Drivers and IDE:

    • Download and install the Arduino IDE or CircuitPython firmware.
    • Install the necessary USB drivers for the QT Py ESP32 Pico.
  2. Connect the Board:

    • Use a USB-C cable to connect the board to your computer.
    • Ensure the board is powered on (the onboard LED should light up).
  3. Select the Board in the IDE:

    • In the Arduino IDE, go to Tools > Board and select "Adafruit QT Py ESP32 Pico."
    • Install the ESP32 board package if it is not already installed.
  4. Write and Upload Code:

    • Write your program in the IDE and upload it to the board using the "Upload" button.

Example: Blinking an LED

Here is an example of how to blink the onboard LED using the Arduino IDE:

// Define the onboard LED pin
#define LED_PIN 13

void setup() {
  // Set the LED pin as an output
  pinMode(LED_PIN, OUTPUT);
}

void loop() {
  // Turn the LED on
  digitalWrite(LED_PIN, HIGH);
  delay(500); // Wait for 500 milliseconds

  // Turn the LED off
  digitalWrite(LED_PIN, LOW);
  delay(500); // Wait for 500 milliseconds
}

Important Considerations and Best Practices

  • Power Supply: Ensure the board is powered with a stable 5V supply via USB-C or 3.3V via an external source.
  • GPIO Voltage Levels: The GPIO pins operate at 3.3V logic levels. Avoid applying 5V to any GPIO pin to prevent damage.
  • Wi-Fi and Bluetooth: When using wireless features, ensure your code includes proper initialization and error handling for connectivity.
  • Heat Management: The ESP32 chip may get warm during operation. Ensure adequate ventilation if used in an enclosed space.

Troubleshooting and FAQs

Common Issues and Solutions

  1. Board Not Detected by Computer:

    • Ensure the USB-C cable is a data cable (not just a charging cable).
    • Check if the correct drivers are installed on your computer.
  2. Code Upload Fails:

    • Verify that the correct board and port are selected in the IDE.
    • Press the "BOOT" button on the board while uploading to enter bootloader mode.
  3. Wi-Fi Connection Issues:

    • Double-check the SSID and password in your code.
    • Ensure the board is within range of the Wi-Fi router.
  4. Overheating:

    • Avoid running the board at maximum performance for extended periods.
    • Use a heat sink or ensure proper ventilation if necessary.

FAQs

Q: Can I power the board with a battery?
A: Yes, you can power the board using a 3.7V LiPo battery connected to the 3V3 and GND pins, but ensure proper voltage regulation.

Q: Is the board compatible with Arduino libraries?
A: Yes, the QT Py ESP32 Pico is compatible with most Arduino libraries, especially those designed for ESP32.

Q: Can I use the board for Bluetooth Low Energy (BLE) projects?
A: Absolutely! The ESP32 chip supports BLE, making it suitable for low-power Bluetooth applications.

Q: How do I reset the board?
A: Press the "RESET" button on the board to restart it. You can also power cycle the board by disconnecting and reconnecting the USB cable.

By following this documentation, you can effectively use the Adafruit QT Py ESP32 Pico for a wide range of projects and applications. Happy prototyping!