¡El badge oficial de DragonJarCON 2025! Un dispositivo NFC programable con pantalla OLED, múltiples LEDs y un reto de hacking integrado. Diseñado para la comunidad de DragonJar
- Características Principales
- Componentes Electrónicos
- Instalación y Configuración
- Uso Básico del Badge
- Resolución del Reto
- Comandos USB CDC
- Estructura del Proyecto
- Contribuciones
- Licencia
- 🎯 Microcontrolador RISC-V: CH32V203G6U6 de 32-bit
- 📱 Pantalla OLED: SSD1306 128x32 píxeles con interfaz I2C
- 📡 NFC Programable: Chip NT3H2111 para escritura de tags NDEF
- 💡 8 LEDs RGB: Sistema de iluminación con múltiples patrones
- 🎮 4 Botones: Navegación intuitiva con UP/DOWN/SELECT/CANCEL
- 🔌 USB CDC: Comunicación serial virtual para programación
- 🐉 Reto de Hacking: Desafío criptográfico integrado
- ⚡ Modo Standalone: Funciona sin conexión USB
| Componente | Especificación | Función |
|---|---|---|
| CH32V203G6U6 | 32-bit RISC-V, 48MHz | Procesador principal del badge |
| Componente | Especificación | Función |
|---|---|---|
| SSD1306 | OLED 128x32, I2C | Pantalla principal para menús y estado |
| NT3H2111 | NFC Tag, I2C | Chip para escritura de datos NDEF |
| Componente | Especificación | Función |
|---|---|---|
| 4x Botones | Tact Switch | Navegación (UP/DOWN/SELECT/CANCEL) |
| 8x LEDs | RGB SMD | Indicadores de estado y efectos visuales |
| USB-C | Conector | Alimentación y comunicación |
Botones:
- PA5: UP
- PA6: DOWN
- PB0: SELECT
- PB1: CANCEL
LEDs:
- PA2: SELECT (cursor)
- PA3: WRITE (escritura)
- PA4: SYSTEM (sistema)
- PA7: EXTRA1
- PA9: EXTRA2
- PA15: EXTRA3
- PB3: EXTRA4
- PB4: EXTRA5
I2C (OLED + NFC):
- PB6: SCL
- PB7: SDA
-
Encender el badge: Conectar cable USB-C
-
Navegación:
- UP/DOWN: Navegar por el menú
- SELECT: Seleccionar opción
- CANCEL: Volver al menú anterior
-
Menú Principal:
- NDEF Website: Escribir URL en tag NFC
- NDEF Text: Escribir mensaje de texto
- NDEF Contact: Escribir información de contacto (vCard)
-
Proceso de Escritura:
- Seleccionar tipo de NDEF
- Confirmar escritura
- Acercar teléfono NFC al badge
- ¡Listo! El tag se escribió correctamente
- Conectar via USB: El badge aparecerá como puerto serial
- Abrir terminal: 115200 baud, 8N1
- Comandos disponibles: Ver sección Comandos USB CDC
El badge incluye un reto de hacking criptográfico que debes resolver:
# Conectar via USB y enviar:
CHALLENGERespuesta: OIMXEXEXDXLXANYLOXMX
# Enviar comando:
LEDS¿Qué observar?: Los LEDs de los "ojos del dragón" (PA2 y PA3) parpadean transmitiendo la clave en código binario.
- Patrón de LEDs:
- LED encendido = bit 1
- LED apagado = bit 0
- Duración: 200ms por bit
- Repetición: 3 veces la secuencia completa
- Método: Cifrado por columnas (transposición columnar) con clave obtenida de los LEDs
- Clave:
MALUMABEBE(transmitida por LEDs) - Mensaje cifrado:
OIMXEXEXDXLXANYLOXMX - Solución:
YOAMOMEDELLIN
Proceso de descifrado:
- Preparar la clave:
MALUMABEBE→ ordenar alfabéticamente:A B E L M U - Asignar números: A=1, B=2, E=3, L=4, M=5, U=6
- Recrear la matriz: Escribir el mensaje cifrado en columnas según el orden de la clave
- Leer por filas: El resultado es el mensaje original
# Enviar la solución:
SOLVE:YOAMOMEDELLINSi resuelves el reto correctamente:
- Todos los LEDs parpadearán en celebración
- El badge mostrará mensaje de éxito
- ¡Eres oficialmente un hacker del DragonJarCON!
# Configurar URL
URI:https://electroniccats.com
# Configurar texto
TEXT:Hola desde DragonJarCON 2025!
# Configurar vCard
VCARD:Tu Nombre|+52-123-456-789|[email protected]# Mostrar mensaje cifrado
CHALLENGE
# Transmitir clave por LEDs
LEDS
# Enviar solución
SOLVE:tu_respuesta_aqui# Mostrar ayuda completa
HELP
# Información del badge
ABOUT
# Estado del sistema
STATUS- IDE: MountRiver
- Programador: WCH-Link o compatible
- Cable USB-C: Para alimentación y programación
- Clonar el repositorio:
git clone https://github.com/ElectronicCats/badge-dragonJar-2025.git
cd badge-dragonJar-2025/firmware/CH32V203G6U6-
Abrir el proyecto:
- Abrir
CH32V203G6U6.wvprojen MoutRiver - O importar el proyecto en tu IDE preferido
- Abrir
-
Compilar:
- Build → Build Project (Ctrl+B)
- El archivo
.hexse generará en la carpetaobj/
-
Programar:
- Conectar el badge via USB-C
- Usar WCH-Link para programar el firmware
- O usar el programador integrado del IDE
badge-dragonJar-2025/
├── firmware/
│ └── CH32V203G6U6/ # Proyecto principal del firmware
│ ├── User/
│ │ ├── Main.c # Código principal
│ │ ├── Main.h # Definiciones principales
│ │ ├── NT3H2111/ # Driver del chip NFC
│ │ ├── SSD1306/ # Driver de la pantalla OLED
│ │ └── USBLIB/ # Librerías USB CDC
│ ├── Peripheral/ # Drivers de periféricos CH32V20x
│ └── Core/ # Core RISC-V
├── hardware/
│ └── badge-dragonJar-2025/ # Diseño de PCB en KiCad
│ ├── *.kicad_pcb # Archivo de PCB
│ ├── *.kicad_sch # Esquemático
│ └── Footprint/ # Librerías de footprints
└── README.md # Este archivo
¡Las contribuciones son bienvenidas! Si quieres mejorar el badge:
- Fork el repositorio
- Crea una rama para tu feature (
git checkout -b feature/nueva-funcionalidad) - Commit tus cambios (
git commit -m 'Agregar nueva funcionalidad') - Push a la rama (
git push origin feature/nueva-funcionalidad) - Abre un Pull Request
- Mejoras en la interfaz OLED
- Nuevos tipos de NDEF
- Efectos LED adicionales
- Optimizaciones de código
- Documentación mejorada
- Nuevos retos de hacking
Este proyecto está bajo la Licencia MIT. Ver el archivo LICENSE para más detalles.
Electronic Cats invierte tiempo y recursos proporcionando este diseño de hardware abierto. ¡Apoya a Electronic Cats y el hardware de código abierto comprando productos de Electronic Cats!
- Electronic Cats Website
- DragonJarCON 2025
- CH32V20x Documentation
- NT3H2111 Datasheet
- SSD1306 OLED Guide
¡Disfruta tu DragonJarCON Badge 2025! 🐉✨