Un día me desperté con una idea en la cabeza: construir mi propio sable láser. ¿Por qué? No tengo ni la menor idea, ni siquiera soy aficionado a Star Wars.
Bueno, cuando digo que no soy aficionado a Star Wars, debo añadir algunos matices. Lo fui.
Lo fui de la trilogía original, de las precuelas, de la saga Dark Forces, de X-Wing Alliance, de Andor y Rogue One… pero el resto de obras recientes, la verdad es que dejan mucho que desear para mi gusto.
En fin, volviendo al tema del sable láser, yo no tenía ni idea de cómo iba esto, así que usé las primeras semanas para documentarme: Procesadores, tipos de LED, empuñaduras, fabricantes, chasis, piezas, altavoces… todo un mundo por descubrir, me encanta.
COMPONENTES
Todavía no tenía claro cómo iba a ser la empuñadura en cuestiones de estilo, pero al parecer había algunos estándares en cuanto a medidas y distancias, así que opté por imprimir unos prototipos de un chasis modular, que me permitiría variar ligeramente la disposición de los elementos en función de la estructura de la empuñadura.
Lo que sí tenía claro es que quería que el color de la espada dependiese del cristal introducido, y para ello, crearía varios cristales de colores que contuviesen una etiqueta NFC que indicase el color concreto a utilizar.

El chasis modular que utilicé contaba con espacio para la batería, la placa controladora, el botón de encendido/apagado, la cámara del cristal y el conector del emisor, aunque a lo largo del proceso sufrió varias modificaciones para poder acomodar mis componentes extra.
La placa que elegí fue una ProffieBoard, ya que era una placa basada en Arduino, con sensor de movimiento y chip de audio. Pero lo más importante, de Software Libre, y cuyo sistema operativo podría modificar a mi antojo (tenía claro que si quería meterme en el tema del cristal NFC, modificar el sistema operativo iba a ser algo que tendría que hacer).
Para el tema del NFC, elegí unas etiquetas NTAG213 de 5×5 mm, ideales para integrar en el interior de los cristales. Y para el módulo de lectura, un PN532 en miniatura que podía conectarse con la placa mediante I2C. No sabía si la antena tan pequeña que traía sería suficiente como para leer el tag del cristal a esa distancia, pero llegados a este punto, dadas las limitaciones de espacio, no tenía muchas más opciones disponibles.
Finalmente había llegado el momento de empezar a comprar las piezas, y eran un montón: tiras LED de alta densidad, tubo de policarbonato, conectores circulares, cables de grosores adecuados, contactos de la batería, altavoz, botón, empuñadura, placa controladora, módulo NFC, tags, batería… sabía que la aventura no iba a ser barata, y empezaba a entender los precios de las espadas comerciales que se veían por internet.
PROGRAMACIÓN
Mientras esperaba la llegada de las piezas, empecé a programar la ProffieBoard en el Arduino IDE, así un poco a ciegas, sin poder trastear con ella.

Me descargué el ProffieOS y escribí un módulo personalizado (aquí los llaman props) para tratar el tema del NFC.
La idea es que la ProffieBoard lea los datos del tag contenido en el cristal a través del módulo NFC y en función de la información que se encuentre en su interior, configure el color del filo y el Preset a utilizar.
La información se almacenará a partir de la página 0x04 del NTAG213, la primera página en memoria de usuario, ya que las dos primeras (0x00 y 0x01) contienen el UID de la etiqueta, y la tercera y la cuarta están reservadas para datos del sistema. Cada página cuenta con una capacidad de 4 bytes. Utilizo la página 4 para almacenar el color en formato RGB (3 bytes) y la longitud de la cadena de caracteres (1 Byte) que contiene el nombre del preset.
Las páginas 0x05 y 0x06 (8 bytes) serán destinadas a almacenar la cadena de caracteres que contiene el nombre del preset.
Así mismo, para hacer más llevadera la espera, me puse a programar una pequeña aplicación en Python que me permitía escribir la información de los cristales de forma cómoda, sin necesidad de acceder a las páginas de la NTAG a bajo nivel. Y ya puestos, se me ocurrió también añadirle a los datos una especie de firma personal en forma de XOR, y un campo extra para especificar el propietario o la persona a la que está vinculada el cristal en las páginas 0x7, 0x8 y 0x9 de la etiqueta.

Esta aplicación hace uso de un lector NFC ACR122U conectado por USB para realizar los procesos de lectura y escritura del cristal.
Una vez escrito el cristal, al introducirlo en la cámara donde se encuentra la antena NFC de la empuñadura, esta información es leída por el módulo y transmitida a la ProffieBoard a través del protocolo I2C, quien, haciendo uso de mi prop, permite para cambiar el Preset actual y modificar el color del filo de manera acorde a la información leída. Al introducir el cristal, éste se iluminará de manera pulsante durante unos segundos, confirmando la correcta lectura del mismo, y tanto el Preset que contiene como el color, quedarán almacenados en el fichero .ini de la tarjeta SD de la ProffieBoard.
En mi configuración por defecto incluí dos presets para probar el funcionamiento, uno de ellos con un comportamiento básico (default) y otro un poco más elaborado (subdued) que obtuve de la biblioteca de estilos pública de Fett265.
ENSAMBLADO
Me imprimí en 3D en filamento un prototipo del chasis de la espada, sin embargo, las partes visibles requerían un mejor acabado, por lo que acabé contratando el servicio de fabricación de la universidad para imprimir estas piezas en resina (Más información sobre ello en la siguiente sección).
Cuando llegaron las piezas, instalé el firmware personalizado que había estado escribiendo en la ProffieBoard y comencé el montaje. El módulo de NFC no había llegado todavía, así que comenté esa funcionalidad en mi firmware para que no molestase de momento.

Soldé la batería y la alimentación de los LEDs a la placa con cable de categoría 20 awg, ya que tengo pensado añadir, no una, sino dos tiras LED en el filo, y necesitaba un cable capaz de soportar esa carga. El resto de componentes (altavoz, botón y línea de datos de los LEDs) los soldé con cables más finos y manejables. Tuve que tener especial cuidado con la longitud y rigidez de los cables, porque el espacio para trabajar era extremadamente pequeño. De hecho, por aquel entonces no sabía muy bien cómo iba a hacer cuando tuviera que añadir el módulo NFC, el conector del botón y el LED que ilumina la cámara del cristal.
Encender la espada por primera vez y escucharla sonar fue todo un alivio, ya que me permitía confirmar que tanto la programación como la electrónica estaban funcionando correctamente.
MÓDULO NFC
Finalmente llegó el Módulo NFC y aquí empezaron los problemas. Inicialmente pensaba ubicarlo en la sección del chasis donde se encuentra botón de encendido/apagado, pero el espacio allí resultó ser bastante limitado, y aunque el módulo cabía perfectamente, no dejaba prácticamente sitio para pasar los cables y el resto de elementos.
Tuve que reubicarlo al mismo soporte de la ProffieBoard. Para ello, tuve que hacerle unas modificaciones al modelo del soporte de manera que pudiese contener dos placas y reimprimirlo.

Pero ese era el menor de los problemas. ¿Recordáis que estuve programando a ciegas mientras me llegaba el módulo? Pues bien, no lo recomiendo… eso de no poder probar lo que estás haciendo no suele dar buenos resultados.
Mi idea era que al colocar un cristal, un LED que ilumina la cámara se encendiese durante unos segundos en el color del cristal recién añadido. Ese LED, en mi caso estaba conectado en serie con el resto de la tira LED del filo, pero lo que no sabía es que la ProffieBoard cortaba a nivel físico la corriente en el filo cuando éste está apagado, y por tanto, por mucho que yo intentase encender ese primer LED de la cadena, nunca iba a conseguirlo.
La solución tuvo que ser a nivel de hardware. Tuve que recortar el LED y conectarlo de forma independiente a otro pin de datos (el 4 concretamente), de forma que se comportase como un segundo filo a ojos de la placa y, cómo no, rehacer el código y la configuración de mi prop para crear un nuevo estilo para esa nuevo LED independiente. (La imagen del cableado que se ve en la parte superior de este artículo ya muestra esta nueva configuración).
También refactoricé la lógica de lectura del módulo NFC para arreglar un problemilla con el salvado de los presets al cambiar de cristal, y ya de paso, por ahorrar energía, hice que el módulo se desconectase al encender el filo y se volviese a activar al apagarlo, entre otras cosas.

Todo esto me tuvo una noche sin dormir hasta las 2:00 de la mañana, pero valió la pena. Mi mayor temor se disipó al comprobar que la pequeña antena era capaz de leer las pequeñas NTAGs a través de 5 mm de plástico (siempre y cuando la orientación fuese correcta), así que intuía que también sería capaz de leerla a través de la resina.
PIEZAS DE RESINA
Mi idea original era que el compartimento de la batería, el chasis principal, y el soporte de la ProffieBoard y el módulo NFC fuesen impresas en filamento de plástico, pero que la pieza donde se ancla el botón, la cámara del cristal, la pieza que sujeta el emisor y el conector decorativo, al ser partes que serían visibles, se imprimirían en resina.
No obstante, al final me gustó la calidad de las piezas de resina, que decidí prescindir de las piezas en plástico y encargarlas todas en resina.
Mi impresora estaba en las últimas… la lámina fep había perdido transparencia, (Ya la había cambiado varias veces, al igual que la LCD), el plato de impresión había perdido adherencia y me daba mucha pereza repararla. Así que, como mencionaba anteriormente, contraté el servicio de fabricación de la universidad. Les dije que quería que el material fuese algo elástico ya que posiblemente tendría que soportar golpes, así que me recomendaron usar un tipo de resina más elástica y la verdad es que fue muy buena idea.

Algunas piezas las necesitaba con cierta transparencia, como por ejemplo la base del conector decorativo, o la parte superior de la cámara de cristal, que contenía un pequeño cristal de enfoque, así que ya puestos, utilizamos la misma resina translúcida para todas las piezas, aunque luego tuviese que pintar de negro aquellas que debían ser opacas.
Los prototipos de los cristales, por la misma razón, también los hice en resina transparente, aunque tan solo iban a ser usados para crear los moldes de silicona.
Algunas de las piezas salieron defectuosas y las tuvieron que repetir, y yo creo que me las cobraron también, a pesar de no haber sido problema mío, porque la factura final fue considerablemente superior a lo que me habían dicho inicialmente. No quedé demasiado contento con el servicio ofrecido, la verdad.
MOLDES DE SILICONA
Los cristales no podía imprimirlos en 3D, ya que debían llevar en su interior el NTAG NFC, por lo que debía fabricarlos mediante moldes.
Utilicé los prototipos impresos en resina para crear un molde de silicona de dos mitades. Mi intención era rellenar ambas mitades con resina, y cuando ésta comenzase a gelificar, colocar el NTAG en el medio y colocar un molde sobre el otro con la esperanza de que la resina estuviese lo suficientemente dura como para que no se desparramase por la apertura entre ambos moldes.

El primer intento de molde salió mal, ya que olvidé aplicar desmoldador, y una mitad del molde se pegó a la otra. Intenté salvarlo cortándolo por la mitad pero el acabado fue bastante malo, así que lo repetí de nuevo.
El segundo también falló, la idea del desmoldador no sirvió de nada en absoluto. Finalmente decidí aplicar una capa de jabón del que se usa para lavarse las manos entre ambas capas del molde y, como se puede ver en la imagen, esta vez sí funcionó.
CIRCUITO PROTECTOR DE BATERÍA
Al principio instalé un BMS (Battery Management System) barato, para proteger la batería contra sobrecargas y sobredescargas, y no funcionó. Al parecer, este tipo de BMS baratos, cuando activan la protección (al quitar la batería), requieren tensión para volver a reactivarse, y dado que mi espada no tiene puerto de carga esto no era posible.
Tuve que comprar unos algo más caros. Los instalé y parece que funcionaban bien, sin embargo, echando cuentas… estos BMS solo eran capaces de suministrar 10 amperios, y según mis cálculos, si usaba dos tiras LED en el filo en lugar de una, iba a necesitar unos 20 para tener algo de margen, así que me pasé un día entero buscando BMS de 1s 20 A, es decir, para una sola batería y capaces de proporcionar los 20 amperios que necesitaba de manera continua.

Encontré varios modelos que cumplían con esas especificaciones, pero tan solo uno que, además, tuviera un tamaño lo suficientemente pequeño para caber dentro del chasis de la espada, por lo que no me quedó más remedio que comprar ese, el PCM-L01S20-D40.
Desafortunadamente solo lo encontré en dos factorías de china (donde los producían) y en un revendedor americano. Tuve que contactar con ellos directamente y convencerles de que me hiciesen un envío y al final acabamos acordando 10 unidades (aunque solo necesitaba 2). Los gastos de envío fueron tremendos, pero llegados a este punto… no tenía muchas más opciones.
CONSTRUYENDO EL FILO
Para la electrónica del filo decidí usar dos tiras LED RGB WS2812 direccionables con una densidad de 144 píxeles por metro.
Cada una de las tiras eran realmente dos tiras soldadas entre si, y eso hacía que los dos LEDs del centro estuviesen un poco más separados entre ellos que el resto, así que des-soldé una de las tiras y la volví a soldar intentando mantener una distancia homogénea entre los LEDs. La otra tira la dejé tal y como venía, porque haciendo pruebas me di cuenta de que una vez instalado el difusor del filo tampoco se llega a apreciar.
El filo, era un tubo blanco de policarbonato hueco con difusor y punta redondeada. Como el filo inicialmente estaba preparado para espadas RGB, la punta no venía hueca, sino que contaba con un reflector interno para reflejar la luz de nuevo hacia el filo, así que tuve que desmontar la punta, vaciarla e instalarla de nuevo, de forma que tuviese sitio en su interior para alojar los LEDs del extremo de la tira.

Como mi filo era de 77 cm, al recortar la tira LED me quedó con 109 píxeles por cada lado, que sumados a los 6 del emisor hacen un total de 115 píxeles lógicos a direccionar por el software. Al ser dos tiras LED, habría un total de 224 LEDs entre el filo y la empuñadura (más otro extra en la cámara del cristal).
Las tiras LED van forradas por un separador de espuma que impide que tengan holgura dentro del tubo. Este separador, a su vez, va envuelto por el difusor.
La conexión del filo con la empuñadura se realiza mediante un conector circular que va soldado directamente al extremo inferior de las tiras LED, y alojado en una pieza que imprimí en filamento PLA blanco.
MOLDEANDO LOS CRISTALES
En la primera prueba que hice, utilicé nueve mililitros de resina epoxi: seis de resina y tres de endurecedor. Añadí dos gotas de colorante.
Posteriormente desgasifiqué durante 10 minutos y dejé gelificando durante 3 horas en los moldes, antes de colocar los chips. No salió bien. Al parecer, algo de resina se desplazó al unir las dos partes del molde, aparecieron burbujas en la parte superior, y lo peor de todo: el chip se desplazó y dejó de estar en una posición paralela a la antena, volviéndolo inservible.
En la segunda prueba aumenté los tiempos de desgasificación y gelificación a 30 minutos y 4 horas respectivamente y la cosa mejoró, aunque todavía apareció alguna burbuja, y los chips, aunque quedaron paralelos, se hundieron un poco debido a la gravedad. Lo malo de este proceso es que como la resina tarda en endurecer unas 24 horas, solo podía hacer una prueba al día.

Al día siguiente, ya bastante confiado, utilicé unos tiempos de 30 minutos de desgasificación y 5 horas de gelificación. Dándole la vuelta a los moldes a los 30, 40 y 50 minutos para paliar los efectos de la gravedad. Estos cristales quedaron más o menos bien, y sin burbujas.
Y ya como prueba final, en lugar de darles la vuelta cada poco, lo que hice fue colocar dos hilos de nylon pegados al molde de tal forma que sujetasen los chips en su sitio, pero este método no dio resultados demasiado buenos, así que volví al anterior.
CONCLUSIONES
La construcción de esta espada de luz ha sido un proyecto muy interesante que ha requerido conocimientos de varias disciplinas: electrónica, mecánica, modelado 3D, desarrollo de software, impresión 3D, modelado en resina…
El proyecto me ha llevado aproximadamente dos meses, entre diseño, investigación, búsqueda de piezas, programación, modelado e impresión del chasis, entre otras tareas. El coste total hasta el momento ha sido de 625,54 €, incluyendo gastos de infraestructura como una estación de soldadura, un polímetro, cables y otros consumibles. Aun así, ha sido un proceso muy entretenido y el resultado, muy satisfactorio.
He dejado en GitHub todo el código generado para el proyecto ProffieKyberNFC, que contiene tanto el programa de escritura de los cristales como el prop personalizado para el ProffieOS.
Como proyecto futuro, tengo pensado construir una espada gemela, de tal manera que pueda conectar una con otra a través de sus bases y formar un sable doble estilo el de Darth Maul o Cal Kestis. Ya sabéis que el bastón siempre ha sido mi arma predilecta, desde que jugué al Soul Calibur 2 manejando a Kilik.