- RP2040 spec & datasheet
- QMK converter documentation
- Raspberry Pi pico-sdk
- Arduino-pico
- Micropython
- Circuitpython
Board Specifications | |
---|---|
Dimensions | 18.5mm (w) x 33.4mm (h) |
User accessible GPIO pins | 22 |
GPIO voltage level | 3.3V |
Maximum input voltage on RAW pin | 6V |
Processor | Dual-core Arm Cortex-M0+ |
Clock speed | Standard up to 133 MHz , overclocked 400+ MHz |
RAM | 264kB SRAM on-chip |
Flash storage | 4MB on-board |
Interfaces | UART (2), SPI (2), I2C (2), PWM (16), + PIO (8) |
USB | USB 1.1 controller + PHY, host & device support |
Operating temperature | -40°C to +85°C, onboard temperature sensor |
- USB-C connector
- 3.3V voltage regulator (left)
- RP2040 MCU
- RGB LED (right)
- Flash storage
- SWD pad: IO
- SWD pad: CLK
In order to load a new firmware file, the Bit-C PRO must be put into bootloader mode. The Bit-C PRO comes in bootloader mode from the factory, and will automatically be in bootloader mode the first time it's plugged in. Subsequent firmware updates will require manually entering bootloader mode. There is no reset or bootloader button on the Bit-C PRO. To enter firmware update mode, short the PROG pin to GND before plugging in the USB cable. FYI: most keyboards with a "reset" switch will short these two pins for you, so all you need to do is hold the switch and toggle the power.
The LED will glow dim white when the board is in bootloader mode, and the Bit-C will register as an external USB mass storage device named RPI-RP2
.
Loading a firmware file is as simple as copying a .uf2
file to the USB device. The Bit-C PRO will immediately disconnect from the PC, reboot, and run the new code.
To completely erase the on-board flash, load the erase flash firmware to the Bit-C PRO. The onboard LED will flash 3 times once the flash has been erased. The Bit-C PRO will automatically enter bootloader mode when the flash is erased.
There are two ways to use the Bit-C PRO with QMK firmware.
Boards which have been designed for the Bit-C PRO will compile without changes. All nullbits boards fit into this category and can be compiled by adding rp2040
to the board name. For example, to compile for a NIBBLE built with a Bit-C PRO: qmk compile -kb nullbitsco/nibble/rp2040 -km default
. If you don't want to compile yourself, you're in luck! Download a precompiled RP2040 firmware instead.
Boards that have not been designed for RP2040-based MCUs can be automagically converted using the QMK converter feature. Simply pass -e CONVERT_TO=bit_c_pro
when compiling. For example, to compile for a Corne built with Bit-C PROs: qmk compile -kb crkbd -km default -e CONVERT_TO=bit_c_pro
. The resulting binary will be named crkbd_rev1_via_bit_c_pro.uf2
and can be flashed by following the flashing firmware section.
The Bit-C PRO is fully supported within the official Raspberry Pi Pico SDK. Any and all pico-sdk examples will compile for the Bit-C without any modification as long as -D"PICO_BOARD=nullbits_bit_c_pro"
is passed to cmake
.
For example, follow the normal blink tutorial, starting at the "Getting the SDK" section, and compiling with cmake -D"PICO_BOARD=nullbits_bit_c_pro" ..; make
instead of the commands given in the tutorial.
The onboard LED pin definitions are included in the Pico SDK. Use BIT_C_PRO_LED_R_PIN
, BIT_C_PRO_LED_G_PIN
, and BIT_C_PRO_LED_B_PIN
to access the RGB LED channels.
The Bit-C PRO can be programmed from within Arduino IDE natively, without any bootloader or code changes.
To install the required Core for Arduino, follow this Excellent Adafruit tutorial.
From the "Boards" menu, choose "Raspberry Pi RP2040 Boards --> nullbits Bit-C PRO", and select and upload any of the examples.
The Bit-C PRO is fully supported by Micropython.
To start, load the Micropython firmware for the Bit-C PRO.
Follow the example in the README to blink the onboard LED.
For an even better Micropython experience, use the Thonny IDE. It rocks!
The Bit-C PRO is fully supported by Circuitpython.
To start, load the Circuitoython firmware for the Bit-C PRO.
Follow the example in this gist to blink the onboard LED.
For an even better Circuit experience, use the Mu IDE!