Raspberry Pi Pico & RP2040 boards

image

  • RP2040 microcontroller chip designed by Raspberry Pi in the United Kingdom

  • Dual-core Arm Cortex M0+ processor, flexible clock running up to 133 MHz

  • 264KB of SRAM, and 2MB of on-board Flash memory

  • Castellated module allows soldering direct to carrier boards

  • USB 1.1 with device and host support

  • Low-power sleep and dormant modes

  • Drag-and-drop programming using mass storage over USB

  • 26 × multi-function GPIO pins

  • 2 × SPI, 2 × I2C, 2 × UART, 3 × 12-bit ADC, 16 × controllable PWM channels

  • Accurate clock and timer on-chip

  • Temperature sensor

  • Accelerated floating-point libraries on-chip

  • 8 × Programmable I/O (PIO) state machines for custom peripheral support

https://www.raspberrypi.org/documentation/pico/getting-started/

It’s programmable in Python, C and C++ and there’s a Pico SDK

What do you think ? :slight_smile:

13 Likes

It all looks very familiar :slight_smile: but its really cheap and if it gets some library support it could be really good.

2 Likes

I wonder why they didn’t call it a Raspberry Pico though?

Looks very useful.

3 Likes

Yes it does :slight_smile:

I was planning to use a Teensy for my next project but I might try with a Pico if I they’re not already out of stock and if I can easily compile some libraries for it.

I wonder if I could program it with Rust… Reddit seems to answer « Yes » to that question… let’s see how things go.

I like the castellated holes, this will save a bit of space in certain situations. Well I need to study this new module in more depth.

Ah yes, absolutely right ! :wink:


More infos and speculation: Raspberry Pi Enters Microcontroller Game With $4 Pico | Hackaday

2 Likes

To see anything on the market that’s comparable to a Teensy 3.2 at a 1/4 the price is super exciting. I’m sure the support/documentation is going to be really thorough but it’d be hard to Paul Stoffregen’s level of support!

2 Likes

At work, so not much time to respond but: it’s not quite near Teensy 3.2 levels of oomph or features, especially when it comes to ADC and DAC. It’s a very bare bones dev board indeed, but the chip is really interesting. And it looks like the chip will eventually be available bare.

All the data sheets they have released are excellent.

I’ll try to bang out something longer at some point.

5 Likes

It’s nice to see more small footprint microcontrollers enter the market. It is a bummer there’s no onboard DAC. I found this chart comparing the Pico and Teensy LC helpful.

Raspberry Pi Pico vs Teensy LC

8 Likes

Beats the pants off the Teensy. I wonder if it has JTAG programming and SWD…

1 Like

If like to see a feature comparison to the $6 adafruit QtPy (which has way fewer pins, but yeah)

2 Likes

Qt Py is a single-core Cortex M0+ - 48 MHz 32 bit processor with 256KB Flash and 32 KB RAM, and only 11 GPIO pins. It’s much less of an offering by nearly all metrics.

aughhh please can we abolish usb-mini micro-usb jacks.

(edit: typing in a fury lol)

11 Likes

It may come down to ease of use via library support - which is very strong in teensy/adafruit land.

Micro?

But use what instead? Usb-C?

It runs micropython, which seems to be the direction the “ease of use” crowd is going for embedded devices. And of course it’s a standard M0+ with ARM multicore support, so that’s fine for the rest of us.

1 Like

It has SWD on the three pins at the end.

It doesn’t, to my mind, beat the pants off a Teensy 3.2 (it is much more of a pants-beater for an LC); it punches a strong numbers game, but there’s some funkiness such as:

  • the Pico itself has a 3 pins capable of 12-bit ADC. Except: there’s no precision voltage source for the ADC reference. You need to supply your own, which is fine (but not a move most people used to these boards will be used to), or do some futziness with trying to deripple the main power supply. Fine, but not as usable out of the box.
  • no EEPROM whatsoever. That bigass SPI ram chip is mainly to support the size of MicroPython code. (See also the way the Adafruit boards use SPI ram for precisely that reason). This is a small thing, but I always find myself using NV ram in some way or other, and I forget if Micropython gives you access to that NV ram when it’s already being used for the python code.

But it is very cheap for what it is, and lots of the stuff that’s missing from that board that appears on, say, a Feather M0, helps bring that cost down. Rip off anything remotely unnecessary and you can hit that price point.

Easily the most interesting thing there is the RP2040 itself. The 636-page datasheet for that is already out, and the guide to designing boards around it makes it pretty clear that the chip will be available on its own.

(Also: the explanation for the chip name in the datasheets makes it clear this the first Arm MCU from RP, not the only one.)

2 Likes

Arduino already has a board in the works based on this rpi-pico chip

My statement was in direct response to the graph posted above, so yes, I was referring to the LC. I never mentioned a 3.2.

I would absolutely love to see USB-C replace all the other small USB variants on dev boards, because it’s so vastly superior and I can’t imagine it adding more than 50¢-$1 to the price. I’d also love to see voltage output pins so the same USB-C cable could be used to carry higher voltage for components that is bucked down to 3.3V or 5V for the board itself…

I don’t think there’s a USB-C compatible PHY embedded in the M0+ core peripherals. They’d have to include an external PHY (which would complicate the USB implementation and drive up costs) or design from scratch a compatible peripheral, neither of which is cheap or easy.

Incase anyone missed it they are already using the PIO ports + a resistor ladder as a DAC for VGA signals. If the PIO clocks fast enough then high frequency DDS ( direct digital synthesis ) with a few external components (RC filter) should work extremely well.

Bitbanged DVI on the RP2040 Microcontroller:

Also - adafruit is doing a Feather form factor version with this chip (and ItsyBitsy as well)

Adafruit version has USB Type C connector

3 Likes