The SparkFun Thing Plus - RP2040 is a low-cost, high performance board with flexible digital interfaces featuring the Raspberry Pi Foundation's RP2040 microcontroller. Besides the Thing Plus or Feather footprint (with 18 GPIO pins), the board also includes an SD card slot, 16MB (128Mbit) flash memory, a JST single cell battery connector (with a charging circuit and fuel gauge sensor), an addressable WS2812 RGB LED, JTAG PTH pins, four (4-40 screw) mounting holes, and our signature Qwiic connector.
The RP2040 contains two ARM Cortex-M0+ processors (up to 133MHz) and features:
- 264kB of embedded SRAM in six banks
- 6 dedicated IO for SPI Flash (supporting XIP)
- 30 multifunction GPIO:
- Dedicated hardware for commonly used peripherals
- Programmable IO for extended peripheral support
- Four 12-bit ADC channels with internal temperature sensor (up to 0.5 MSa/s)
- USB 1.1 Host/Device functionality
The RP2040 is supported with both C/C++ and MicroPython cross-platform development environments, including easy access to runtime debugging. It has UF2 boot and floating-point routines baked into the chip. While the chip has a large amount of internal RAM, the board includes an additional 16MB of external QSPI flash memory to store program code.
The SparkFun Qwiic Connect System is an ecosystem of I2C sensors, actuators, shields and cables that make prototyping faster and less prone to error. All Qwiic-enabled boards use a common 1mm pitch, 4-pin JST connector. This reduces the amount of required PCB space, and polarized connections mean you can’t hook it up wrong.
Features:SparkFun Thing Plus - RP2040 Features
- Raspberry Pi Foundation's RP2040 microcontroller
- 16MB QSPI Flash Memory
- JTAG PTH Pins
- Thing Plus (or Feather) Form-Factor:
- USB-C Connector:
- USB 1.1 Host/Device functionality
- 2-pin JST Connector for a LiPo Battery (not included):
- 500mA charging circuit
- Qwiic Connector
- Buttons:
- Boot
- Reset
- LEDs:
-
PWR
- Red 3.3V power indicator -
CHG
- Yellow battery charging indicator -
25
- Blue status/test LED (GPIO 25
) -
WS2812
- Addressable RGB LED (GPIO 08
)
-
- Four Mounting Holes:
- 4-40 screw compatible
- Dimensions: 2.3" x 0.9"
RP2040 General Features:
- Dual Cortex M0+ processors, up to 133 MHz
- 264 kB of embedded SRAM in 6 banks
- 6 dedicated IO for QSPI flash, supporting execute in place (XIP)
- 30 programmable IO for extended peripheral support
- SWD interface
- Timer with 4 alarms
- Real time counter (RTC)
- USB 1.1 Host/Device functionality
- Supported programming languages
- MicroPython
- C/C++
1. Note: GPIO 08
is not included in this count, as it passes through the WS2812 addressable RGB LED first. GPIO 07
and GPIO 23
are counted as a single GPIO because they are tied together.↩
2. Note: The GPIO pins are programmable so you can reconfigure the pins! Check out the RP2040 datasheet for more information on the GPIO functionality.↩
Documents:- Schematic
- Eagle Files
- Board Dimensions
- Thing Plus - RP2040 Hookup Guide
- Software (SDK) Documentation:
- Online SDK Documentation
- Raspberry Pi Pico C/C++ SDK - A guide on the libraries and tools for C++ development on RP2040 microcontrollers
- Raspberry Pi Pico Python SDK - A guide on the MicroPython environment for RP2040 microcontrollers
- Hardware Component Information:
- GitHub Hardware Repository
- Software Development Platforms for the RP2040:
-
MicroPython
- Example code to accompany the Get Started with MicroPython on Raspberry Pi Pico book
-
Pico C/C++ SDK
- Example codes
-
Beta Libraries
- Example code for the beta libraries
- Tools and Resources:
- RP2040 Boot ROM - Souce code for the USB mass storage device emulation
- Picotool - Inspecting RP2040 binaries in BOOTSEL mode
- Debugging Probe Configuration
- OpenOCD Debugger
- pico-project-generator - GUI tool to automatically generate a Pico C/C++ SDK project
-
UF2 Files- Just drag-and-drop onto your RP2040 board
- C/C++ Files:
- MicroPython Files:
- Utility Files: microcontroller
- Debugging w/ picoprobe - Debugging with another RP2040 microcontroller
- Reset flash memory - Clears flash memory from board
-
MicroPython