Skip to content

Frood RP2040 Pro Micro Controller

13.3114.52

Powerful and affordable RP2040-based Pro Micro drop-in replacement

Read more…

  • Header Pins
  • Add-ons *

    Mill Max “315” Sockets / “3320” Pins for Pro Micro

    3.998.35

    Precision low-profile sockets / pins for Pro Micro (and compatible)

    AddRemove

    Mill Max “315” Sockets / “3320” Pins for Pro Micro

    3.998.35

    Precision low-profile sockets / pins for Pro Micro (and compatible)

    Read more…

    ×

    Microcontroller Socket (Medium-profile)

    0.480.73

    Single-row microcontroller socket (1 row, 40 sockets)

    AddRemove

    Microcontroller Socket (Medium-profile)

    0.480.73

    Single-row microcontroller socket (1 row, 40 sockets)

    Read more…

    ×

Product total

Options total

Grand total

SKU: N/A Categories: , Tag:

High-performance Pro Micro-compatible controller

frood
/fru:d/

Noun
A really amazingly together guy. E.g. “There’s a frood who really knows where his towel is.”

Finally, a powerful and affordable Pro Micro replacement! Designed from scratch and haphazardly prototyped by 42. Keebs 🙂 (GitHub repository)

Features:

  • Pinout compatible with the classic Pro Micro
  • I/O pin mapping follows SparkFun Pro Micro RP2040 with 5 more digital I/O pins at the bottom (same layout as the Elite-C)
  • Powerful dual-core RP2040 32-bit Arm microcontroller with 133 MHz clock speed (8 times the Pro Micro)
  • 4 MB (Rev6) / 2 MB (Rev5) of flash storage – 128 (or 64) times as much as Pro Micro! Should fit all the RGB animations in the world 🙂
  • 256 kB SRAM (10 times as much as Pro Micro)
  • Just 3.3 mm thick thanks to a mid-mount USB-C socket that sits flush with the bottom of the PCB
  • UF2 bootloader for drag & drop flashing – the bootloader presents a USB flash-like device. No extra software needed!
  • Total of 23 digital I/O pins supporting a maximum of 132 switches in a standard 11×12 matrix! Or perhaps a 40% split keyboard (up to 46 switches) with no diodes? 🙂
  • 4 pins configurable as analogue input (ADC)
  • USB data lines (D+, D-) broken out at the top for daughterboard/external USB-C socket compatibility
  • 500 mA on-board 3.3 V regulator
  • 500 mA resettable fuse for over-current protection
  • USB power (VBUS) connected to digital I/O pin GPIO19 for split keyboard main half detection
  • Orange user LED on pin GPIO17 (can be used as an indicator LED for bootloader mode – see below)
  • BOOT/RESET pads on the bottom of the PCB in case the buttons are not accessible (when mounted upside-down)
  • Now with official CircuitPython support (currently Rev5 only, update for Rev6 coming soon)!

The black version is the latest revision Rev6 (4 MB flash), other colours are still Rev5 (2 MB flash).

Please note, like many other modern microcontrollers, it uses a 3.3 V supply voltage and the input pins are not 5V-tolerant. There could be issues with 5 V peripherals – but many will also function correctly at 3.3 V.

Pinout

  • Generally compatible with the classic Pro Micro and the SparkFun Pro Micro RP2040
  • Extra 5 digital I/O pins along the bottom edge
  • The Dn labels on the PCB correspond to the GPIOn I/O pins in the RP2040 MCU (GPn pin definitions in QMK when using MCU = RP2040).
  • Pins labeled A0-A3 can be configured as analogue input (12-bit SAR ADC, 500 ksps on a single pin)
  • Extra pins at the top labeled D+/D- are USB data lines which can be connected to an external USB socket/daughterboard
  • Warning: RP2040 I/O pins are not 5 V tolerant and can be damaged by voltage over 3.3V!

QMK Support

NEW: Frood Rev6 uses a different larger flash chip (4 MB instead of 2 MB) and requires the following configuration option in the config.h file in QMK (either in the main keyboard folder, or in the keymap folder):

#define RP2040_FLASH_GD25Q64CS

The Raspberry Pi RP2040 MCU is now fully supported in QMK. All you need to do to make your Pro Micro-based kit work with the Frood is to add the following define when compiling QMK (please also see the note about Rev6 above):

CONVERT_TO=promicro_rp2040

This can be added either to the rules.mk file in your keymap’s folder, or defined directly on the QMK command line:

qmk compile -kb <keyboard_name> -km <keymap_name> -e CONVERT_TO=promicro_rp2040

If it works correctly, you will be able to find the file <keyboard_name>_<keymap_name>_promicro_rp2040.uf2 in the main QMK folder.

You will also want to add the following lines to the config.h file to be able to easily enter the bootloader mode by double-pressing the RESET button:

#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET // Activates the double-tap behavior
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 200U // Timeout window in ms in which the double tap can occur.
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED D5 // Specify an optional status LED by GPIO number which blinks when entering the bootloader

Flashing

  1. To enter the bootloader mode, press and hold the BOOT button (on the left) and then briefly press the RESET button (right). A brand new Frood will enter the bootloader upon connecting to USB automatically
  2. This should present the Frood as a USB Mass Storage (a.k.a. USB flash drive) to the system
  3. Mount it and copy the .uf2 firmware file to the drive. This should start the flashing process immediately and the storage device will disconnect
  4. That’s it!

Alternatively, to avoid issues with the mounted device disconnecting unexpectedly in Linux:

  1. Enter bootloader mode as above
  2. Run lsblk in the console to carefully identify the correct drive – you should find a “128 MB” drive (not really) similar to this:
    sdx      8:48   1   128M  0 disk
    └─sdx1   8:49   1   128M  0 part

    You want to use the disk device, not the partition (sdx in the example above, not sdx1)

  3. Flash the firmware by copying the file directly to the main drive – make sure to use the correct device name as you could potentially overwrite the beginning of your main drive!
    cat <keyboard_name>_<keymap_name>_promicro_rp2040.uf2 | sudo tee /dev/sdx > /dev/null  # <- substitude your correct device name here
    or
    sudo dd if=<keyboard_name>_<keymap_name>_promicro_rp2040.uf2 of=/dev/sdx  # <- again, substitute your correct device name
  4. The flashing should start immediately. The mass storage device will disconnect and the new keyboard device should then connect right away.
Weight 0.02 kg

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Product Enquiry

⚠ 👉 Orders ship within 10-14 business days due to a backlog. Sorry! 👈 ⚠
Sorry, the maximum number of weekly kit order has been reached. Please come back next Monday!