·SuperBuilder Team

Despertador de amanecer DIY por 20 $ (Raspberry Pi + tira LED)

raspberry pihardwarediyvibe codingsuperbuilderpython

Despertador de amanecer DIY por 20 $ (Raspberry Pi + tira LED)

La Philips Hue Wake-Up Light cuesta 180 $. Esta cuesta 20 $ y es mejor — porque la construiste tú mismo y puedes hacer que haga cualquier cosa.

En esta guía conectarás una Raspberry Pi Pico W con una tira LED WS2812B y escribirás el firmware usando SuperBuilder. No se necesita experiencia previa en hardware. No se requiere conocimiento de Python. Describes lo que quieres, SuperBuilder genera el código y tú lo flasheas.

¿Quieres el código completo sin leer toda la guía? Comenta SUNRISE en el vídeo de YouTube y te enviaré el enlace por DM — o deja tu correo al final de esta página.


Lo que vas a construir

Una lámpara de mesilla que:


Lista de piezas (~18 $ en total)

PiezaDónde comprarlaCoste
Raspberry Pi Pico WAmazon / Adafruit~6 $
Tira LED WS2812B (60 LED/m, 0,5 m)Amazon~5 $
Fuente de alimentación USB-C de 5V 3AAmazon~5 $
Cables jumper (3 pines)Cualquier kit de electrónica~1 $
Caja de proyecto pequeña (opcional)Amazon~2 $

La Pico W tiene WiFi integrado — no se necesitan módulos extra. Ese es el ingrediente clave que hace posible este proyecto por menos de 20 $.


Cableado (5 minutos)

La tira WS2812B solo necesita 3 conexiones a la Pico W:

LED Strip    →    Pico W
─────────────────────────
5V  (red)    →    VBUS (pin 40)
GND (black)  →    GND  (pin 38)
DIN (green)  →    GP0  (pin 1)

Eso es todo. Sin resistencias, sin condensadores, sin soldadura si usas una tira con conector JST.


Configurar SuperBuilder

Si aún no tienes SuperBuilder instalado:

  1. Descárgalo desde superbuilder.ai
  2. Ábrelo y crea un nuevo proyecto — llámalo sunrise-alarm
  3. Asegúrate de tener un archivo main.py abierto (o pídele a SuperBuilder que cree uno)

SuperBuilder ejecuta Claude Code por debajo, lo que significa que puedes describir la lógica de hardware en inglés sencillo y obtener MicroPython funcional de vuelta.


Paso 1: simulación de amanecer con LED

Abre un chat en SuperBuilder y pega este prompt:

Write MicroPython code for a Raspberry Pi Pico W that controls a WS2812B LED strip on GP0 with 30 LEDs.

Create a sunrise_sequence() function that:
- Takes 15 minutes total to complete
- Starts with 2 LEDs lit in deep red (RGB 20, 0, 0)
- Gradually increases to all 30 LEDs
- Transitions color from red → orange → yellow → warm white
- Uses smooth interpolation between color steps
- Calls utime.sleep_ms(500) between steps so it doesn't block WiFi

Use the neopixel module.

SuperBuilder generará algo como esto:

import neopixel
import machine
import utime

NUM_LEDS = 30
PIN = machine.Pin(0)
np = neopixel.NeoPixel(PIN, NUM_LEDS)

SUNRISE_STEPS = [
    (0,   2,  (20,  0,   0)),    # deep red, 2 LEDs
    (120, 6,  (60,  10,  0)),    # red-orange, 6 LEDs
    (240, 12, (120, 40,  0)),    # orange, 12 LEDs
    (360, 18, (180, 80,  10)),   # warm orange, 18 LEDs
    (480, 22, (220, 130, 30)),   # yellow-orange, 22 LEDs
    (600, 26, (240, 180, 80)),   # warm yellow, 26 LEDs
    (720, 30, (255, 220, 150)),  # warm white, all LEDs
    (900, 30, (255, 255, 200)),  # full warm white
]

def lerp_color(c1, c2, t):
    return tuple(int(c1[i] + (c2[i] - c1[i]) * t) for i in range(3))

def sunrise_sequence():
    for i in range(len(SUNRISE_STEPS) - 1):
        t_start, leds_start, color_start = SUNRISE_STEPS[i]
        t_end, leds_end, color_end = SUNRISE_STEPS[i + 1]
        steps = (t_end - t_start) * 2  # 500ms ticks
        for step in range(steps):
            t = step / steps
            leds = int(leds_start + (leds_end - leds_start) * t)
            color = lerp_color(color_start, color_end, t)
            for j in range(NUM_LEDS):
                np[j] = color if j < leds else (0, 0, 0)
            np.write()
            utime.sleep_ms(500)

Pruébalo: flashea esto a tu Pico W usando Thonny o mpremote, ejecuta sunrise_sequence() en el REPL. Deberías ver la tira despertarse lentamente.


Paso 2: WiFi + planificador de alarmas

Ahora dile a SuperBuilder:

Extend the MicroPython code to:
1. Connect to WiFi using credentials stored in a config.json file: {"ssid": "...", "password": "..."}
2. Start an HTTP server on port 80 with these endpoints:
   - GET /  → returns a simple HTML page with a form to set alarm time (HH:MM)
   - POST /alarm  → accepts {"time": "07:30"} and saves it
   - GET /status → returns JSON with current time and next alarm
3. Check the alarm time every minute in the main loop
4. When the alarm triggers, run sunrise_sequence() in a non-blocking way
5. Use uasyncio so the web server and alarm check run concurrently

SuperBuilder conectará el servidor web asíncrono y el bucle de alarma. La página HTML que genera es básica pero funcional — cualquier teléfono en tu WiFi puede poner la alarma visitando la dirección IP de la Pico.


Paso 3: archivo de configuración

Crea un config.json junto a main.py:

{
  "ssid": "YourWiFiName",
  "password": "YourWiFiPassword",
  "alarm": "07:00"
}

SuperBuilder también se encargará de sincronizar la hora vía NTP para que la Pico sepa qué hora es después de reiniciarse.


Paso 4: flashear y ejecutar

  1. Copia main.py y config.json a la raíz de la Pico W usando Thonny o mpremote cp
  2. Reinicia la Pico (machine.reset() o desenchufa/vuelve a enchufar)
  3. Abre el monitor serie — verás la dirección IP de WiFi impresa
  4. Visita esa IP desde el navegador de tu teléfono
  5. Pon una hora de alarma

Eso es todo. La alarma se disparará mañana por la mañana.


Momentos de vibe coding en este proyecto

Si lo sigues, te toparás con dos momentos que muestran por qué SuperBuilder hace accesibles los proyectos de hardware:

Momento 1 — las matemáticas de los LED. Interpolar colores y sincronizar el número de LED con el tiempo transcurrido es molesto de escribir a mano. SuperBuilder generó código lerp limpio y legible de una sola vez.

Momento 2 — async en un microcontrolador. Ejecutar un servidor web y comprobar la hora de la alarma y animar los LED simultáneamente es para lo que sirve uasyncio. No es obvio cómo estructurar esto si nunca has hecho MicroPython asíncrono. SuperBuilder lo hizo bien sin que necesitaras conocer la biblioteca.

Esto es vibe coding para hardware: describes el comportamiento, la IA se encarga de los detalles de implementación.


Yendo más allá

Una vez que tengas la base funcionando, aquí tienes extensiones naturales que probar con SuperBuilder:


Consigue el código completo

El código de arriba es la lógica central. El proyecto completo incluye:

Comenta SUNRISE en el vídeo de YouTube y te enviaré el enlace directamente por DM — o deja tu correo abajo y te lo enviaré a tu bandeja de entrada.

→ Envíame el código completo


Preguntas frecuentes

¿Necesito saber Python? No. SuperBuilder genera todo el código. Solo necesitas ser capaz de copiar archivos a un microcontrolador, lo cual Thonny convierte en cuestión de apuntar y hacer clic.

¿Funcionará con una Raspberry Pi normal (no Pico)? Sí, pero escribirás Python en lugar de MicroPython, y usarás una biblioteca LED diferente (rpi_ws281x). Dile a SuperBuilder que estás en una Pi 4 y adaptará el código.

¿Puedo usar una tira LED diferente? La WS2812B (también vendida como NeoPixel) es la más fácil. La SK6812 también funciona. Evita las tiras APA102 para este proyecto — necesitan un cable de reloj extra.

Mis LED parpadean. Añade una resistencia de 300–500 ohmios entre GP0 y DIN. Asegúrate también de que la alimentación de la tira y la Pico compartan una tierra común.

¿Cómo la hago más brillante? Usa una tira de 1 metro a 60 LED/m en lugar de 0,5 m. Escala NUM_LEDS a 60 en el código. Dile a SuperBuilder «actualízalo para 60 LED» y lo ajustará.

SuperBuilder

Crea más rápido con SuperBuilder

Ejecuta agentes de Claude Code en paralelo con seguimiento de costes, cola de tareas y aislamiento por worktree. Gratis y de código abierto.

Descargar para Mac