I know there is no official way to program NXT/EV3 on a Chromebook.
But a Chromebook can have Ubuntu installed via Crouton in developer mode.
So, is there a relatively painless way to program NXT/EV3 on Ubuntu?
There is now an app for chromebooks on the chrome store:
I have used it to program EV3 version of the bricks. It connects via bluetooth to the EV3 brick (I don't think USB is even supported). The bluetooth connection can be buggy at times and I've found myself having to re-pair the brick.
The chrome app saves programs in a format (.ev3m
format) which is not compatible with the Mac/Windows desktop versions of the programming app. Attempts to load programs written on Mac/Windows (.ev3
format) will not load in the app. Suffice to say transferring programs between a chromebook and the desktop version of the EV3 programming software is difficult and perhaps not possible. There may be a way to download the program from the chrome app onto the brick and then pull the software using the 'Memory Browser' tool into the desktop version but I haven't had time to look into it.
My chromebook has only 2 GB of RAM and the program sometimes struggles to load so I recommend at least 4 GB of RAM in your chromebook.
There is a pretty good Q/A article here:
https://education.lego.com/en-us/middle-school/explore/c/ev3-chromebook-faq
Your best bet1 for EV3 is ev3dev.
For NXT, you should be able to get BricxCC running on Linux.
You can also checkout leJOS and MonoBrick. There is a good change you can get either one of those working on Linux as well.
1: As a core contributor to ev3dev, this may not be entirely objective ;-)
I recently did some testing to get the EV3 software working on Linux using Wine, and actually got it to work! (The EV3 software can also be used to program the NXT) Here are the instructions:
$ sudo add-apt-repository ppa:wine/wine-builds
$ sudo apt-get install --install-recommends winehq-devel winbind libntlm0 ttf-mscorefonts-installer winetricks
Make sure the folder ~/.wine32
does not exist.
$ WINEPREFIX=~/.wine32 WINEARCH=win32 wineboot
Choose "No" on any prompts to download gecko or Mono
$ WINEPREFIX=~/.wine32 winetricks
Select the default prefix, and click OK
Select Install a "Windows DLL or Component"
Install all of the vcredist libraries, .NET version 4.0, and IE 8.
Select "Change settings"
Check ddr=gdi
, and select OK (this fixes sections of the window turning white)
Click "Cancel" twice to exit winetricks
Download "IE8-WindowsXP-KB2936068-x86-ENU.exe" from the Microsoft website
$ WINEPREFIX=~/.wine32 wine '<location of folder with IE8-WindowsXP-KB2936068-x86-ENU.exe>/IE8-WindowsXP-KB2936068-x86-ENU.exe'
$ WINEPREFIX=~/.wine32 winecfg
In the libraries tab, add an override for "*urlmon.dll
", making sure to include the *
Select the override just created, and click "Edit..."
Choose Native, and click OK
Click Apply, then OK
$ WINEPREFIX=~/.wine32 wine '<location of folder with mindstorms installer>/LMS-EV3-WIN32-ENUS-01-01-01-full-setup.exe' (or whatever the filename of the installer is)
Install the software.
Delete the .lnk
file on the desktop, it is unnecessary and could cause problems
Double-click the launcher on the desktop.
I have not tested downloading to the brick yet, but creating a new project, adding a block, saving it, and reopening it works.
Hope this helps. If you have any problems or questions, let me know.
c4ev3 has an Eclipse CDT Plugin based on GNUARMEclipse so you can do your C/C++ Programming for the EV3 and upload/browse the filesystem without leaving Eclipse.
It works with the stock firmware/OS and comes with an API to access sensors/motors.
You can run it on Windows, Linux and OS X. Also compiles on FreeBSD but didn't test if it actually works.
If you don't want to use Eclipse, you can use the uploader (a simple CLI tool written in C) and the C API separately and integrate them into your build process. The uploader can also generate the menu entries for starting the programs on the EV3 menu, so using another IDE won't keep you from experiencing c4ev3's awesomeness [1].
Doesn't support NXT though.
[1] Might be biased because I wrote part of it.