Skip to content

Sea-Picro is a RP2040 based board in the Arduino Pro Micro form factor.

License

Notifications You must be signed in to change notification settings

joshajohnson/sea-picro

Repository files navigation

Sea-Picro

Sea-Picro is a RP2040 based board in the Arduino Pro Micro form factor. Like Sea-Micro, it's designed to be a drop in replacement for keyboards wanting an upgrade from ATmega32u4 based pro micros.

pcb render

There are two variants:

  • EXT, featuring an Elite-C pinout, with dedicated 5V RGB LED pin, but without a reset button.
  • RST, featuring a pro micro pinout, with onboard RGB LED and reset button.

Sea-Picro can be purchased from CustomKBD.

Sea-Picro EXT

top of pcb render

Sea-Picro RST

top of pcb render

Features

  • Compatiable with most pro micro based keyboards
  • RP2040 microcontroller, with dual M0+ processors at up to 133MHz
  • Mid mount USB-C connector, which is low profile and can't be ripped off
  • Optional Elite-C style pinout, adding an additional 5 IO for large keyboards
  • Single button reset / bootloader circuit which changes behavior based on how long it's held (RP2040 usually requires two buttons to flash new firmware, making it challenging when installed upside down in a keyboard)
  • ROM bootloader which prevents board from being bricked
  • EXT version has a 5V level shifter and extra pin to drive strings of WS2812 LEDs.
  • RST version has a WS2812 LED for use with CircuitPython or as a status indicator on the RST version.
  • Onboard power LED.
  • IO pinout identical to the Sparkfun RP2040 Pro Micro

Pinout

annotated pinout of PCB

Documentation

Documentation including flashing instructions can be found on my website.

One Button Reset / Bootloader Circuit

One of the tricky things with the RP2040 is that unlike the pro micro, to update the firmware you need to use two buttons in sequence to put it into the bootloader. To get around this, I've designed a circuit which when tapped for less than 500ms will reset the board, but when held for more than 1 second will jump into the bootloader. This makes life much easier for keyboards that install the microcontroller upside down, or have limited access to the reset buttons on the micro.

reset circuit schematic

Revision History

  • V1.0 increased the reset/bootloader decision time, along with DFM improvements and BOM fixes.
  • V0.3 added castellated pads to the EXT version, along with changing the pinout to conform to the "BastardKB RP2040 Pinout". Numerous DFM improvements and bug fixes as per #2.
  • V0.2 added the one button reset / bootloader circuit, along with a number features and DFM improvements. Fixes #1.
  • V0.1 was more or less a clone of the Sparkfun RP2040, and was used as a refrence point for development. Tested and working, but not recomended for use.

Contribuitors

  • Michael Gard aka fig (@figthedevil / figurativelythedevil#4475) for adding castellated pads, teardrops, numerous DFM improvements, and feedback on the design.
  • Ant from CustomKBD for the Sea-Picro artwork.
  • ClassicRory (Instagram, Discord) for the amazing renders of Sea-Picro.

Contributing

If you want to download the project, ensure you clone --recursive as my parts library is pulled in as a submodule.

For any suggestions, areas of improvement, or problems you've found, please open an issue or pull request. I'm keen to make this board work for as many as people as possible, so please don't hesitate to suggest a change.