1 puntos por GN⁺ 2025-11-02 | 1 comentarios | Compartir por WhatsApp
  • S.A.R.C.A.S.M es un robot basado en impresión 3D que escanea y resuelve un cubo Rubik, y además añade comentarios de voz sarcásticos
  • Usa un microcontrolador Teensy 4.1 y un ESP32-CAM para realizar el reconocimiento visual y el control
  • Implementa gráficos 2D y 3D, animaciones y sincronización labial mediante una pantalla ILI9341, y sincroniza la iluminación RGBW con el audio
  • Genera voz directamente en el dispositivo con TTS basado en espeak-ng, e incluye una colección de frases sarcásticas
  • Para ajustar todo el código a la RAM, es necesario modificar archivos del núcleo de Teensy, y por ahora se publica en estado incompleto

Resumen del proyecto

  • S.A.R.C.A.S.M (Slightly Annoying Rubik’s Cube Automatic Solving Machine) es un robot que resuelve automáticamente un cubo Rubik

    • Está compuesto por una estructura de hardware fabricada con impresora 3D y un sistema de control basado en Teensy
    • Escanea el cubo, calcula la solución y, durante el proceso, emite respuestas de voz sarcásticas
  • El repositorio incluye código y esquemas de circuito, y se ofrece información adicional en el hilo del foro de Teensy

Video de demostración

Hardware principal y funciones

  • Usa Teensy 4.1 como controlador principal y un ESP32-CAM para la captura de imágenes
  • Implementa gráficos 2D y 3D personalizados, animaciones y sincronización labial mediante una pantalla ILI9341
  • Manipula el cubo con motores paso a paso y servomotores, y detecta errores con sensores de posición
  • La iluminación RGBW se sincroniza con el audio para ofrecer efectos visuales
  • Genera voz en el dispositivo con TTS basado en espeak-ng, e incluye una colección de frases sarcásticas

Guía para modificar el código

  • Para ajustar todo el código a la RAM, es necesario modificar archivos del núcleo de Teensy
    • En los archivos cores/teensy4/usb_serial.c y cores/teensy4/usb_serial2.c
      se debe eliminar el atributo DMAMEM que aparece antes de las definiciones de los arreglos txbuffer[] y rx_buffer[]

Avisos

  • Actualmente el proyecto es un trabajo en progreso, y el estado del repositorio está desordenado e incompleto
  • Es posible que siga así hasta que el desarrollador tenga tiempo

1 comentarios

 
GN⁺ 2025-11-02
Opiniones de Hacker News
  • Hace unos años construí yo mismo Cubotino. La estructura es parecida y lo dejé en el repositorio de GitHub
    Usé una Raspberry Pi 2 W, y funcionaba bien para mezclar y resolver un cubo 3x3x3 con solo dos servomotores
  • Hola a todos. Soy el creador de SARCASM. Gracias al OP por compartirlo
    Le dediqué mucho tiempo a construirlo, pero de verdad fue un proyecto muy divertido. Me da gusto ver que otras personas lo disfrutan
    Dejé los detalles del hardware y el software en este post del foro de Teensy
    • Está increíble. Recuerdo haber sido el niño que llevó por primera vez un Rubik’s Cube a la escuela en los 70.
      Como no sabía cómo resolverlo, pedí un folleto, pero lo que me llegó fue un libro de teoría de grupos (group theory). Era demasiado para mi cerebro adolescente de ese entonces
    • Siento que si lo llevaras en una máquina del tiempo a los años 20, lo metieras en una vitrina de vidrio y cobraras 5 centavos por mostrarlo, te harías rico
    • Me pregunto si podrías compartir los archivos STL de la carcasa y los brazos. Es un proyecto realmente excelente
    • Yo también he justificado dedicarle tiempo a algo por culpa del nombre del proyecto, así que me identifiqué
  • Como dato relacionado, el récord Guinness del robot de Rubik’s Cube más rápido es de 103 milisegundos
    Se puede ver en este video de YouTube y en este artículo de Purdue
    • Me pregunto cuántos cubos explotaron mientras construían ese robot
    • Es impresionante y al mismo tiempo un poco loco
    • Los robots que resuelven cubos son menos un problema mental y más un problema físico. Si tienes fotos de las esquinas superior e inferior del cubo, se puede resolver en nanosegundos
  • El diseño está buenísimo. El video de demostración también está excelente
    • Es el proyecto más encantador que he visto últimamente
      También hay un video de demostración más largo
      Como vivo en el mundo del software, me pregunto qué tan difícil sería construir algo así con mis propias manos
      Como aficionado a los cubos, esto también sería perfecto como rompehielos en la oficina. Si un compañero pasa, mezcla el cubo y lo avienta a la máquina, siento que todos la pasarían bien
  • Yo necesito una máquina que mezcle automáticamente. Tener dos cubos, de modo que mientras uno se resuelve, el otro se mezcle
    Los cuberos pasan mucho más tiempo mezclando que resolviendo. Eso de mezclar es lo que se debería automatizar
    • Yo también creo que esa parte es la más difícil. Para resolver rápido hay que aprender muchos patrones distintos
      Estaría buenísimo tener un dispositivo que ponga automáticamente el cubo en cierto estado para poder practicar repetidamente un algoritmo específico
    • No sé mucho de este tema, pero me pregunto si existirán caras digitales para cubos. Un cubo físico cuya coloración pueda cambiar al instante
    • Hasta cierto nivel, mezclar también es una buena práctica. Si lo mezclas siguiendo un algoritmo fijo, termina en menos de 30 movimientos
      Da la impresión de que toma mucho tiempo, pero en realidad la diferencia no es tan grande
    • Se me ocurre que bastaría con correr la máquina resolvedora al revés
  • Hay una explicación más detallada del proyecto en este post del foro
  • Quiero preguntarle a HN algo. Pensé que si, con el cubo resuelto, girabas alternadamente dos caras adyacentes en la misma dirección, en algún momento volvería a resolverse, pero incluso después de cientos de giros no pasó. Me pregunto por qué
    • Por ejemplo, la combinación RU tiene orden 105 en un grupo cíclico. Es decir, necesitas un total de 210 giros, 105 en cada cara, para volver al estado original
      Yo hice un experimento parecido hace tiempo, y cuando lo giraba rápido nunca volvía a resolverse. Lo más probable es que hayas metido por error un doble giro (U2) o que hayas contado mal las repeticiones
      Para la explicación matemática, se puede consultar la página 41 de este material
    • Hay que repetirlo exactamente 105 veces. Mira este enlace de visualización
      Si lo giraste en la dirección opuesta, entonces bastan 63 repeticiones. Mira este enlace
  • Tengo un video de un robot de cubo que hice hace 16 años
    Los movimientos de este robot se parecen muchísimo a los de mi trabajo de entonces. En especial me gusta la salida en pantalla
  • El proceso de resolver el cubo se divide en dos etapas: calcular los movimientos y ejecutar los movimientos
    Los humanos hacen ambas cosas en paralelo, pero como un robot ejecuta movimientos ya calculados, el tiempo depende únicamente de la velocidad
  • La personalidad del creador se refleja tal cual en el software. Si Douglas Adams lo hubiera visto, seguro le habría encantado
    Ojalá hubiera más robots al estilo Adams
    • Espero ver más robots con personalidad de Unsirious Cybernetics