Home - Genijarl/OpenSource GitHub Wiki

github

NXT-python is a python driver/interface for the Lego Mindstorms NXT robot. It works by sending the direct commands detailed in LEGO's "Bluetooth Development Kit" to the NXT brick, and on occasion providing a greater level of abstraction. It is also able to interact with files on the NXT brick through USB connection. This is not designed to compile and execute code on the NXT itself - instead, it is able to leverage the processing power of your computer and the flexibility of Python to open up a greater range of possibilities for the now 6+ year old Lego set.

The code here is released under the Gnu GPL v3 or later. More example code snippets can be found in the nxt-python-examples repository under Public Domain (Eelviny), so you may do what you like with them.

A brief history

NXT_Python (which nxt-python is based on) was written by Douglas P Lau back in May 2007. Douglas laid down the framework on which Marcus Wanner was able to build on.

As it was certain that NXT_Python was abandoned, Marcus Wanner copied the project (it's all open source!) and updated it under slightly different name, bringing with it a slew of features including a new API and supporting many third-party sensors. Also, support for the thread module has been added, to allow for multiple tasks at once in applications.

Combined with the closure of Google Code and Marcus' lack of time to work on the project, the project landed in the hands of Eelviny who moved the project to his Github repository, where he maintained the project untill December 28th,2 2018. With the Mindstorms NXT no longer receiving updates as the new Mindstorms EV3 has been released, there are likely to be no major new features released, but rather keeping the project up to date with developments in the external libraries it uses.

This project can be considered a branch or growth from Eelviny's project where we have taken his libraries to use, and made our own working code snippets, which in turn also is open source and can be considered public domain under the same license Gnu GLP v3.0 or later.