Estamos creando un editor Ladder para Raspberry Pi pico y comenzaremos con este tutorial sobre Raspberry Pi Pico y este es nuestro primer tutorial sobre cómo comenzar a utilizar Raspberry Pi Pico.

Espero que a partir de este tutorial y con la próxima publicación del editor Ladder para Raspberry Pi pico puedan realizar proyectos tanto de estudio, aficionados o industriales. Este es el primer tutorial de nuestra serie de programación para Raspberry Pi en Ladder . En este tutorial, ofreceremos una breve descripción del módulo Raspberry Pi Pico, diseñado y desarrollado por la propia organización Raspberry Pi. También analizaremos diversas características, memoria, capacidades de interfaz de periféricos, arquitectura de hardware , técnicas de programación, etc.
Antes de pasar al estudio detallado del módulo Raspberry Pi Pico, primero entendamos las computadoras Raspberry Pi tradicionales.
¿Qué es Raspberry Pi?
La Raspberry Pi es una computadora de placa única (SBC), un ordenador compacto y de bajo costo creado por la Raspberry Pi Foundation para facilitar el aprendizaje de la informática y la programación, permitiendo a cualquiera explorar la computación y la electrónica de forma asequible y versátil, funcionando como un PC completo o para proyectos específicos como domótica y robótica.
Puntos Clave de la Raspberry Pi:
- Tamaño y Costo: Es un pequeño computador del tamaño de una tarjeta de crédito, muy económico.
- Propósito Original: Fomentar la educación en ciencias de la computación en niños y jóvenes, y democratizar el acceso a la tecnología.
- Funcionalidad: Puede realizar tareas de un ordenador de escritorio (navegar, ofimática, multimedia) y mucho más, ejecutando sistemas operativos como Linux.
- Versatilidad: Ideal para proyectos DIY (hazlo tú mismo) en robótica, domótica, servidores, consolas retro, y más, gracias a sus pines GPIO para interactuar con el mundo físico.
- Componentes: Integra procesador, RAM, puertos USB, HDMI, y ranura para tarjeta microSD, aunque no incluye teclado, ratón o carcasa.
En resumen, es una herramienta educativa y de desarrollo increíblemente flexible que ha trascendido su propósito inicial para convertirse en una plataforma popular para makers y aficionados.
Una Raspberry Pi se puede utilizar para crear hardware, domótica, aplicaciones industriales, etc.
Hay varios modelos de Raspberry Pi disponibles y Raspberry Pi Pico es uno de ellos y nos vamos a dedicar a este modelo en concreto.

Figura 1: Raspberry Pi Pico con conectores
Raspberry Pi Pico
La Raspberry Pi Pico es un dispositivo diferente a las < Raspberry Pi tradicionales (como la Pi 4/5), ya que no es una computadora que corre Linux, sino un microcontrolador de bajo costo, diseñado para tareas específicas de electrónica, ¡compitiendo directamente con placas como Arduino!. Su fortaleza radica en su chip propio RP2040, ideal para proyectos de robótica o domótica que requieren control de sensores y motores sin un sistema operativo pesado, programable con MicroPython o C/C++.
Es una plataforma de desarrollo rentable diseñada por Raspberry Pi con suficiente potencia de procesamiento para gestionar tareas complejas. Se trata de una placa de microcontrolador económica pero potente con un chip de silicio RP2040.
Al igual que la computadora Raspberry Pi, Raspberry Pi Pico también cuenta con una unidad de procesamiento, GPIO (por lo que puede usarse para controlar y recibir entradas de varios periféricos electrónicos), etc., pero no ofrece ninguna función de conectividad inalámbrica.
Otras placas Raspberry Pi disponibles, como Raspberry Pi 0, Raspberry Pi 4, Raspberry Pi 3, etc., son similares a una computadora de escritorio tradicional. Esto significa que cuentan con todas las características necesarias para funcionar como una computadora, como un puerto HDMI para conectar un monitor, puertos USB para ratón y teclado, ranura para tarjetas SD para el sistema operativo, etc.
Pero, Raspberry Pi Pico no tiene ninguna de las características o capacidades anteriores, ni un puerto HDMI ni el USB para conectividad de teclado y mouse y en lugar de usar una tarjeta SD para almacenamiento, el modelo Pico cuenta con ‘memoria flash incorporada’ para almacenar programas.
Quizás ahora tengas dudas sobre si se puede ejecutar el sistema operativo Raspberry Pi en una Raspberry Pi Pico. La respuesta es NO. A diferencia de los módulos Raspberry Pi tradicionales, Raspberry Pi Pico no ejecuta un sistema operativo de escritorio completo, sino que ejecuta código directamente sin una interfaz de escritorio.
Si tienes una computadora Apple, Linux o Windows, o incluso otra placa Raspberry Pi (Pi 0, 4 o 3, etc.), solo necesitas conectar la Raspberry Pi Pico a una computadora para programarla para una tarea o proyecto específico. Una vez programada correctamente, la Pico ejecutará ese código cada vez que se encienda la placa.
Podemos decir que Raspberry Pi Pico se parece más a una placa Arduino que a un modelo tradicional de Raspberry Pi.
Características de Raspberry Pi Pico

Fig. 2 Placa de desarrollo Raspberry Pi Pico
Algunas características clave de la placa Raspberry Pi Pico son:
- Procesador de doble núcleo (ARM Cortex-Mo+), 133 Mhz
- Controlador DMA
- Admite 16 MB de memoria Flash a través del bus QSPI
- 264 kB de RAM estática en chip (SRAM)
- Chip microcontrolador SP2040 diseñado por la organización Raspberry Pi
- Un puerto micro USB (tipo B) para alimentar y programar la placa
- Barra transversal AHB
- 2 bucles de enganche de fase en chip o PLL para generar relojes USB y de núcleo
- LDO programable en chip para generar un voltaje de núcleo
- 26 pines GPIO con 23 pines GPIO son solo digitales y los 3 pines restantes tienen capacidades ADC
- Puerto ARM SWD (depuración por cable serie) de 3 pines
- Memoria Flash QSPI integrada de 2 MB.
- La placa Raspberry Pi Pico funciona con un rango de alimentación de CC de 1,8 a 5,5 V. (Todos los pines de E/S funcionan a 3.3V)
- Temperatura de funcionamiento: -20°C – +85°C
- La placa Raspberry Pi Pico también admite programación de arrastrar y soltar utilizando almacenamiento masivo a través de un USB.
- RP2040 también ofrece bibliotecas de punto flotante en chip.
- Sensor de temperatura incorporado.
- Los múltiples periféricos digitales compatibles con RP20400 son:
- 1 contador en tiempo real
- 2 canales UART
- 2 I2C
- 2 canales SPI (interfaces periféricas en serie)
- 16 canales PWM (modulación por ancho de pulso)
- Alta calidad y rendimiento a un precio muy bajo.
- También admite el modo de suspensión de bajo consumo y el modo inactivo.
Este módulo también ofrece una fuente de alimentación conmutada (SMPS) buck-boost integrada, que proporciona una opción flexible para alimentar la placa a través de un puerto micro USB, baterías o fuentes de alimentación externas.
Además de varios módulos de interfaz periférica disponibles y capacidades de comunicación de datos, Raspberry Pi Pico también ofrece 8 máquinas de estado PIO y un controlador USB 1.1.
La placa de desarrollo Raspberry Pi Pico ha sido diseñada para utilizar conectores de pines de 0,1″ soldados o también puede usarse como un dispositivo o módulo de montaje en superficie (SMD), ya que los pines de entrada/salida (IO) del usuario también están almenados.
Microcontrolador (RP2040)
Raspberry Pi Pico viene con un chip microcontrolador de doble núcleo RP2040, el chip está completamente diseñado internamente en Raspberry Pi .
Proyectos de Arduino

Fig. 3 Microcontrolador RP2040
El RP2040 es el primer microcontrolador de Raspberry Pi. Fabricado en un nodo de proceso de 40 nm, ofrece un bajo consumo de energía y diversos modos de bajo consumo para un funcionamiento prolongado con batería.
La placa del microcontrolador RP2040 consta de un total de 36 pines GPIO, pero solo 26 pines GPIO están expuestos para control e interfaz.
¡Ahora entendamos por qué este microcontrolador se llama así!
- En RP2040, RP significa Raspberry Pi.
- El primer dígito ‘2’ representa el número de núcleos de procesamiento.
- El segundo dígito ‘0’ representa el tipo de procesador, es decir, Mo+
- ‘4’ representa la cantidad de RAM, desde el piso funcional (log2 (RAM/16kB)
- El último dígito representa la cantidad de almacenamiento no volátil y ‘0’ indica que no hay almacenamiento no volátil.

Fig. 4 Microcontrolador RP2040
Protocolos de comunicación
Algunos de los protocolos o métodos de comunicación soportados por el modelo Raspberry Pi Pico son:
- UART (Ofrece 2 UART)
- 2 controladores SPI (interfaz periférica en serie)
- 2 controladores I2C
GPIO
Al igual que una computadora Raspberry Pi, Raspberry Pi Pico también cuenta con pines GPIO para controlar e interconectar periféricos o para comunicar datos con periféricos e incluso para recibir entradas y señales de control de esos periféricos.

Fig. 5. Pin-out de Raspberry Pi Pico
La distribución de pines de la Raspberry Pi Pico revela un total de 40 pines, incluyendo los de alimentación (GND y VCC). Los diferentes tipos de pines incluyen PWM, ADC, UART, GPIO, SPI, I²C, depuración y control del sistema.
A diferencia de la serie de placas de computadora Raspberry Pi, los pines GPIO de la placa Pico tienen múltiples funciones y, en total, Raspberry Pi Pico cuenta con 26 pines multifuncionales. Estos 26 pines multifuncionales están marcados como GP0, GP1, GP2, etc. Permiten realizar funciones de entrada y salida digitales.
Por ejemplo, si consideramos los pines GP4 y GP5, pueden usarse como entrada o salida digital, al igual que I2C1 (pines SDA y SCK) o UART1 (Rx y Tx). Sin embargo, solo se puede usar una función a la vez; para ello, se debe seleccionar un pin específico y proporcionar las instrucciones correspondientes en el código.
- Pines PWM:Raspberry Pi Pico cuenta con 16 canales de salida PWM. En realidad, cuenta con 8 bloques PWM, cada uno de los cuales proporciona dos salidas PWM, lo que suma un total de 16 canales PWM.
- Pines ADC:la placa Raspberry Pi Pico tiene 4 pines ADC para leer entradas analógicas de periféricos (sensores), de los cuales solo 3 ADC son utilizables.
La placa Pico RP2040 admite un ADC de 12 bits y, por lo tanto, el rango del ADC puede ir de 0 a 4095.
El código MicroPython, por otro lado, puede escalar los valores del ADC a un rango de 16 bits. Como resultado, tenemos un rango de 0 a 65535. Dado que el microcontrolador opera a 3,3 V, un pin del ADC devolverá un valor de 65535 cuando se le apliquen 3,3 V o 0 cuando no se aplique voltaje. Cuando el voltaje aplicado o el voltaje de entrada está en el rango de 0 a 3,3 V, podemos obtener todos los valores intermedios.
- Pines UART:Si ha trabajado previamente con alguna placa de microcontrolador o de desarrollo, es posible que haya utilizado este protocolo, ya que es el protocolo de comunicación serie más común. El módulo Raspberry Pi Pico también ofrece dos canales UART, UART0 y UART1, y dispone de pines GPIO dedicados para implementarlo.

Fig. 6 Protocolos de comunicación de Raspberry Pi Pico
- Pines I2C:I2C es un bus serie bidireccional (dos cables) que se utiliza para la comunicación de datos entre dispositivos compatibles con I2C, pero a corta distancia. En Raspberry Pi Pico, tenemos dos controladores I2C, fácilmente accesibles mediante pines GPIO.
- Pines SPI:SPI significa interfaz periférica serial y se utiliza para comunicar datos entre dispositivos compatibles con SPI a través de pines GPIO dedicados o disponibles. Raspberry Pi ofrece dos canales SPI para la interfaz periférica.
- Pines de fuente de alimentación:Algunos pines de fuente de alimentación también están disponibles para encender la placa:
- SMPS:Este pin se utiliza para generar 3,3 V para la placa Pico y sus GPIO
- VSYS:Este es el voltaje de entrada principal y puede variar en un rango de suministro de 1,8 V a 5,5 V.
- VBUS:El voltaje de entrada micro USB conectado al pin1 del puerto micro-USB.
- Pin GND
Algunas otras características de Raspberry Pi Pico son:
Etiquetado
La etiqueta de serigrafía en la parte superior de la placa proporciona una orientación para 40 pines, mientras que la distribución completa de pines está impresa en la parte posterior.
USB
La Raspberry Pi Pico incluye un controlador USB 1.1. Este puerto USB se utiliza para alimentar la placa y programarla.
Botas
La placa de desarrollo Raspberry Pi Pico cuenta con un botón BOOTSEL ( selección de arranque). Este botón activa el modo de almacenamiento masivo USB al encender la placa Pico. Esto permite arrastrar y soltar programas en la unidad RPI-RP2.
Depuración
Se proporciona un SWD, que significa Serial Wire Debug, para la depuración de hardware y para permitir al usuario rastrear rápidamente los problemas en el programa.
Programando el Flash
Como mencionamos anteriormente, la Raspberry Pi Pico ofrece 2 MB de memoria flash QSPI incorporada que se puede programar o reprogramar mediante el puerto SWD (o depuración por cable serie) o mediante un modo especial de dispositivo de almacenamiento masivo USB.
Un sensor de temperatura interna
El módulo Raspberry Pi Pico incluye un sensor de temperatura integrado. Este sensor está conectado internamente a los pines del convertidor analógico-digital (ADC) de la placa Raspberry Pi Pico. Estos pines del ADC admiten un rango de valores determinado por el voltaje de entrada aplicado a los pines.
Programación de Raspberry Pi Pico (2040)

Fig. 7 Programación Ladder para Raspberry Pi Pico
Hay varios entornos de desarrollo disponibles que admiten diferentes lenguajes de programación para programar el microcontrolador RP2040.
Pero, antes de escribir un programa para Raspberry Pi Pico debes tener todos los componentes de software y hardware necesarios para programar la placa. En nuestro caso y con nuestro sistema de programaci{on en Ladder compatible con el IDE de Arduino, solo necesitará tener el hardware listo, nosotros le proporcionamos el editor MicroLadder.
Componentes necesarios para programar Raspberry Pi Pico:
Lo primero que se necesita es un cable Micro-USB, que permite al usuario conectarlo a una computadora o una Raspberry Pi para programar y encender la placa Pico.
El siguiente componente es el entorno de desarrollo necesario para compilar y cargar el programa en el desarrollo Raspberry Pi Pico.
Si necesita conectar un periférico a su placa Pico mediante una placa de pruebas, también necesitará un conjunto de Conectores o conexiones compatibles con la placa .
El RP2040 es compatible con múltiples lenguajes de programación como C/C++, Circuit Python y entornos de desarrollo multiplataforma MicroPython. El módulo Raspberry Pi Pico incorpora un gestor de arranque UF2 que permite cargar programas mediante arrastrar y soltar, y rutinas de punto flotante integradas en el chip para lograr un rendimiento ultrarrápido.
Existen múltiples entornos de desarrollo para programar una placa Raspberry Pi Pico como Visual Studio Code, Thonny Python IDE y Arduino IDE, etc.
En nuestro próximo tutorial, analizaremos el editor Ladder para Raspberry Pi Pico que hemos desarrollado para el publico en general y si desean para la industria. Les daremos consejos de como deben de utilizar los módulos para que sean compatibles en entornos industriales.
Con esto concluye el tutorial. Espero que les haya sido útil y nos vemos pronto con un nuevo tutorial sobre Raspberry Pi y nuestro editor Ladder.
Por favor, dejen sus comentarios para mejorar el editor Ladder.