SparkFun Pro Micro - RP2040

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:

  • 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 channel ADC with internal temperature sensor, 0.5 MSa/s, 12-bit conversion
  • USB 1.1 Host/Device

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.

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++

SparkFun Pro Micro - RP2040 Features

  • Raspberry Pi Foundation's RP2040 microcontroller
  • AP2112 3.3V voltage regulator
  • Support programming languages
    • MicroPython
    • C/C++
  • On-board USB-C connector for programming
    • USB 1.1 Host/Device functionality
  • Built-in Resettable PTC Fuse
  • PTH pads w/ castellated edges
  • 20x multifunctional GPIO Pins [1]
    • 4x 12-bit ADC channels with internal temperature sensor, 0.5 MSa/s, 12-bit
    • 10x PWM channels
    • Serial Peripherals
      • 2x UARTs
      • 1x I2C (Qwiic enabled)
      • 1x SPI
  • Buttons
    • Boot
    • Reset
  • LEDs
    • Power
    • WS2812 Addressable LED
  • 16MB External Flash Memory
  • Dimensions: 1.3in x 0.7in

[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.

SparkFun Pro Micro - RP2040 Product Help and Resources

Pro Micro RP2040 Hookup Guide

January 21, 2021

This tutorial covers the basic functionality of the Pro Micro RP2040 and highlights the features of the dual-core ARM Cortex-M0+ processors development board. Get started with the first microcontroller from the Raspberry Pi Foundation!

Core Skill: Programming

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.

3 Programming

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

Core Skill: Electrical Prototyping

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.

2 Electrical Prototyping

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


Looking for answers to technical questions?

We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.

  • Member #1619882 / about 2 years ago / 1

    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.

  • Member #1672075 / about 3 years ago / 1

    Is that the right place to mention that the pinout card ("Graphical Datasheet") and the Schematic contradict each other on TX0 and RX0 ? One says TX0 is GPIO1, the other says TX0 is GPIO0.

  • Member #1668591 / about 3 years ago / 1

    I have posted an Arduino IDE compatible sketch to drive the WS2812 LED here:

  • Member #1668591 / about 3 years ago / 1

    Please use a better PCB supplier, the castleated holes on edges have burrs and swarf bridging the pads.

  • cbmeeks / about 3 years ago / 1

    How is there 30 GPIO pins on this? I assume some pins do double-duty but if I needed 30 I/O pins concurrently, this would not work.

    • The RP2040 itself has 30 GPIO. This board breaks out 20 of them. Check the features tab, it has two areas of breakdown. Now, you might ask, how do we get to 20? I asked the same question. There are 18 0.1" pins that are multifunction, there are also two pins available in the Qwiic connector that could be used for I/O.

  • Member #1650333 / about 3 years ago * / 1

    Just had these show up and it looks like there's a manufacturing defect with them. The copper on the castellated edges is peeling and flaking, and completely fell off of at least one of the pads. I thankfully wasn't planning on using the castellated edges so it's not a big deal for me, but definitely something others who are need to be aware of. Hopefully this is just a bit of teething problem with this new product and Sparkfun fixes it quickly.

    Edit: Sparkfun support says (via the forums) they haven't had any other reports of this problem, but that if anyone else is seeing this to let them know.

    • Ya, thanks for reporting. I checked the bare PCB stock on the shelf and unfortunately there is none! We have more PCBs arriving this week. I hope to check then.

    • Member #1668591 / about 3 years ago / 1

      Recieved mine last week, I had the same problem. The peeled back plated through hole on one pad shorted to the next. The slants between the holes indicate a very blunt router bit cut them out.

      To be fair I boungt in the past other Sparkfun products have been really excellent.

  • Kerbidiah / about 3 years ago / 1

    Are the bottom right 4 pins for SPI???

    Thank you

    • Yep! Those are SPI. Serial Clock (SCK), Controller out (CO), Controller in (CI). Chip Select (CS) can be pin 21 or really any GPIO.

      • Kerbidiah / about 3 years ago / 2

        Awesome! Also any ETA for when you guys will start shipping? (I know its hard to predict, just want to know if its like in a week or month)

        Thank you soo much

        • The good news is that we started shipping late last week / early this week. The downside is that we had a lot of boards pre-ordered and we are working through orders in the order that we received them. Hopefully you will be able to get your package soon!

  • falkenad / about 3 years ago / 1

    Are the board files available for this? I know this is pre-production, but it'd be great to be able to start designing custom boards with the RP2040 even with the caveat that the circuits have not been tested and therefore the design cannot yet be guaranteed.

Customer Reviews

5 out of 5

Based on 2 ratings:

Currently viewing all customer reviews.

1 of 1 found this helpful:

Quad core keyboard

I dropped these on a split keyboard pcb and run KMK/circuitpython. The pins were not 100% the same as the pro micros the pcb was designed for so I can't use it as a split over Trrs. I run a usb to each side and run them like two separate keyboards. It works great and I have plenty of overhead to add things to the board. Circuitpython was super easy to get running. It occasionally fails to boot CP after a power cycle but CP 7 sounds like it will fix that. Woot.