SparkFun Pro Micro - RP2040

Added to your shopping cart

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
  • Six 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.


This latest revision is functionally identical to the previous version, with slight component layout changes for DFM.

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


Comments

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 a year 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.

  • CrustyCarbuncle / about 2 years ago * / 1

    Is the Qwiic connector usable as a hardware-supported I2C connector under MicroPython? It seems not... Any attempt to use:

    import rp2
    import machine
    print("i2c bus: 1")
    i2c1 = machine.I2C(1, scl=machine.Pin(17), sda=machine.Pin(16), freq=100000)
    output = i2c1.scan()
    print(output, len(output))
    print("Done")
    

    Yeilds:

    i2c bus: 1
    Traceback (most recent call last):
          File "<stdin>", line 20, in <module>
    ValueError: bad SCL pin
    

    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.

  • Member #184454 / about 2 years ago / 1

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

Customer Reviews

4.5 out of 5

Based on 2 ratings:

Currently viewing all customer reviews.

1 of 1 found this helpful:

Its great. Small but powerful.

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:

Worked great for keyboard build

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