18

I would like to use Lego Mindstorms NXT-G, but I do not have a regular access to a computer running Windows or OS-X. I have tried to use the official software in Linux using Wine, but it didn't even install. I was wondering if anybody has had better success, and if yes, how it was done, what works and what still doesn't.

I am aware that there are other options for programming the brick, and that some (most?) of those run on Linux, however, these are not allowed in competitions such as FIRST Lego League, which makes them somewhat less suitable for my purpose.

Tamara Wijsman
  • 57,083
  • 27
  • 185
  • 256
Jan Hlavacek
  • 1,185
  • 10
  • 18
  • 2
    I fear that you may need a full windows virtual machine or something, but that's not really something I can help with. –  Nov 22 '11 at 10:40
  • Maybe you should try installing Adobe Flash? (Under Linux **and** Wine as well.) – Mateen Ulhaq Nov 23 '11 at 01:15
  • @muntoo: I do not see how Flash could help. As far as I know, the NXT-G software is not written in Flash, it is written in LabView. Strangely, LabView does have a native Linux version, but Lego does not seem to release a Linux version of their software. – Jan Hlavacek Nov 23 '11 at 04:52
  • No, NXT-G is powered by Flash (which is why it is so slow). LabView is the graphical programming language NXT-G is based on. (LabView helped with NXT-G, IIRC.) – Mateen Ulhaq Nov 23 '11 at 05:40
  • This question should be migrated to superuser; this is a question about software and OS compatibility at the end of the day – mfg Nov 23 '11 at 17:09
  • 2
    @mfg: Why not Ask Ubuntu or Unix/Linux, or... here? All those other sites will probably just recommend the other programming environments - IMO the requirement to remain inside standard Lego competition rules makes it a reasonable question for here. –  Nov 23 '11 at 17:39
  • 1
    @muntoo do you have a reference for NXT-G being Flash-based? That puzzles me. –  Nov 24 '11 at 12:24
  • @Joubarc While I don't think NXT-G is based on flash, it certainly uses it, especially for showing building instructions. You feel it when you have a flash problem -- ex. http://forums.usfirst.org/showthread.php?t=17827 . – Clinton Blackmore Nov 24 '11 at 19:05
  • Thanks, interesting read. Sadly, LEGO has a poor track record for supporting older software on new OSes, and it's a very good thing that alternative languages exist. –  Nov 24 '11 at 19:08
  • @JanHlavacek Does it have to be NXT-G? Would NXC or NBC be a viable solution? – pcantin Nov 26 '11 at 19:34
  • 2
    @pcantin: For example, the rules of the FIRST Lego League clearly state: "**The robot may only be programmed using LEGO MINDSTORMS, RoboLab, or NXT-G software (any release). No other software is allowed.**" – Jan Hlavacek Nov 26 '11 at 20:43
  • Actually, I wonder if they would even allow NXT-G under wine, should it work. Don't see why not, but you never know. –  Nov 28 '11 at 13:07
  • Just saying, but this is probably a better fit for SU than the Lego site. – daviesgeek Nov 28 '11 at 18:10
  • 1
    @Jan: Yay! There's another Linux-only person here! :) Oh, and check my blog (in my profile) for Linux ports of Lego-related software. (But not NXT-G, sorry.) – retracile Dec 01 '11 at 01:23

3 Answers3

4

I did some research and found a this thread that claims that the programming languages should work under Wine. Someone on the same thread said he/she ran it in VirtualBox instead of Wine.

However, the Mindstorms software is listed in Wine's application data as being "garbage." I think that means it doesn't run at all.

daviesgeek
  • 1,619
  • 7
  • 22
  • 34
  • 1
    I can confirm that NXT-G does run in VirtualBox. I used that several years ago, and the only problem I had with it was every time the NXT was unplugged, the virtual machine would loose ownership of the usb device, and it had to be reclaimed after attaching the NXT again. Annoying, but not a showstopper. The newer versions of VirtualBox have much better USB support, so it is quite likely that problem no longer exist. – Jan Hlavacek Dec 01 '11 at 06:24
  • The problems with using a virtual machine are: first you have to have a more powerful machine, since you will be running two operating systems at the same time, second, you still need a Windows CD to install on the virtual machine. I used to have an XP cd lying around that I used just for this particular purpose, but I misplaced that few years ago. – Jan Hlavacek Dec 01 '11 at 06:29
  • It seems that I have to accept this as the correct answer. There does not seem to be any way to run NXT-G on Linux (without using a virtual machine). – Jan Hlavacek Dec 05 '11 at 13:18
2

Here's what I would try. You can start an MS Windows Micro instance (virtual machine/VM) on Amazon Web Services (AWS). An AWS micro VM cost nothing if you have Linux on it but since you need Windows it's $0.03 per hours. The price list is on this page. If the micro instance is too small or too slow, you can use a bigger one (an Extra Large is $0.96/hour).

You can install the LEGO software on it and work remotely. To avoid installing the LEGO software each time you can even create your own VM an relaunch it whenever you need.

The only downside I see is the IO between the VM and the physical LEGO NXT brick. This could probably be solved by creating a proxy port on your home computer through which the LEGO software on the VM could communicate with the brick. This need to be tested since I don't have an NXT. If this part is too complicated (or impossible) you could look for other ways to upload the code on the NXT from the Windows VM.

If you never played with AWS, I suggest to start with a Linux micro instance (e.g. Ubuntu). Since it cost nothing it's a good way to experiment on how the whole thing works.

pcantin
  • 151
  • 1
  • 6
1

The new Ev3 software is available for download and supports programming NXT 2.0 bricks.

However, it, like NXT-G, only supports OSX and Windows. It can install under Playonlinux / Wine, but does not start up due to dependencies on Mono 4.3 and other dependencies.

I can understand why FLL would want to limit the use of outside software consistency's sake, but I do wish they would consider something like Enchanting if no one is able to resolve the issues with running Ev3 under wine.

marco
  • 11
  • 1
  • I was hoping, since the new brick actually runs Linux as its internal OS, that they will support Linux with the Ev3 software, too, but, apparently, they do not. A pity. – Jan Hlavacek Sep 06 '13 at 00:00
  • @JanHlavacek - Also interesting is that it still runs on National Instruments, but the UI seems to be built on top of silverlight/mono. NI can run on linux and there is a native mono for linux written by Miguel de Icaza, so the potential is there, but it would require some re-writting. I have sent in a letter to Lego requesting this and I think there maybe a Lego Ambassador forum thread discussing this so maybe there will be some response at some point from Lego themselves. – marco Sep 06 '13 at 18:34