Embebido · complemento
Haz parpadear una Raspberry Pi Pico
El módulo Embebido apunta a la Raspberry Pi Pico y Pico 2 (RP2040 / RP2350). Ferric genera un UF2 que flasheas por USB-C, incluye plantillas oficiales (embassy / rp-rs) y trae un emulador integrado de la Pico que verifica que tu firmware parpadee el LED — sin hardware. Ferric Link añade una consola serie por el mismo cable. Es un desbloqueo único (US$4.99) en Free, e incluido sin costo extra con Pro.
PlacasPlacas soportadas
Hoy el módulo Embebido se enfoca en dos placas. Ferric elige el target y el layout de memoria correctos para cada una, así que no tienes que configurar un toolchain a mano.
- Raspberry Pi Pico — RP2040, doble núcleo Cortex-M0+, LED de placa en GPIO 25.
- Raspberry Pi Pico 2 — RP2350, GPIO 0–29, más memoria y velocidad.
Ambas placas se construyen sobre el propio silicio de la serie RP de Raspberry Pi. El RP2040 de la Pico junta dos núcleos Cortex-M0+ con 264 KB de SRAM; el RP2350 de la Pico 2 es más rápido, tiene más memoria y expone los GPIO 0–29. Ferric ya conoce el triple del target y el layout de memoria de cada una, así que elegir la placa es toda la configuración que haces.
Qué necesitas
Antes de empezar
Todo hasta el UF2 ocurre en el iPad — puedes escribir, compilar y verificar firmware sin ningún hardware. Solo necesitas una placa y un cable para el paso final de flasheo.
- El complemento Embebido — un desbloqueo único de US$4.99 en Free, incluido sin costo extra con Pro.
- Una Pico o Pico 2 — solo hace falta para flashear; el emulador cubre todo lo anterior.
- Un cable USB-C — para conectar la placa al iPad y que se monte como unidad.
De la plantilla al LED parpadeando
-
Elige placa y plantilla
Elige la Pico (RP2040) o la Pico 2 (RP2350) y arranca desde una plantilla oficial — embassy (async) o rp-rs (HAL). Ferric configura el target correcto por ti.
-
Escribe tu firmware
Edita el firmware no_std en el editor. Un primer programa clásico alterna el LED de la placa — el «blinky».
-
Verifica en el emulador
Ejecuta el firmware en el emulador integrado de la Pico para confirmar que el LED de verdad parpadea — caza errores de lógica antes de tocar hardware.
-
Genera el UF2 y flashea
Ferric genera un archivo UF2. Pon la Pico en modo BOOTSEL, conéctala por USB-C para que aparezca como unidad, y copia el UF2.
Plantillas
embassy y rp-rs
No arrancas desde un archivo en blanco. Ferric incluye dos familias de plantillas oficiales para que el boilerplate — target, mapa de memoria, configuración del HAL — ya esté correcto:
- embassy — un framework embebido async; escribe firmware con async/await y temporizadores.
- rp-rs — el HAL de la comunidad; un estilo más directo, de registros y periféricos.
Aquí el blinky clásico sobre la plantilla embassy — alterna el GPIO 25 cada 500 ms.
#![no_std] #![no_main] use embassy_rp::gpio::{Level, Output}; use embassy_time::Timer; use embassy_executor::Spawner; #[embassy_executor::main] async fn main(_s: Spawner) { let p = embassy_rp::init(Default::default()); let mut led = Output::new(p.PIN_25, Level::Low); loop { led.toggle(); Timer::after_millis(500).await; } }
src/main.rs — firmware no_std para la Pico
Aquí importan dos detalles: esto es firmware no_std —sin sistema operativo, sin std— y el bucle nunca retorna, porque en un microcontrolador tu programa es lo único que corre. La versión embassy de arriba es async; si prefieres un estilo más directo, de registros y periféricos, la plantilla del HAL rp-rs te da el mismo parpadeo sin executor. En ambos casos, una caché de dependencias precompilada hace que la primera build de una plantilla nueva tarde unos 10 segundos en vez de minutos.
#![no_std] #![no_main] use rp_pico::hal::{pac, gpio, Timer}; use embedded_hal::digital::OutputPin; #[rp_pico::entry] fn main() -> ! { let dp = pac::Peripherals::take().unwrap(); // ... configurar relojes y pines ... let mut led = pins.gpio25.into_push_pull_output(); loop { led.set_high().unwrap(); delay.delay_ms(500); led.set_low().unwrap(); delay.delay_ms(500); } }
src/main.rs — el mismo parpadeo con el HAL rp-rs
EmuladorVerifica antes de flashear
Antes de tocar un cable, ejecuta el firmware en el emulador integrado de la Pico. Ejecuta tu código compilado y muestra si el LED de verdad alterna, así un error de lógica — un nivel invertido, un bucle que nunca duerme — se caza en el iPad y no en la mesa de trabajo. El emulador sirve para verificar y observar firmware; nunca simula el hardware de forma interactiva por ti.
Cargando blinky · RP2040
GPIO 25 → HIGH (LED encendido)
GPIO 25 → LOW (LED apagado)
El LED está parpadeando ✓
Ferric Link
Una consola serie por el mismo cable
Ferric Link corre Ethernet sobre el mismo cable USB-C con el que flasheas, así que una pestaña Serial muestra en vivo la salida de defmt o println de tu firmware, junto a la consola. El WiFi de tu iPad sigue conectado todo el tiempo — Link no lo desplaza.
FlasheoFlashear el UF2 por USB-C
Cuando el emulador se ve bien, Ferric genera un UF2 — el formato de firmware de arrastrar y soltar que entiende el bootloader de la Pico. Flashear requiere la placa física; todo hasta el UF2 funciona por completo en tu iPad.
-
Entra en modo BOOTSEL
Mantén pulsado el botón BOOTSEL de la Pico mientras la conectas (o mientras pulsas reset). La placa aparece como una unidad de almacenamiento USB. Con Ferric Link conectado, este paso es automático — sin botón que mantener.
-
Conecta al iPad
Conecta la Pico al iPad por USB-C. Se monta como una unidad llamada RPI-RP2 (o RP2350 en la Pico 2), visible en Archivos.
-
Copia el UF2
Copia el .uf2 que generó Ferric a esa unidad. El bootloader lo escribe en la flash, la placa se reinicia sola y empieza a ejecutar tu firmware.
-
Mira el LED
El LED de la placa debería parpadear ahora igual que en el emulador. Para volver a flashear, entra otra vez en BOOTSEL y repite.
Compilando firmware → RP2040
Enlazando · generando blinky.uf2
Terminado · blinky.uf2 listo para flashear
El complemento
US$4.99 aparte, incluido con Pro
Embebido es una compra única de US$4.99 que añade el target de placas, las plantillas, el emulador, el flasheo por USB-C y Ferric Link. Cómpralo por su cuenta en Free —si nunca tocas un microcontrolador nunca pagas por él— o consíguelo incluido sin costo extra si tienes Pro. Su alcance es lo que dice: verificar y observar firmware en el dispositivo, y luego flashear una Pico real.
¿Quieres probar el flujo embebido antes de comprar? El curso gratuito «Aprende Rust» incluye un track embebido cuyo LED verificas en el mismo emulador integrado — sin hardware ni complemento para aprender cómo es.
Las placas soportadas hoy son la Pico (RP2040) y la Pico 2 (RP2350). El emulador sirve para verificar y observar firmware — nunca simula el hardware de forma interactiva por ti.
Flashear requiere la placa física por USB-C, o Ferric Link para el BOOTSEL automático; todo hasta el UF2 funciona por completo en tu iPad. El módulo Embebido es un desbloqueo único de US$4.99 en Free, incluido sin costo extra con Pro.
A dónde seguir
Raspberry Pi es marca de Raspberry Pi Ltd; Ferric no está afiliado.