JBR-001 es un robot de escritorio de código abierto que ve los objetos que tiene enfrente, los reconoce y reacciona con movimientos, sonidos y animaciones. Lo creó el maker syntheticAIdata y funciona sobre una Arduino UNO Q de 2 GB, según la reseña que publicó Open Electronics el 24 de octubre de 2026.

Por dentro lleva tres servos, una cámara, un sensor de distancia, un zumbador y una pantalla animada. Está pensado como una plataforma para experimentar con robótica, visión por computador e IA en el borde desde el mesón de trabajo.

El armado parte de un cuerpo de piezas imprimibles en 3D que alojan la placa y el resto de la electrónica. La cabeza contiene la cámara, montada para mirar de frente. En la parte trasera de esa misma cabeza va un Modulino Distance, que mide de forma continua la distancia a los objetos cercanos. Los brazos y el giro de la cabeza los mueven tres servos. Cualquiera que tenga una impresora 3D en la casa puede replicar la mecánica.

Pines de los servos y umbrales de distancia

Los tres servos se reparten el trabajo. Uno gira la cabeza y los otros dos mueven los brazos. En el código los pines son HEAD_SERVO_PIN = 9, LEFT_ARM_SERVO_PIN = 10 y RIGHT_ARM_SERVO_PIN = 11. Las posiciones de reposo están todas en 90 grados, con HEAD_CENTER = 90, LEFT_ARM_CENTER = 90 y RIGHT_ARM_CENTER = 90.

Los servos se alimentan con una fuente externa aparte y no desde la UNO Q. Es una decisión obligada cuando tres motores arrancan al mismo tiempo.

El sensor de distancia decide cuándo el robot debe notar a alguien. En el código el umbral de detección es DETECTION_DISTANCE = 200.0 y el de reinicio es RESET_DISTANCE = 250.0. El material del proyecto no especifica las unidades, así que conviene comprobarlas en el banco antes de confiar en ellas. El margen entre los dos umbrales evita que el robot se encienda y se apague sin parar cuando alguien se queda justo en el límite.

¿Cómo responde el robot a lo que ve?

Las respuestas salen por tres canales distintos. La pantalla de matriz LED se maneja con mapas de bits de 8 filas por 13 columnas, los dos que dibujan el corazón chico y el grande. En la animación del latido las pausas son de 120, 100, 160 y 700 milisegundos, y ese último intervalo largo da la sensación de la pausa entre un latido y el siguiente.

El saludo sonoro, la función playHello, usa las notas de 523 Hz (Do5), 659 Hz (Mi5), 784 Hz (Sol5) y 1.047 Hz (Do6). Es un arpegio de Do mayor que sube una octava.

La parte más llamativa viene de la cámara de la cabeza. Se conecta a través de un hub USB-C y le da al robot una vista frontal de su entorno. Las imágenes capturadas se pueden procesar en la UNO Q con un modelo de visión por computador entrenado. Así JBR-001 identifica el objeto, además de detectar que hay algo cerca, y usa ese resultado para decidir cómo reaccionar. Con el mismo hardware puede girar la cabeza, mover los brazos, cambiar la imagen de la pantalla o tocar una secuencia corta.

¿Qué se necesita para armarlo?

  • Arduino UNO Q 2GB como cerebro del robot
  • Modulino Distance para medir la distancia de forma continua
  • Modulino Motors para el control de movimiento
  • Modulino Buzzer para las secuencias de sonido
  • Arduino USB-C Hub (8 en 1) para conectar la cámara
  • Tres servos para la cabeza y los brazos
  • Una cámara montada en la cabeza
  • Una impresora 3D para las piezas del cuerpo

En software hace falta Arduino App Lab, el código fuente de JBR-001 y un modelo de visión entrenado para reconocer objetos. El código y las instrucciones para replicar el armado están en la página del proyecto de syntheticAIdata en Arduino Project Hub.

Para los servos, un módulo de control de servos de radiocontrol simplifica el cableado cuando crece el número de canales. Como alternativa al Modulino de distancia se puede usar un sensor láser de tiempo de vuelo (ToF) como el VL53L3CX, pensado para medidas a corta distancia. La UNO Q también existe en versión de 4 GB, de la misma familia y con más memoria para modelos de visión.