Adafruit
Adafruit QT Py RP2040
The Adafruit QT Py RP2040 puts the popular Raspberry Pi RP2040 chip into the tiny QT Py form factor. With dual-core ARM Cortex-M0+ running at 125 MHz, 264 KB...
Get notified when back in stock
The Adafruit QT Py RP2040 puts the popular Raspberry Pi RP2040 chip into the tiny QT Py form factor. With dual-core ARM Cortex-M0+ running at 125 MHz, 264 KB SRAM, 8 MB flash, native USB, and a STEMMA QT connector, it's a powerful little board for CircuitPython, MicroPython, or C/C++ projects.
The RP2040's standout feature is its PIO (Programmable I/O) state machine system — custom hardware logic blocks that can implement protocols like NeoPixels, I2S audio, LED matrices, and VGA without using CPU cycles. Combined with native USB (disk drive, HID, MIDI, serial), it's an incredibly versatile chip in a board small enough to embed anywhere.
Key Features
- RP2040 Dual-Core ARM Cortex-M0+ – Running at ~125 MHz with 264 KB SRAM
- 8 MB SPI Flash – For CircuitPython/MicroPython code and file storage (~7 MB available for user files)
- Native USB – USB serial console, keyboard/mouse HID, MIDI, and disk drive
- USB-C Connector – For programming, power, and USB device functions
- STEMMA QT / Qwiic Connector – Plug-and-play I2C for sensors and accessories
- RGB NeoPixel LED – Built-in addressable LED with controllable power pin
- PIO State Machines – 2 PIO peripherals with 4 state machines each for custom hardware protocols
- 13 GPIO Pins – 4× 12-bit ADC, PWM on every pin, 6 consecutive GPIO for PIO
- Two I2C Ports – One on breakout pads, one on STEMMA QT connector
- Hardware UART & SPI – Standard QT Py peripheral locations
- CircuitPython, MicroPython & C/C++ – Full support for all three
- 3.3 V Regulator – AP2112 with 600 mA peak output
- UF2 Bootloader – Hold BOOT button during USB plug-in to enter drag-and-drop firmware mode
- Reset & Boot Buttons – Quick restarts without unplugging
- Seeed Xiao Compatible – Same size and pinout with castellated pads
Also Consider
- QT Py SAMD21 – ARM Cortex-M0+ single-core with native USB
- QT Py ESP32-S3 – Dual-core with Wi-Fi + BLE and native USB
- QT Py ESP32-S2 – Single-core with Wi-Fi and native USB
- QT Py ESP32 Pico – Classic ESP32 with Wi-Fi + Bluetooth
Ideal For
- CircuitPython and MicroPython development
- USB HID devices (keyboards, mice, MIDI controllers)
- PIO-driven custom protocols (NeoPixels, I2S, LED matrices)
- Compact projects with STEMMA QT sensors
- Embedding into custom PCBs via castellated pads
Resources
Jargon buster
Plain-language definitions for the technical terms used above.
- ADC
- An analogue-to-digital converter reads a changing voltage and turns it into a number the microcontroller can use. It matters when connecting analogue sensors such as light, sound, or variable-resistor sensors.
- BLE
- BLE stands for Bluetooth Low Energy, a Bluetooth mode designed for low power use and broad compatibility with modern phones and computers. It connects well to battery-powered and mobile devices, including Apple hardware, though it behaves differently from Bluetooth Classic and its serial-style profiles.
- Bootloader
- Small starter software on a microcontroller that lets new code be uploaded before the main program runs. Knowing how to enter bootloader mode matters when you need to program the board or recover it after a faulty sketch.
- breakout
- A breakout board carries a small or fine-pitched component and brings its connections out to standard, breadboard- and header-friendly pins. Describing a part as a breakout means it can be wired into a project without soldering directly to the component's tiny contacts.
- CircuitPython
- A beginner-friendly version of Python designed to run directly on microcontroller boards. If a product supports CircuitPython, you can often program it by copying code files onto the board rather than setting up a more complex toolchain.
- ESP32
- ESP32 is a family of low-cost microcontroller chips and modules from Espressif with built-in WiFi and Bluetooth. They support programmable firmware and over-the-air updates, and are commonly programmed with toolchains such as the Arduino core and ESP-IDF.
- GPIO
- General-purpose input/output pins are microcontroller pins you can set in software to read signals, switch devices on and off, or connect to peripherals. The number of GPIO pins matters because it limits how many buttons, LEDs, sensors, and other parts you can wire directly to the board.
- Headers
- Rows of connector contacts on a fixed pitch (commonly 2.54 mm) used to link a board to a breadboard, jumper wires, or another board. They come as male pin headers and female socket headers; when a module ships with pre-soldered headers it can be used straight away, whereas bare pads require soldering the pins yourself.
- HID
- Human Interface Device is a USB device class used for keyboards, mice, gamepads and similar controls. If a board supports HID over USB, it can act like an input device to a computer without needing a custom driver.
- I2C
- I2C is a two-wire communication bus used by many sensors and small modules. It matters because several I2C devices can share the same two wires, but each device needs a compatible address and your controller must support I2C.
- I2S
- I2S is a digital audio interface used to send sound data between chips, such as from a microcontroller to an audio amplifier or DAC. It matters if your project needs cleaner digital audio output than a basic buzzer or PWM signal can provide.
- LED
- A light-emitting diode (LED) is a small electronic component that emits light when current flows through it in the correct direction. Because it only conducts one way, its polarity matters, and a through-hole LED must be soldered the correct way around to light up.
- MicroPython
- A version of the Python programming language made to run on microcontrollers. It matters because it lets beginners write readable code to control LEDs, sensors, motors and displays without needing to start with lower-level languages.
- MIDI
- MIDI is a standard way for electronic instruments, controllers, and software to send musical control messages such as notes, velocity, and timing. If a board supports MIDI, it can be triggered from keyboards, drum pads, sequencers, or other music gear rather than only from buttons or code.
- native USB
- Native USB means the microcontroller itself handles USB communication, rather than using a separate USB-to-serial chip. This matters for programming, debugging, and projects that need the board to act directly as a USB device.
- NeoPixel
- A type of addressable LED system where colour data is sent along a single digital data line from one LED or controller to the next. Compatibility matters because the timing and signal format must match for the lights or driver board to respond correctly.
- PWM
- Pulse Width Modulation is a way for a digital pin to simulate variable output power by switching on and off very quickly. It matters for controlling things like LED brightness, motor speed, or servo-style signals from a microcontroller pin.
- Qwiic
- Qwiic is a plug-in connector system for I2C devices that uses small 4-pin cables, so you can connect compatible sensors without soldering. It matters because your controller or adapter also needs Qwiic, or you will need a cable or breakout to wire it up.
- RGB
- Short for red, green and blue, the three primary colours of light that are mixed in varying amounts to make a wide range of colours. In electronics RGB can refer to an LED or pixel that blends these three colours, or to a colour signal or interface that carries separate red, green and blue channels.
- RP2040
- The RP2040 is a dual-core Arm Cortex-M0+ microcontroller chip from Raspberry Pi, used on many maker boards and offering programmable I/O, multiple GPIO pins and reasonable processing speed. Code and accessories built for that chip should work where RP2040 compatibility is listed, though demanding tasks such as reading a camera can require careful pin allocation and timing.
- SPI
- A fast serial communication bus often used for displays, memory cards, and sensors. It matters because SPI devices need specific pins for clock and data, plus a separate chip-select line for each device.
- SRAM
- Fast temporary memory used by a processor while a program is running. More SRAM helps with projects that handle larger data buffers, networking, displays, or more complex code.
- STEMMA
- A plug-and-cable connection system used on some maker electronics boards to make wiring simpler. If a product uses STEMMA, you need the matching cable or connector type to plug it in without soldering.
- STEMMA QT
- A small plug-in connector system for I2C boards that lets you connect compatible sensors and controllers without soldering. It matters because it can make wiring faster and less error-prone, especially when adding several small modules to a project.
- UART
- UART is a simple asynchronous serial interface that sends data over separate transmit and receive wires, usually labelled TX and RX, with both ends set to the same baud rate. It is a common way for microcontrollers and other serial devices to exchange data.
- USB-C
- USB-C is a small, reversible USB connector that can carry power, data and, on some devices, video over a single cable. The same connector can range from charging only to high-speed data, so the functions a given port actually supports vary.
- VGA
- VGA has two common meanings in electronics: as a resolution it usually refers to a 640 x 480 pixel image, which is modest detail suitable for basic display or inspection rather than high definition; as a connector it refers to the analogue 15-pin video output long used on computers and monitors. Check which sense a listing means.
Find this product in
Brands
Microcontrollers
adafruit qt py 2040
Document · 11.2 MB · Click any page to view full size
AP2112
Document · 737.6 KB · Click any page to view full size
Resources & Downloads
Guides, code examples, and more
Related Tutorials
Free guides on learn.littlebird.com.au