Raspberry Pi Pico
Contents
Raspberry Pi Pico Features
Raspberry Pi Pico is a low-cost, high-performance microcontroller board with flexible digital interfaces. Key features include:
- 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
Pinout
Reference Documents
- Raspberry Pi Pico data sheet
- RP2040 Datasheet
- Hardware Design Guide
- Getting started with Raspberry Pi Pico - C/C++ development with Raspberry Pi Pico and other RP2040-based microcontroller boards
- Raspberry Pi Pico C/C++ SDK
- Raspberry Pi Pico Python SDK
Adapter Cards
In Small Plastic Project Box
- CircuitSetup Breadboard
- Fits in 100x60x25mm Project Box
- Socketed Pico
- All Pico pins brought to Male Header pins
- Power/Ground distribution
- 5V jack
- Can by Mounted on ODAS Adapter card
PiPico-01 Card
- PiPico-01 Card - Our design
Interesting Applications
Running RP2040 Doom
Running MicroPython
- MicroPython page
- Raspberry Pi Pico with MicroPython
- Python SDK
- Quick MicroPython reference for the RP2
- RP2 Python Library Modules
- Free memory
>>> import gc >>> gc.mem_free() 175616
Python File System
- Internal Flash File System
- Little FS
- 1.44MB space
- Blocks are 4KB
- 352 Blocks on Internal File System
- os functions
import os os.[TAB] os.dir() os.mkdir("newdir") os.getcwd() os.mkdir("newdir") os.chdir('..') os.listdir() os.statvfs('/') os.uname() os.remove('file2remove') os.rename('old','new')
- Using files
f = open('filename','w') f.write('data to add') f.read() f.close()
Running MM BASIC
Running VGA
Hardware Design Guide Section 3.2