Lego Mindstorms NXT

Lego Mindstorms NXT comes with software that only runs on Windows. Since I use Linux this is of no use to me. After some trying and surfing I managed to get it working on Ubuntu 12.04. The information on the internet was not 100% accurate. This is why I will put my configuration here. Run these commands as root or with sudo.

addgroup legonxt
adduser <your-user> legonxt

Now create 2 files. /etc/udev/rules.d/45-legonxt.rules and /etc/udev/


SUBSYSTEM=="usb", ATTR{idVendor}=="0694", ATTR{idProduct}=="0002", GROUP="legonxt", MODE="0660", SYMLINK+="legonxt-%k", ACTION=="add",

Put this in one line. I cut it in 2 so it fits the pagewidth.


This file is executed after the Lego Mindstorms NXT is connected.


if [ "${ACTION}" = "add" ] && [ -f "${DEVICE}" ]
    chmod o-rwx "${DEVICE}"
    chgrp "${GROUP}" "${DEVICE}"
    chmod g+rw "${DEVICE}"

Now all you need to do is install the apropriate software to communicate with you NXT. I installed nbc and the 32-bit libusb library.


I re-installed my PC with Linux Mint. When I do all the above everything seems to work. The script /etc/udev/rules.d/45-legonxt.rules is called but the ${DEVICE} is not set. So I need to do the commands by hand. I hope that I will be able to solve this in the near future.