Skip to content

¡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

Notifications You must be signed in to change notification settings

ElectronicCats/badge-dragonJar-2025

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DragonJarCON Badge 2025 🐉

GitHub stars GitHub forks License

¡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

📋 Tabla de Contenidos

✨ Características Principales

  • 🎯 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

🔧 Componentes Electrónicos

Microcontrolador Principal

Componente Especificación Función
CH32V203G6U6 32-bit RISC-V, 48MHz Procesador principal del badge

Pantalla y Comunicación

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

Entrada y Salida

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

Pines de Conexió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

🎮 Uso Básico del Badge

Modo Standalone (Sin USB)

  1. Encender el badge: Conectar cable USB-C

  2. Navegación:

    • UP/DOWN: Navegar por el menú
    • SELECT: Seleccionar opción
    • CANCEL: Volver al menú anterior
  3. Menú Principal:

    • NDEF Website: Escribir URL en tag NFC
    • NDEF Text: Escribir mensaje de texto
    • NDEF Contact: Escribir información de contacto (vCard)
  4. Proceso de Escritura:

    • Seleccionar tipo de NDEF
    • Confirmar escritura
    • Acercar teléfono NFC al badge
    • ¡Listo! El tag se escribió correctamente

Modo USB CDC (Con Terminal)

  1. Conectar via USB: El badge aparecerá como puerto serial
  2. Abrir terminal: 115200 baud, 8N1
  3. Comandos disponibles: Ver sección Comandos USB CDC

🧩 Resolución del Reto

El Desafío del Dragón 🐉

El badge incluye un reto de hacking criptográfico que debes resolver:

Paso 1: Obtener el Mensaje Cifrado

# Conectar via USB y enviar:
CHALLENGE

Respuesta: OIMXEXEXDXLXANYLOXMX

Paso 2: Observar la Transmisión LED

# Enviar comando:
LEDS

¿Qué observar?: Los LEDs de los "ojos del dragón" (PA2 y PA3) parpadean transmitiendo la clave en código binario.

Paso 3: Decodificar la Clave

  • Patrón de LEDs:
    • LED encendido = bit 1
    • LED apagado = bit 0
  • Duración: 200ms por bit
  • Repetición: 3 veces la secuencia completa

Paso 4: Resolver el Cifrado

  • 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:

  1. Preparar la clave: MALUMABEBE → ordenar alfabéticamente: A B E L M U
  2. Asignar números: A=1, B=2, E=3, L=4, M=5, U=6
  3. Recrear la matriz: Escribir el mensaje cifrado en columnas según el orden de la clave
  4. Leer por filas: El resultado es el mensaje original

Paso 5: Enviar la Respuesta

# Enviar la solución:
SOLVE:YOAMOMEDELLIN

🎉 ¡Felicidades!

Si resuelves el reto correctamente:

  • Todos los LEDs parpadearán en celebración
  • El badge mostrará mensaje de éxito
  • ¡Eres oficialmente un hacker del DragonJarCON!

💻 Comandos USB CDC

Comandos NDEF

# Configurar URL
URI:https://electroniccats.com

# Configurar texto
TEXT:Hola desde DragonJarCON 2025!

# Configurar vCard
VCARD:Tu Nombre|+52-123-456-789|[email protected]

Comandos del Reto

# Mostrar mensaje cifrado
CHALLENGE

# Transmitir clave por LEDs
LEDS

# Enviar solución
SOLVE:tu_respuesta_aqui

Comandos del Sistema

# Mostrar ayuda completa
HELP

# Información del badge
ABOUT

# Estado del sistema
STATUS

🚀 Instalación y Configuración

Requisitos Previos

  • IDE: MountRiver
  • Programador: WCH-Link o compatible
  • Cable USB-C: Para alimentación y programación

Compilación del Firmware

  1. Clonar el repositorio:
git clone https://github.com/ElectronicCats/badge-dragonJar-2025.git
cd badge-dragonJar-2025/firmware/CH32V203G6U6
  1. Abrir el proyecto:

    • Abrir CH32V203G6U6.wvproj en MoutRiver
    • O importar el proyecto en tu IDE preferido
  2. Compilar:

    • Build → Build Project (Ctrl+B)
    • El archivo .hex se generará en la carpeta obj/
  3. Programar:

    • Conectar el badge via USB-C
    • Usar WCH-Link para programar el firmware
    • O usar el programador integrado del IDE

📁 Estructura del Proyecto

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

🤝 Contribuciones

¡Las contribuciones son bienvenidas! Si quieres mejorar el badge:

  1. Fork el repositorio
  2. Crea una rama para tu feature (git checkout -b feature/nueva-funcionalidad)
  3. Commit tus cambios (git commit -m 'Agregar nueva funcionalidad')
  4. Push a la rama (git push origin feature/nueva-funcionalidad)
  5. Abre un Pull Request

Áreas de Contribución

  • Mejoras en la interfaz OLED
  • Nuevos tipos de NDEF
  • Efectos LED adicionales
  • Optimizaciones de código
  • Documentación mejorada
  • Nuevos retos de hacking

📄 Licencia

Este proyecto está bajo la Licencia MIT. Ver el archivo LICENSE para más detalles.


🏆 Maintainer

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!


🔗 Enlaces Útiles


¡Disfruta tu DragonJarCON Badge 2025! 🐉✨

About

¡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

Resources

Stars

Watchers

Forks

Contributors 6