
Si te mueves en el mundo de LEGO Mindstorms NXT, tarde o temprano oirás hablar de Bricx Command Center. Este entorno, más conocido como BricxCC, es la pieza que muchos han elegido cuando el software visual por bloques se queda corto y hace falta un control fino del robot. En esencia, BricxCC es un IDE completo para escribir, compilar, descargar y gestionar programas en NXT con agilidad y precisión.
Más allá de ser “otro editor”, BricxCC actúa como centro de mando para el ladrillo NXT: desde explorar la memoria interna hasta convertir sonidos y arrancar o detener programas directamente. Si vienes de NXT-G (el entorno basado en LabVIEW), descubrirás que con BricxCC y lenguajes como NXC puedes exprimir el hardware del NXT sin los límites del enfoque puramente gráfico.
¿Qué es Bricx Command Center (BricxCC)?
Bricx Command Center es un entorno de desarrollo integrado (IDE) para los lenguajes NBC, NXC y NQC orientados a la programación de robots de la serie LEGO Mindstorms. Fue desarrollado por John Hansen para Microsoft Windows y se diseñó para hacer sencilla la edición, compilación y descarga de programas al NXT. De hecho, su interfaz se siente como un procesador de textos con “extras” específicos de robótica, lo que facilita mucho el flujo de trabajo.
El proyecto nació inicialmente enfocado al RCX, y esa herencia se mantiene: BricxCC permite escribir programas NQC (Not Quite C) para RCX y NXT, además de trabajar con NBC (Next Byte Codes) y NXC (Not eXactly C). Dentro de sus herramientas integradas incluye utilidades para explorar el ladrillo, gestionar ficheros, visualizar la pantalla LCD del NXT en el ordenador y realizar capturas de imagen y vídeo.
Para descargarlo, la referencia clásica es la página del proyecto: bricxcc.sourceforge.net. Esta utilidad aporta una capa de control que el entorno gráfico estándar no ofrece, y por eso se ha vuelto popular entre docentes, aficionados y competidores de robótica educativa.
¿Para qué sirve BricxCC en un NXT?
Quien quiera “liberar todo el potencial” del ladrillo NXT suele dar el salto a NXC y NBC, y ahí entra BricxCC: permite escribir código de forma estructurada, compilarlo al formato que entiende el NXT y lanzarlo al robot en segundos. También simplifica tareas diarias como gestionar la memoria flash, convertir audio a formatos compatibles o controlar la ejecución de los programas.
Si vienes del ecosistema NXT-G, notarás ventajas en fluidez y rendimiento: NXC es un lenguaje de alto nivel, similar a C, que se compila sobre NBC. En paralelo, NBC proporciona una sintaxis parecida al ensamblador para quienes quieren ir al detalle. En ambos casos, Bricx Command Center es el centro neurálgico para editar, compilar (F5) y descargar (F6) los ejecutables al ladrillo.
Instalación y primeros pasos con BricxCC
La instalación se organiza en dos partes y conviene seguirlas en este orden para evitar errores: primero los controladores (drivers) del NXT y después Bricx Command Center. Los drivers pueden instalarse desde el CD original o desde la web oficial de LEGO Mindstorms; BricxCC se descarga desde su sitio en SourceForge.
Al abrir Bricx Command Center por primera vez, aparece un cuadro de diálogo de configuración. Las opciones recomendadas son: Port: USB; Brick Type: NXT; Firmware: Standard. Con esta configuración base, el IDE detecta el ladrillo y permite compilar y descargar sin complicaciones.
- Para compilar el programa: pulsa el botón “Compile Program” o la tecla F5.
- Si la compilación no muestra errores, puedes descargar el binario al NXT con “Download Program” (F6).
Una vez cargado el programa, en el NXT navega por el menú para ejecutarlo. Los pasos en el ladrillo son:
- Entrar en “My Files”.
- Seleccionar “Software Files” y elegir el nombre del programa.
- Usar “Run” para iniciar la ejecución.
Si necesitas un material didáctico de apoyo, existe un documento titulado “Curso de Programación LEGO NXT” en PDF (enlace de ejemplo: NXT_NXC.pdf). Este tipo de recursos introduce el entorno, describe las especificaciones del NXT y guía los primeros programas, resultando especialmente útiles en contextos educativos.
Utilidades integradas de BricxCC

Además del editor y el compilador, BricxCC incluye herramientas que solucionan tareas habituales en NXT: NeXTExplorer sirve para cargar/descargar ficheros, explorar y desfragmentar la memoria del ladrillo; incorpora también un visor hexadecimal (hex viewer) para examinar contenido a bajo nivel.
Otra utilidad destacada es NeXTScreen, que muestra en el ordenador la pantalla LCD del NXT y permite capturar imágenes y vídeo. Esto es muy práctico para demostraciones, documentación de proyectos o clases, porque evita grabar a pulso la pantallita del ladrillo.
Por último, BricxCC puede descompilar ejecutables .rxe del NXT a NBC, lo que facilita analizar programas existentes, aprender de ellos o realizar ingeniería inversa con fines educativos.
Lenguajes y formatos compatibles
El ecosistema de BricxCC gira en torno a tres lenguajes: NBC (Next Byte Codes), NXC (Not eXactly C) y NQC (Not Quite C). NBC es un lenguaje abierto de sintaxis tipo ensamblador, ligero y directo. NXC se apoya en el compilador de NBC y ofrece una sintaxis similar a C, resultando más cómodo para proyectos complejos. NQC, por su parte, fue el puente clásico hacia RCX y sigue siendo útil en ciertos escenarios.
En cuanto a formatos, la extensión NQC puede aparecer asociada como “Not Quite C Source Code File” en algunas bases de datos de software. Hay referencias comerciales de terceros (por ejemplo, Solvusoft o su FileViewPro) que listan esta extensión; en cualquier caso, en el flujo de Bricx Command Center trabajarás principalmente con archivos de código fuente NXC/NBC y los ejecutables generados para el NXT.
Firmware, SDK y documentación oficial
LEGO publicó el firmware del NXT como open source junto con los esquemas de hardware, lo que abrió la puerta a un ecosistema vibrante de herramientas y lenguajes. Hay varios kits de desarrollo muy útiles:
- Software Developer Kit (SDK): controladores USB, formatos de fichero ejecutable y referencias de bytecode.
- Hardware Developer Kit (HDK): documentación y diagramas del ladrillo y los sensores.
- Bluetooth Developer Kit (BDK): detalles sobre los protocolos Bluetooth.
Bricx Command Center puede trabajar con distintos firmwares compatibles para NXT. En contextos docentes se suele mantener el firmware estándar para simplificar la puesta en marcha, pero hay alternativas optimizadas (p. ej., para ROBOTC o leJOS) que cambian prestaciones y consumo de memoria.
Alternativas y ecosistema de programación para NXT
La oferta de herramientas para NXT va mucho más allá de BricxCC. NXT-G v2.0, incluido en el kit comercial y basado en LabVIEW, apuesta por la programación visual por bloques. Su modelo de ejecución en paralelo permite mezclar comportamientos autónomos con control por Bluetooth u otros mandos, soporta los sensores de LEGO (incluido el sensor de color) y añade tutoriales, sonidos y gráficos personalizados.
Quien prefiera entornos Microsoft puede combinar Visual Studio Express con Robotics Developer Studio para programar el NXT en C#, además de IronPython y VB.NET. Esta vía resulta interesante en cursos de programación donde se busca integrar .NET en tareas de robótica educativa.
Robolab 2.9 fue la evolución orientada a RCX y más tarde adaptada a NXT; LEGO anunció el fin del soporte oficial, aunque la versión 2.9 sigue disponible. Por su parte, RoboMind ofrece un entorno didáctico pensado para enseñar lógica y programación en un mundo virtual que puede transferirse al NXT con firmware estándar.
Enchanting aproxima NXT al IDE de Scratch (MIT), haciéndolo accesible incluso a niños pequeños. Y para quien busque rendimiento en C, ROBOTC ejecuta un firmware optimizado que acelera programas y comprime archivos para aprovechar al máximo la memoria del ladrillo (se descarga desde su propia interfaz).
En el terreno del código nativo y toolchains de bajo nivel están NXTGCC (toolchain GCC para programar el firmware en C) y nxtOSEK (para C/C++, requiere firmware específico). leJOS NXJ lleva Java al NXT con su propio firmware, mientras que pbLua porta el lenguaje Lua al ladrillo.
Para quien prefiera Ada existe un puerto de GNAT basado en un kernel de tiempo real con perfil Ravenscar, similar al utilizado en aplicaciones aeroespaciales como el satélite GOCE, lo que habilita desarrollar sistemas concurrentes y de tiempo real en NXT.
También hay opciones enfocadas a robótica distribuida y eventos como URBI, con interfaces en C++, Java y MATLAB y arquitectura de componentes (UObject). En el ámbito de navegación aparecen proyectos como FLL Nxt Navigation (open source, basado en NXT-G y ficheros .txt), si bien su uso en competición puede no estar permitido.
Para scripting y puentes con lenguajes populares están ruby-nxt (transmite código por Bluetooth en lugar de compilar a binario), Robotics.NXT (interfaz Haskell con comandos directos y soporte para muchos sensores), LibNXT (utilidades de bajo nivel basadas en libusb en sistemas POSIX y port win32), C_NXT (biblioteca GPLv2 para control por Bluetooth en C, centrada en GNU/Linux), PyNXC (convierte Python a NXC) y NXT-Python (módulo Python con conexión USB/Bluetooth y soporte de sensores no oficiales).
En el terreno de simulación y modelado, MATLAB y Simulink permiten controlar NXT por Bluetooth serie o USB (p. ej., con RWTH – Mindstorms NXT Toolbox). El soporte para LEGO MINDSTORMS se ofrece sin coste por parte de MathWorks. Finalmente, el software de LEGO MINDSTORMS EV3 puede programar NXT por USB (la conectividad por Bluetooth no es compatible), y Physical Etoys añade un enfoque de programación visual para múltiples dispositivos.
Hardware del LEGO Mindstorms NXT
El “cerebro” del sistema es el ladrillo programable NXT, una pequeña computadora con pantalla LCD monocromática de 100 × 60 píxeles y cuatro botones de control. El ladrillo incorpora un microcontrolador de 32 bits ARM7TDMI-core Atmel AT91SAM7S256 (con 256 KB de memoria y 6 KB de RAM), junto a un microcontrolador auxiliar de 8 bits Atmel AVR ATmega48. Se alimenta con 6 pilas AA de 1,5 V (o una batería Li‑Ion recargable en la versión educativa).
Admite hasta cuatro sensores y tres motores conectados mediante cables RJ12 (ojo, son similares a RJ11, pero no compatibles). El ladrillo NXT no cambió entre la versión 1.0 y 2.0; para el décimo aniversario se lanzó una edición limitada en color negro sin cambios internos.
Kit base y sensores incluidos
- 3 servomotores idénticos con reductoras internas y encoders ópticos para medir rotación con alta precisión.
- 1 sensor de presión (toque): detecta si está pulsado, si fue pulsado o soltado; en NXT-G toma valor 0 (no pulsado) o 1 (pulsado).
- Sensor de luz: mide luz ambiental o reflejada (con LED rojo). En NXT-G reporta 0–100 (0 oscuro, 100 muy claro); calibrado, puede usarse como sensor de distancia.
- Sensor de sonido: volumen 0–100 (0 silencio, 100 muy ruidoso).
- Sensor ultrasónico: distancia en cm o pulgadas; hasta 233 cm con precisión de ±3 cm.
- En NXT 2.0, sensor de color incluido de serie.
Sensores adicionales y conectividad
Además de los oficiales de LEGO, hay sensores de terceros como compás, giroscopio, rastreador infrarrojo, RFID, acelerómetros y temperatura. LEGO también vende adaptadores para la línea de sensores Vernier. La conexión al ladrillo se hace por un conector modular de 6 posiciones con interfaces analógicas y digitales; la parte analógica es compatible con RCX mediante adaptador, y la interfaz digital soporta I2C y RS‑485.
| Pin | Nombre | Función | Color del cable |
|---|---|---|---|
| 1 | ANALOG | Interfaz analógica, +9 V | Blanco |
| 2 | GND | Tierra | Negro |
| 3 | GND | Tierra | Rojo |
| 4 | IPOWERA | +4,3 V | Verde |
| 5 | DIGIAI0 | I2C Clock (SCL) / RS‑485 B | Amarillo |
| 6 | DIGIAI1 | I2C Data (SDA) / RS‑485 A | Azul |
Los programas pueden transferirse por USB o Bluetooth; algunos ficheros se comparten entre ladrillos por Bluetooth, y ciertos móviles pueden actuar como control remoto. Es posible que varios NXT se comuniquen entre sí y ejecuten programas de forma simultánea (hasta tres dispositivos).
Flujos de trabajo con NXT-G y otros entornos
El software comercial para Windows y Mac basado en LabVIEW ofrece programación visual por bloques, idónea para introducir conceptos y prototipar rápido. Su ejecución paralela permite combinar lazos y respuestas simultáneas, mezclar control autónomo con Bluetooth o mandos, y visualizar instrumentos y sensores de LEGO y de terceros.
Sea cual sea el entorno, la clave está en traducir lecturas de sensores a acciones del robot. Los SDK/HDK/BDK y utilidades como Bricx Command Center o MATLAB/Simulink facilitan ese camino, cada uno con un balance distinto entre facilidad de uso, rendimiento y nivel de control.
Recursos, autoría y contexto educativo
En el ámbito escolar, especialmente en ESO (Área de Tecnología), BricxCC y NXC encajan como “Tarea” o situación de aprendizaje orientada a desarrollar pensamiento computacional. En materiales docentes se citan autores como Gustavo Adolfo Raya Casero, que contextualizan el uso del entorno y del ladrillo NXT en proyectos de aula.
Respecto a material gráfico, es habitual ilustrar con imágenes de la comunidad. Un ejemplo frecuente es una fotografía de LEGO MINDSTORMS NXT alojada en Wikimedia Commons, bajo licencia CC BY 2.0, atribuida a Eirik Refsdal (Trondheim, Noruega). Este tipo de recursos son útiles para acompañar guías y artículos siempre que se respeten los créditos de autoría y la licencia.
Entre los recursos de estudio destaca el “Curso de Programación LEGO NXT” (PDF), que introduce especificaciones del NXT y del RCX, además del entorno de desarrollo. Este tipo de documentos suelen incluir de 30+ páginas con explicaciones y prácticas guiadas, perfectos para escuelas, talleres y clubs de robótica.
Claves de registro y detalles técnicos complementarios
En sistemas Windows, BricxCC puede registrar información en el sistema en rutas como HKEY_LOCAL_MACHINE\SOFTWARE\SourceForge\BricxCommandCenter y HKEY_CURRENT_USER\SOFTWARE\BricxCommandCenter. Esto resulta útil para administradores que gestionan instalaciones en aulas o laboratorios.
En catálogos de extensiones de archivos, aparece NQC (Not Quite C Source Code File) asociado a herramientas de terceros. Algunas webs comerciales mencionan utilidades como FileViewPro (Solvusoft) para abrir extensiones genéricas, pero para programar NXT lo recomendable es trabajar con BricxCC, NXT-G, ROBOTC, leJOS o las alternativas citadas, según el objetivo del proyecto.
Consejos prácticos para trabajar con Bricx Command Center y NXT
- Drivers primero, IDE después: instala los controladores del NXT antes de BricxCC para evitar problemas de detección.
- En el diálogo inicial, usa USB + NXT + Firmware Standard; simplifica la conexión y la descarga.
- Compila con F5 y, si todo está limpio, descarga con F6; así detectas errores antes de ocupar memoria del ladrillo.
- Si la memoria se fracciona con el uso, recurre a NeXTExplorer para desfragmentar y mantener el NXT en forma.
- Para clases o demostraciones, usa NeXTScreen para capturar la pantalla del NXT y documentar tus pruebas.
Todo lo anterior se complementa con la realidad del hardware y el amplio abanico de herramientas que orbitan el NXT: desde NXT-G y ROBOTC hasta MATLAB/Simulink, pasando por Java (leJOS), Lua (pbLua), Ada (GNAT), C/C++ (nxtOSEK, NXTGCC) y Python. BricxCC encaja en ese ecosistema como el IDE de referencia para NXC/NBC/NQC en Windows, especialmente valorado por su sencillez y sus utilidades para gestionar el ladrillo. Comparte esta guía y más usuarios sabrán de que se trata Bricx Command Center.
via Actualidad Gadget https://ift.tt/UQxhlqA
No hay comentarios:
Publicar un comentario