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:
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.
SparkFun Thing Plus - RP2040 Features
PWR
- Red 3.3V power indicatorCHG
- Yellow battery charging indicator25
- Blue status/test LED (GPIO 25
)WS2812
- Addressable RGB LED (GPIO 08
)Boot
Reset
RP2040 General Features:
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.↩
If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.
Skill Level: Competent - The toolchain for programming is a bit more complex and will examples may not be explicitly provided for you. You will be required to have a fundamental knowledge of programming and be required to provide your own code. You may need to modify existing libraries or code to work with your specific hardware. Sensor and hardware interfaces will be SPI or I2C.
See all skill levels
If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.
Skill Level: Rookie - You may be required to know a bit more about the component, such as orientation, or how to hook it up, in addition to power requirements. You will need to understand polarized components.
See all skill levels
We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.
Based on 4 ratings:
2 of 2 found this helpful:
As RP2040 support in MicroPython improves there will be more devices supported. Hopefully CircuitPython will be running on it soon also. That will instantly improve the driver availability for scores of devices.
1 of 1 found this helpful:
Nice board with 16MB of flash makes it easy to get experiments done. Qwiic connector (4 pin 1mm JST) makes peripherals easy to add. Low current draw as well.
1 of 1 found this helpful:
The board python setup was a simple and quick. Getting C/C++ was not that easy. Over all well worth it.
0 of 2 found this helpful:
The Upload Process is BROKEN! It works like once in about 5 tries or so.
Has anyone gotten I2C to work on this thing?
Are you using the reset button? https://learn.sparkfun.com/tutorials/rp2040-thing-plus-hookup-guide/hardware-overview
i2c should also work fine; you may have a defective unit if it isn't appearing - run i2cdetect (or similar) and see?
I use Circuitpython with this board and it works like a charm. I’m not a fan of the two missing pins, can’t see why that was done considering there is another pin that is shared between two exclusive functions. I think calling this Feather compatible is taking a bit of license. If those issues were fixed on the next spin I’d give the hardware five stars. I do think SparkFun has a weak spot when it comes to documentation though. A blink sketch in Arduino doesn’t cut it with a board this complex. I’m an engineer with decades of experience using microcontrollers and I know where to look to figure things out, but how someone new to this or only experience with Arduino would fare, well not so well I think.
Does anyone know how to get the SD Card to work on the Thing Plus RP2040? A simple example program would be great! Apparently it uses non-standard Pins, but it's not clear what I should use.
I got some of these through work and am generally happy with them, except for the truly baffling choice to leave two of the GPIO (5 and 13) on the micro unconnected, and for two of the pins in the feather layout (pins 9 and 10 on the long side) to be NC.
The Upload Process is BROKEN! It works like once in about 5 tries or so.
What are the Default I2C Pins for the SparkFun Thing Plus - RP2040?
Has anyone gotten I2C to work on this thing?
I want my money back; when you get all the bugs worked out, let me know...
sorry to hear that you are running into issues with the product. Feel free to initiate a return ticket if you wish to return the device and we can get you taken care of: https://www.sparkfun.com/returns
The specs say this supports acting as a USB host. But are there any example programs demonstrating the use of this functionality?
There are examples built into the Arduino IDE, but I haven't tested them with this board. That said, it is only a specification for the RP2040 microcontroller; double check with the datasheet that the compatible pins are broken out for that functionality.