Using CircuitPython for RP2040

 The Raspberry Pi Pico is a low-cost microcontroller board that includes a powerful new processor, the RP2040 mcu, as well as all the necessary components to get started with embedded electronics applications at a cheap cost.

Using CircuitPython for RP2040

Minimal circuitry is present on the compact Pico green board to get you started: A 5V to 3.3V power supply converter, GP25 single green LED, boot choose button, RP2040 processor with dual-core Cortex M0, 2 MegaBytes of QSPI flash storage, and crystal are all included.


A permanent ROM' USB UF2 bootloader is included with the RP2040. That means you can programme fresh firmware by holding down the BOOTSEL button while connecting it into a USB port (or bringing the RUN/Reset pin to ground), and it will look as a USB disc drive onto which you can slide the firmware. To access the bootloader, hold down BOOTSEL during boot instead of double-clicking reset!

6.3.0 CircuitPython

This is the most recent version of CircuitPython that is compatible with the Pico.

CircuitPython 7.0.0-alpha.3 is a new version of CircuitPython.

This is the most recent unstable CircuitPython version that will work with the Pico.

Unstable versions have the most recent features, but they are more likely to include serious flaws.

The RP2040 microcontroller chip has a clock speed similar to our M4 (SAMD51) and two cores similar to our M0 (SAMD21). Because it's a M0 chip, it doesn't have a floating point unit or DSP hardware support, so anything that requires a lot of floating point arithmetic will have to be done in software, which will take longer than on an M4. You'll reach close to M4 speeds for many more computing jobs!

SB Components Sale

Two I2C controllers, two SPI controllers, and two UARTs are multiplexed over the GPIO for peripherals; check the pinout to see which pins may be set to which. There are 16 PWM channels, and each pin can be assigned to one of them (ditto on the pinout).

What's up with the lack of an I2S or SDIO peripheral, as well as a camera? Instead of having dedicated hardware support for serial-data-like peripherals, the RP2040 has the PIO state machine system, which is a unique and powerful approach to construct custom hardware logic and data processing blocks that operate independently of the CPU.

This board does not have Arduino core support at the time of introduction. There's excellent C/C++ compatibility, as well as a MicroPython port and a CircuitPython port!

I prefer CircuitPython because it is the simplest way to get started and since it comes with support for most of our drivers, displays, sensors, and other devices out of the box.


Posts You May like: