La Raspberry Pi Pico es una placa de desarrollo basada en el microcontrolador RP2040. Su microprocesador Arm Cortex M0+ de doble núcleo la convierte en una placa barata y potente. Se puede programar en C++ y Python. La versión W también puede conectarse a WiFi.
Algunas características de la tarjeta
- Modo de reposo para ahorrar energía
- 2 × SPI, 2 × I2C, 2 × UART, 3 × entradas analógicas
- 16 × canales PWM controlables (todos los GPIO pueden emitir un PWM)
- Reloj y temporizador integrados
- Sensor de temperatura interno
- 8 × máquinas de estado con entradas

Características del microcontrolador
El microcontrolador Raspberry Pi Pico utiliza el microprocesador Dual ARM Cortex-M0+. Este procesador funciona a una frecuencia de reloj de 133 MHz. Dispone de 264 kB de memoria RAM y 2000 kB de memoria Flash (para programación y almacenamiento de datos).
| ![]() |
Alimentación
El microcontrolador Raspberry Pi Pico funciona en un rango de tensión de 1,8-5,5 V gracias a su regulador de tensión integrado, mientras que el microprocesador funciona con una tensión de 3,3 V. En funcionamiento normal, el microcontrolador consume hasta 90 mA (si no recibe alimentación) y puede aceptar una corriente máxima de 16 mA en cada uno de sus pines IO.
Pinout
- Analog I/O : 3 (26, 27, 28)
- Digital I/O : 26 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 26, 27, 28)
- Pines PWM: 16 (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
- Comunicación Serie: 2 ((0, 1), (4, 5))
- Comunicación I2C: 2 ((4, 5), (2, 3))
- Comunicación SPI: 2 ((5, 2, 4, 3), (9, 10, 12, 11))

Código C básico e identificación de pines
#include <Arduino.h>
const int analogPin=A0; // broches A0,A1,A2 ou 26,27,28
//(29=A3 Temperature sensor)
const int digitalInPin=2; // broches 0-22,26-28
const int digitalOutPin=4;
const int pwmPin=3; //2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17
int analogVal=0;
int digitalState=LOW;
int pwmVal=250;
void setup() {
Serial.begin(115200);
pinMode(analogPin,INPUT_PULLUP); // Argument OUTPUT, INPUT, INPUT_PULLUP
pinMode(digitalInPin,INPUT);
pinMode(digitalOutPin,OUTPUT);
pinMode(pwmPin,OUTPUT);
}
void loop() {
analogVal=analogRead(analogPin); // return int
Serial.print("Analog read : ");Serial.println(analogVal);
digitalState=digitalRead(digitalInPin); // return boolean
Serial.print("Digital read : ");Serial.println(digitalState);
digitalWrite(digitalOutPin,HIGH); // valeur LOW(0) ou HIGH(1)
analogWrite(pwmPin,pwmVal);// valeur 0-255 en fonction de analogWriteResolution();
}
Resumen de características
| Microcontrôleur | |
| Nom: | RaspberryPiPico |
| Marque: | RaspberryPi |
| Caractéristiques | |
| CPU: | Dual ARM Cortex-M0+ |
| Tension d’alimentation : | 1.8-5.5V |
| Tension logique: | 5V |
| E/S digitales: | -1 |
| Entrées analogiques: | 0 |
| Flash: | 2000kB |
| SRAM: | 264kB |
| EEPROM: | NCkB |
| Fréquence d’horloge: | 133 MHz |
| Wifi: | Yes(W) |
| Bluetooth: | No |
| SD card: | No |
| Touch: | No |
| UART/SPI/I2C/I2S: | Yes/Yes/Yes/No |
