Estudio de caso n.º 2: un proyecto de hardware y software de complejidad media

El cliente quería un prototipo de dispositivo portátil con ciertas similitudes a los teléfonos móviles, como pantalla táctil, Wi‑Fi, batería, carga por USB‑C y grabación de audio. Incluso consideró construir primero un prototipo utilizando un teléfono móvil, pero resultó que un hardware completamente personalizado y a medida sería mucho mejor para las reuniones con posibles inversionistas.

Aunque usar un teléfono móvil o una tableta pueda parecer una forma rápida y sencilla de montar un dispositivo prototipo, tiene muchas desventajas. Un enredo de cables sueltos, cinta adhesiva y un teléfono a veces no es lo suficientemente profesional como para mostrarlo. Además, no es fácil conseguir que un teléfono se comporte de otra manera; por ejemplo, que mantenga la pantalla encendida de forma constante cuando sea necesario, que no muestre contenido irrelevante como iconos de otras aplicaciones o menús que no necesitamos, solicitudes de actualización de software, notificaciones o que evite largos tiempos de arranque. Un teléfono inteligente también consume mucha energía, ya que utiliza hardware potente con grandes cantidades de memoria que muy probablemente no necesitamos.

Vea a continuación la primera versión del PCB prototipo: un microcontrolador STM32 con SDRAM de 100 MHz en la parte superior izquierda, un módulo Wi‑Fi ESP32 en la parte superior derecha, un conector para LCD en la parte inferior y muchos componentes electrónicos entre ellos. Requirió 70 horas de trabajo completamente manual en 2021, mucho antes de que la IA irrumpiera. Hoy en día sería significativamente más rápido, gracias a mejores revisiones de esquemas, una mejor investigación de componentes electrónicos y, en cierto grado, un autoruteo mejorado.

Acababa de empezar a utilizar un fabricante chino llamado JLCPCB. Ofrecían fabricar la PCB, suministrar los componentes electrónicos y montar todo el conjunto. Utilizar un fabricante local europeo por patriotismo habría costado entre el doble y el triple, y eso no ha cambiado. En aquel entonces no proporcionaban algunos componentes clave, como se ve en la imagen de abajo, así que esos los soldé a mano.

El siguiente paso fue diseñar una carcasa de plástico para mantener juntos la PCB, la pantalla LCD y la batería como un dispositivo de mano. En aquel momento no tenía mucha experiencia en diseño 3D, así que primero probé FreeCAD. Construir una forma compleja haciendo unos cientos de clics no era lo mío, especialmente cuando una modificación importante significaba rehacerlo todo desde cero. Así fue como pasé a OpenSCAD, una herramienta de diseño 3D sencilla pero sorprendente, en la que describimos la forma 3D con texto simple, similar a un lenguaje de programación. Por ejemplo: definir un cubo de 2 cm de lado en las coordenadas X, Y, Z y una esfera con un radio de 3 cm en las coordenadas X2, Y2, Z2. Al principio resulta extraño, pero con el tiempo se vuelve más potente de lo que uno imaginaba. Describir la carcasa para la pantalla táctil usando parámetros —por ejemplo, LCD_diagonal = 5 pulgadas— nos permite, más adelante, obtener una carcasa similar para una LCD de 4 pulgadas cambiando un solo parámetro en lugar de hacer cientos de clics.

Finalmente, eso fue exactamente lo que ocurrió: en cuanto mi cliente probó el primer prototipo, su primer comentario fue que el dispositivo de 5" le resultaba un poco grande y quería una versión de 4". Debido a otros comentarios, de todos modos iba a diseñar un segundo prototipo. Resultó que no necesitábamos el cargador inalámbrico ni la ranura para tarjeta SD. Tras eliminar varios componentes electrónicos y reorganizar la placa para la pantalla de 4" y las necesidades mecánicas de una batería relativamente grande, obtuve el segundo prototipo.

En general, un primer prototipo funciona bastante bien la mayoría de las veces, pero para obtener más resultados de prueba y comentarios valiosos del cliente rápidamente, es importante empezar por algún lado, sabiendo que la primera versión sin duda no será perfecta. Una vez que todos los componentes principales funcionan bien (CPU y memoria, Wi‑Fi, pantalla LCD y sensor táctil), reorganizar la PCB es mucho menos doloroso que empezar desde cero. Construir una carcasa utilizable también es una tarea iterativa: no puede ser perfecta a la primera.

Hay una historia interesante sobre Steve Jobs. Cuando rechazó el primer prototipo del iPod porque quería que fuera más pequeño, los ingenieros afirmaron que era imposible. Entonces dejó caer el dispositivo en el agua y todos vieron cómo salían burbujas de aire a la superficie. De nuevo dijo: “Háganlo más pequeño”. Como se puede ver, aquí hay bastante espacio libre, y eso está bien. Un prototipo no tiene que ser perfecto, porque eso sería demasiado costoso. Los ingenieros deben encontrar un equilibrio adecuado entre la perfección y un estado demasiado inacabado. El dispositivo tiene que convencer a los inversionistas de seguir adelante, pero al mismo tiempo no puede ser tan caro que haga demasiado arriesgado iniciar el proyecto.

Este dispositivo sin duda liberaría muchas burbujas si se arrojara al agua. Por otro lado, crearlo desde cero fue un proceso bastante rápido: solo unos pocos meses para un ingeniero que se encargó él solo de toda la electrónica, el firmware y el diseño de la carcasa 3D.

Además de la PCB y la carcasa, otra tarea importante es el desarrollo del firmware. Hice todo eso durante las tres semanas de plazo mientras el fabricante chino fabricaba la PCB, la ensamblaba y la enviaba a Europa. Podría haber elegido Linux embebido para simplificar las cosas utilizando algún framework de interfaz popular. En cambio, opté por LVGL (Light and Versatile Graphics Library), que no requiere sistema operativo y es extremadamente sencillo. No es tan vistoso como una interfaz de iOS o Android, pero arranca extremadamente rápido: pulsas el botón físico y, cuando lo sueltas, la pantalla principal ya está visible y el dispositivo está listo para usar.

El cliente quedó satisfecho con el segundo prototipo y solo pidió algunos cambios menores. Lamentablemente, no consiguió convencer a los inversionistas, principalmente porque se centró en un único inversionista concreto; es un negocio arriesgado cuando no se tienen alternativas.

¿Cuál es el rango de presupuesto para un dispositivo prototipo como este? El proceso totalmente manual en 2021 costó alrededor de 10.000 EUR. Hoy en día sería menos, aproximadamente la mitad. La creación del esquema sería más rápida y la programación del firmware requeriría solo una fracción del trabajo manual. La IA está logrando hitos increíbles cada vez con más frecuencia. Si vemos una gran mejora en las herramientas de diseño de PCB (convertir esquemas en pistas de cobre reales), el esfuerzo necesario será aún menor.