Linterna Compacta con ESP32-C3 y LEDs RGB

Esta semana os traigo un mini proyecto que me encanta por su practicidad: una linterna compacta construida completamente dentro de una pequeña cajita. Es uno de esos proyectos que demuestran que no necesitas mucho espacio para crear algo súper útil.

La idea surgió porque quería tener una linterna pequeña pero potente que pudiera llevar siempre en la mochila o en el coche. Y pensé: ¿por qué no hacerla yo mismo con LEDs RGB programables? El resultado me tiene súper contento.

¿Por qué este proyecto mola tanto?

Este no es solo "otra linterna". Tiene varias características que la hacen especial:

  • Compacta - Cabe en cualquier bolsillo o mochila

  • 🌈 LEDs RGB - No es solo luz blanca, puedes programar colores

  • 🔋 Recargable - Con puerto USB-C, olvídate de pilas

  • 🧠 Programable - Usa un ESP32-C3, así que puedes personalizarla

  • 💪 Duradera - Los LEDs WS2812 pueden durar décadas

  • 🎮 Modos múltiples - Diferentes intensidades y efectos

Es perfecta para emergencias, camping, trabajos nocturnos, o simplemente como un gadget útil que siempre llevas contigo.

🤓 Dato Curioso

¿Sabías que los LEDs pueden durar hasta 50,000 horas? Eso significa que si usaras tu linterna 3 horas al día, ¡podría funcionar durante más de 45 años!

Materiales necesarios

He diseñado este proyecto para que sea económico y fácil de conseguir:

⚡ Componentes electrónicos:

🔧 Otros materiales:

  • Pulsador momentáneo (para encender/apagar y cambiar modos)

  • Cable USB-C o Micro-USB (según tu módulo de carga)

  • Cables finos para las conexiones

  • Caja pequeña (puedes imprimirla en 3D o usar una comercial)

🛠️ Herramientas:

  • Soldador de estaño

  • Estaño

  • Pistola de pegamento caliente o cianocrilato

  • Alicates de corte

  • Multímetro

¿Cómo funciona?

Te explico el funcionamiento básico para que entiendas el proyecto:

Sistema de alimentación:

  1. La batería de litio proporciona entre 3.7V y 4.2V

  2. El módulo SM5308 tiene dos funciones:

    • Protege la batería de sobrecarga y descarga profunda

    • Permite cargarla mediante USB

Sistema de iluminación:

  1. Los 4 LEDs WS2812 están conectados en serie (solo necesitas 1 pin de datos)

  2. Cada LED puede mostrar 16.7 millones de colores diferentes

  3. El ESP32-C3 controla los LEDs mediante la librería NeoPixel

  4. Puedes programar diferentes modos de iluminación

Control:

  1. Un pulsador conectado al ESP32-C3 detecta las pulsaciones

  2. Cada pulsación cambia entre diferentes modos:

    • Modo 1: Luz blanca baja intensidad

    • Modo 2: Luz blanca alta intensidad

    • Modo 3: Luz roja

    • Modo 4: "Policía futurista" Parpadeos aleatorios en diferentes colores

    • Modo 5: "Policía alterno" Parpadeos rojo y azul a pares

    • Apagado.

Simulación y Esquema Completo en Wokwi

He preparado una simulación completa en Wokwi donde podéis ver todo el proyecto funcionando virtualmente antes de comprarlo o montarlo.

🔗 Ver el proyecto completo en Wokwi

En la simulación encontrarás:

  • ✅ Esquema de conexiones completo

  • ✅ Código fuente funcionando en tiempo real

  • ✅ Todos los componentes conectados correctamente

  • ✅ Posibilidad de modificar el código y probarlo

  • ✅ Demostración de los diferentes modos

Cómo usar la simulación:

  1. Haz clic en el enlace de arriba

  2. Pulsa el botón verde "Start Simulation"

  3. Haz clic en el pulsador virtual para cambiar entre modos

  4. Observa cómo responden los LEDs WS2812

  5. Puedes modificar el código y ver los cambios en tiempo real

Es perfecto para entender cómo funciona todo el sistema antes de soldar nada. Juega con el código, prueba diferentes configuraciones y cuando lo tengas claro, ¡monta tu versión física!

Esquema básico de conexiones:

Para los que prefieren tener una referencia rápida aquí:

  • ESP32-C3 → Componente

    • GPIO 8 → DIN del primer LED WS2812

    • GPIO 9 → Pulsador (con resistencia pull-up)

  • 3.3V → VCC de los LEDs WS2812

  • GND → GND común

  • VIN (5V) → Salida del módulo SM5308

  • Módulo SM5308 → Conexión B+ / B- → Batería de litio OUT+ / OUT- → Alimentación del ESP32-C3

Montaje paso a paso

Paso 1: Preparar los componentes

  1. Prueba todos los componentes antes de soldar

  2. Verifica que el módulo SM5308 cargue correctamente la batería

  3. Programa el ESP32-C3 antes de montarlo todo

Paso 2: Soldar los LEDs

  1. Suelda VCC y GND de la tira de LEDs WS2812

  2. Conecta DIN con un resistor en serie de 470 ohm al GPIO 8 del ESP32-C3

Paso 3: Conectar la alimentación

  1. Suelda la batería al módulo SM5308 (¡respeta la polaridad!)

  2. Conecta la salida del SM5308 al VCC y GND del ESP32-C3

  3. Deja accesible el puerto USB para cargar

Paso 4: Añadir el pulsador

  1. Suelda un extremo del pulsador al GPIO 9

  2. El otro extremo a GND

  3. El ESP32-C3 tiene pull-up interno, así que no necesitas resistencia

Paso 5: Ensamblar en la caja

  1. Coloca todos los componentes dentro de la caja

  2. Los LEDs deben quedar mirando hacia fuera (o hacia una zona translúcida)

  3. Fija todo con pegamento caliente

  4. Deja el puerto USB accesible

  5. El pulsador debe quedar fácilmente accesible desde fuera

Paso 6: Pruebas finales

  1. Carga completamente la batería

  2. Prueba todos los modos de iluminación

  3. Verifica la autonomía

  4. Asegúrate de que el pulsador responde bien

Mejoras y personalizaciones

Como siempre, este es solo el punto de partida. Ideas para mejorarlo:

💡 Mejoras básicas:

  • Añade más LEDs para mayor potencia

  • Usa una batería más grande para más autonomía

  • Añade un difusor impreso en 3D para luz más uniforme

  • Instala un interruptor físico adicional

🚀 Mejoras avanzadas:

  • Añade un sensor de luz para ajuste automático de brillo

  • Integra WiFi para control desde el móvil

  • Añade un display OLED que muestre el nivel de batería

  • Crea una app móvil para controlarla

💬 Comunidad activa:

Únete a mi Telegram para:

  • Resolver dudas sobre el proyecto

  • Compartir tus modificaciones

  • Ver variaciones de otros makers

  • Contenido exclusivo no disponible en otros canales

  • Ayuda personalizada si tienes problemas

👉 Pulsa aquí para unirte al grupo

Conclusión

Esta linterna en una caja es uno de esos proyectos que me encantan: pequeño, útil y personalizable. No requiere mucho tiempo ni presupuesto, pero el resultado es un gadget que realmente usarás.

Lo mejor es que una vez que dominas este proyecto, puedes hacer infinitas variaciones: añadir más funciones, cambiar el tamaño, integrar sensores, etc.

¿Vas a construir tu propia linterna? Me encantaría ver vuestras versiones. Compartid fotos en redes etiquetándome o en el grupo de Telegram. Y si le hacéis alguna mejora chula, ¡contádmelo!

¡Nos vemos en el próximo proyecto! 💡

FAQ - Preguntas Frecuentes

  • ¿Puedo usar otro microcontrolador en lugar del ESP32-C3? Sí, puedes usar cualquier ESP32, Arduino Nano, ATtiny85, etc. Solo adapta el código.

  • ¿Es difícil de montar para un principiante? Es de dificultad media. Si ya has soldado antes, no tendrás problema.

  • ¿Cuánto tiempo lleva construirla? Unas 2-3 horas incluyendo programación y montaje.

  • ¿Puedo hacerla resistente al agua? Sí, usa una caja hermética y sella bien todas las aberturas con silicona.

  • ¿Funciona mientras se carga? Depende del módulo SM5308. Algunos permiten pass-through, otros no.

  • ¿Puedo usar LEDs normales en lugar de WS2812? Sí, pero perderás la capacidad RGB y el control individual. Tendrías luz blanca simple.