Te presento el prototipo 3 de The Open Music Box: un reproductor de audio para niños controlado con tarjetas NFC y, sobre todo, un sistema completo y open source que cualquiera puede reproducir a partir de una Raspberry Pi.
Pero antes de abrir la caja, una palabra sobre el camino recorrido. En el artículo anterior te enseñaba el segundo prototipo y su gran novedad, las playlists, que mi hijo adoraba recorrer con los dos botones del frontal. Quedaba un punto por mejorar: la carcasa era demasiado compacta para alojar una batería. Siempre enchufado a la corriente y uno o dos minutos de espera en cada arranque. El v3 continúa esa mejora continua: una versión más rematada, lista para sustituir a la anterior y, esta vez, para compartirla.

Una interfaz para gestionar el contenido
En el v2, añadir un cuento implicaba conectarse por SSH, dejar los archivos MP3 en la carpeta correcta, lanzar un script para asociar las tarjetas a las nuevas playlists y reiniciar el servicio. No precisamente compatible con un uso familiar...
Así que desarrollé una interfaz web servida directamente por la Raspberry Pi. Desde cualquier teléfono u ordenador en la misma red puedes crear playlists, subir archivos de audio y asociar una tarjeta NFC a una playlist. Sin terminal, sin manipular archivos.

Todo lo que hace falta hacer, puedes hacerlo desde esta pantalla. La caja refleja al instante lo que cambia desde el teléfono, y al revés.

La subida se hace arrastrando y soltando, archivo por archivo, con una barra de progreso.

La asociación de un tag NFC sigue la misma lógica: lanzas el modo asociación desde la interfaz, presentas la tarjeta al lector y queda enlazada con la playlist. Se acabó manipular identificadores a mano.

Una batería para hacerla portátil
En el lado hardware, el trabajo principal del v3 era meter por fin una batería dentro de la carcasa para dejar de depender de la corriente. Así que rediseñé el envoltorio partiendo de la batería: dimensionarla primero y organizar todo lo demás a su alrededor después.
Dentro, una batería LiPo está conectada a una pequeña placa que se carga por USB y pasa a modo autónomo cuando se desenchufa. En el papel, eso resolvía el problema: se acabaron los cables y la espera al arranque.
Salvo que, en el uso real, el cambio entre alimentación USB y batería provoca un microcorte eléctrico que hace que la Raspberry Pi se reinicie. Resultado: hemos ganado en movilidad, pero el retraso de uno o dos minutos sigue ahí.
No es un drama, te organizas a su alrededor, pero es bastante frustrante. He probado a añadir condensadores para suavizar la corriente, pero no soy electrónico y este problema sigue ahí hasta el día de hoy.
Botones para historias interactivas
Durante el diseño del v3 empezaba a darle vueltas a historias interactivas: un relato en audio donde el niño elige cómo sigue pulsando un botón. Para eso, dos botones en el frontal ya no bastaban, hacían falta cuatro para tener el máximo de interactividad.
Así que coloqué esos cuatro botones de colores en la parte de arriba de la carcasa. Es además una buena oportunidad para mejorar la ergonomía de paso: pulsar desde arriba es más cómodo para la interacción y evita que la caja se mueva al apretarlos.
El formato de las historias interactivas todavía está en obras, pero la carcasa ya está pensada para acogerlas el día que esté listo.
Fabricar la carcasa
La carcasa final mantiene la misma lógica que el v2: una estructura impresa en 3D pensada como el esqueleto de un cubo y planchas de MDF cortadas a láser para las caras. Lo que cambia: las dimensiones, las aperturas para los nuevos botones de arriba, un acceso a la batería por abajo sin tener que desmontarlo todo y una estructura más afinada.
Para conseguir imprimir esta estructura cúbica de una sola pieza, hizo falta bastante calibración. El reto eran los puentes largos de una pared a otra: tenían que apoyarse limpiamente sin descolgarse, y los soportes tenían que retirarse después sin dejar marcas.

Muchas impresiones sacrificadas antes de llegar a un resultado decente.

Una vez impresa la estructura, quedaba el otro ejercicio: hacer encajar las cotas entre las placas internas que sostienen los componentes, las piezas impresas y los paneles de madera cortados a láser. Tres técnicas de fabricación, tres precisiones distintas, que hay que alinear. Salí de ahí con un montón de cosas aprendidas sobre la calibración de una impresora 3D y sobre los ajustes que realmente influyen en la calidad final.
Reproducir el sistema
El prototipo 3 funciona, está en marcha cada día en casa. Quedaba una última etapa para que se convirtiera de verdad en un proyecto: hacerlo reproducible.
Por ahora lo que está disponible es sobre todo la aplicación: el código es funcional en GitHub y un script de configuración prepara automáticamente la Raspberry Pi, desde la instalación de dependencias hasta el arranque del servicio. Licencia no comercial, libre para uso personal, educativo y de modificación.
En el lado de la carcasa, los archivos STL y la BOM todavía se están rematando. Prefiero publicarlos cuando estén realmente listos para seguirse. Va llegando, y respondo a las preguntas que se planteen en las issues.
Y después
Esta versión Raspberry Pi es un punto de llegada, pero también un punto de inflexión. En el uso diario, es cara, consume mucho, arranca lento y necesita todo un sistema operativo para lo que sigue siendo, en el fondo, un reproductor de audio controlado por NFC. Es demasiado para lo que hace. He pasado mucho (demasiado) tiempo en esta prueba de concepto, y es hora de pasar página hacia componentes más adecuados.
Por eso el repo de Raspberry Pi está marcado como deprecado en GitHub: lo que viene me está absorbiendo toda la energía ahora mismo, y lo presentaré en el próximo artículo.
Dicho esto, esta versión sigue siendo open source, disponible y utilizable por quien quiera tomarla. El código está ahí, funcional. Los archivos de la carcasa irán llegando. Si te fabricas la tuya, dímelo.