The SparkFun Pro Micro RP2040 is a low-cost, high performance board with flexible digital interfaces featuring the Raspberry Pi Foundation's RP2040 microcontroller. Besides the good 'ol Pro Micro footprint, the board also includes a WS2812B addressable LED, boot button, reset button, Qwiic connector, USB-C, resettable PTC fuse, and castellated pads.
The RP2040 utilizes dual 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. The built-in USB can act as both device and host. It has two symmetric cores and high internal bandwidth, making it useful for signal processing and video. While the chip has a large amount of internal RAM, the board includes an additional 16MB external QSPI flash chip 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.
This latest revision is functionally identical to the previous version, with slight component layout changes for DFM.
RP2040 General Features
SparkFun Pro Micro - RP2040 Features
[1] Note: The GPIO pins are muxed so you can reconfigure the pins for the digital interface of your choice! Check out the RP2040 datasheet for more information on the pins that are broken out on the board.
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 3 ratings:
2 of 2 found this helpful:
Working very well for me. I am using Arduino IDE and the https://github.com/earlephilhower/arduino-pico board support to program it. I am implementing a version of the Mini STEM LED Game Platform: https://www.instructables.com/Mini-STEM-LED-Game-Platform/ The only minor issue I had was that apparently the RP2040 does not support internal pull ups on the DIO pins like the AVR micro-controllers used in the Arduino ProMicro. Update: I found that "pinMode(pin, INPUT_PULLUP);" Does Work!
I am very happy with SparkFun's RP2040 version of the Pro Micro board.
2 of 2 found this helpful:
It is what it says it is, and matched the pinout of the pro micro.
Things to take note of: - Debugging is almost impossible with the pads they put on the bottom - There is an insane amount of memory on this chip driving the cost up - The power LED is constantly on, but very dim - The PCB is ~0.6mm thick
Unable to even get the boot loader to connect again.
should have just bought a regular board
Sorry to hear that your device defected like this. Submit a return ticket and we will get you taken care of: https://www.sparkfun.com/returns
What are the differences between the older version (DEV-17717) and the newer version (DEV-18288) of the SparkFun Pro Micro - RP2040?
We spread out a few of the 0402 components beside the flash memory to increase production yields. All transparent changes to a user but significant enough to trigger a new SKU.
Is the Qwiic connector usable as a hardware-supported I2C connector under MicroPython? It seems not... Any attempt to use:
Yeilds:
It seems that use of pins 17 for scl and 16 for sda is disallowed by the default HARDWARE I2C implementation in the recent rp2 implementation.
Nice! Is there any reason the external flash has to be used to hold "programs" as your description repeatedly says and not blocks of data? Also, the Arduino implementations for the Pico Pi are pretty complete and easy/fun to use. Is this board supported in the Arduino IDE? Bodmer's TFT_eSPI library is amazing for connecting LCD displays to the Pico Pi... (Not all of us are Python acolytes or crazy about the Pi SDK C implementation.)