- Proyecto para crear una pequeña pantalla que muestra en tiempo real la información de llegada de trenes de BART, recreando la atmósfera de los letreros reales del andén
- Configuración de hardware con Seeed Studio XIAO ESP32C6 y una pantalla OLED de caracteres roja 20x4
- En lugar de procesar directamente los datos de la API GTFS Realtime, se creó un servidor intermedio (middleware) que los convierte a una API simplificada para que luego el ESP32 la consulte
- Se añadieron detalles como etiquetas y tornillos a una carcasa hecha con impresión 3D para lograr una apariencia similar a la de un letrero real de BART
- El producto final se instala debajo de una repisa sobre el monitor y ofrece hora de llegada, mensajes de seguridad y reloj, recreando la sensación de estar en un andén incluso en interiores
Configuración de hardware
- El proyecto está compuesto por Seeed Studio XIAO ESP32C6, SPI Red 20x4 Character OLED Display y SparkFun Logic Level Converter
- El ESP32C6 se encarga de controlar la pantalla y recopilar la información de llegada de BART
- La compatibilidad de voltaje se asegura mediante el convertidor de nivel lógico
- Se eligió el módulo OLED rojo de BuyDisplay para reproducir la sensación de los letreros reales de los andenes de BART
- Aunque el PCB era un poco más grande que la pantalla y afectó el tamaño final, se aceptó por la satisfacción visual que ofrecía
- Todas las piezas se soldaron en una perfboard y se conectaron con pines de encabezado, lo que permite montarlas directamente en la pantalla en forma de cartucho
Estructura del firmware
- La API oficial de BART usa el formato GTFS Realtime, desarrollado en colaboración con Google
- Como era difícil parsearlo directamente en el ESP32, se construyó un servidor intermedio (middleware)
- El servidor obtiene los datos GTFS y extrae solo la información necesaria
- Luego los convierte a una API simplificada que el ESP32 puede consultar
- El código relacionado está publicado en el repositorio de GitHub (filbot/bart-proxy)
Demo y ensamblaje
- Se ensamblaron todas las piezas y se probó una versión inicial de la carcasa impresa en 3D
- En el video de demostración, el producto terminado antes de la pintura funciona recibiendo datos en tiempo real
- Incluye el proceso de ensamblaje para verificar el tamaño real y las proporciones
Acabado y apariencia final
- Las piezas impresas en 3D se terminaron con lijado, imprimación y pintura
- El logo del fabricante real de los letreros de BART y el número del andén se imprimieron con una impresora de etiquetas Brother y se colocaron en la carcasa
- Los archivos del modelo 3D terminado pueden descargarse desde Makerworld
Resultado final
- El producto terminado se fija con cinta doble cara debajo de una repisa metálica sobre el monitor
- La pantalla muestra horas de llegada de los trenes, la hora actual y mensajes de seguridad de BART
- Aunque la información en tiempo real también puede consultarse en la web, una pantalla en miniatura con forma de andén real ofrece una experiencia de uso más divertida
1 comentarios
Comentarios de Hacker News
Es un proyecto realmente genial. Antes yo también salía de casa según el horario de la estación, pero pronto me di cuenta de que eso no tenía sentido
Simplemente salir cuando me resulta cómodo elimina el estrés de planear, y aunque el tiempo de espera promedio aumente un poco, me deja mucho más tranquilo
En días de alrededor de -20 °C, esperar 1 minuto o 7 minutos de verdad hace una gran diferencia
Ver también este artículo en Medium
En ese tiempo podía hacer flashcards de SSR o leer un libro para centrarme
Especialmente la estación South San Francisco tiene techos altos y hasta se oyen palomas, así que casi se siente como una catedral
Yo también hice algo parecido. Es un proyecto de pantalla a color usando datos de transporte de Suiza, y hasta lo convertí en producto
Ver el artículo del proyecto y el sitio del producto
Usa datos públicos proporcionados por el gobierno en un ESP32-S3
El nivel de acabado es realmente muy bueno. La elección de la pantalla también es excelente
Si quieres reducir el middleware, una opción sería usar un LLM moderno para convertir el lenguaje del código
El ESP es lo bastante potente como para encargarse directamente del trabajo con la API, así que probar esa conversión con un LLM también tendría valor de aprendizaje
Este tipo de proyecto de verdad inspira
Gracias a los detalles minuciosos, se siente como un letrero miniatura de una estación real. Está muy bien logrado
Cada vez que veo la pantalla, siento que automáticamente escucho en mi cabeza la voz de anuncios de BART
Artículo relacionado: nota sobre los anuncios de BART
Qué gran trabajo. Siento que cambiaría por completo el ambiente de la habitación
Tengo una sugerencia de función: estaría bueno agregar una voz robótica
Referencia: artículo sobre los anuncios de BART
Pero otras personas decían que hacía demasiado ruido, así que hubo que apagarlo rápido
Hubo una época en que si cambiaba el andén, tenías que ir a comprobarlo tú mismo
Viendo el artículo, pensé: “tengo que encontrar esta voz”, y sentí que justo había encontrado eso
Me inspiró el diseño de la API en tiempo real, simple y limpio
Me da la impresión de que sería mucho más fácil de abordar que cuando trabajé antes con datos GTFS
En general, el acabado y los detalles son excelentes. La atmósfera y la inmersión están muy bien logradas
Yo también quería hacer algo parecido que mostrara la información del tren frente a mi casa
Pero todavía no he encontrado una API confiable