My 11-year-old wanted to build a robot. I looked around at various options, and eventually purchased Parallax's "USB Boe Bot". TLDR: I'm impressed!
The Boe Bot kit is a combination of both hardware and software. I was afraid the software would require a Windows machine, but it turns out that Parallex has chosen to provide their IDE via a Chrome browser extension! I cannot comment on other software platforms, but I can confirm that it works very well in the most recent version of Ubuntu 17.10 with Chrome 62.
I'm accustomed to being annoyed or disappointed when technology and toys are combined. But Parallax did a great job with this kit. The instructions are clear, and by having their IDE in a browser, they've made it platform-independant which makes me quite happy as I don't have a Windows-based computer at home.
Once the extension is installed, browse to chrome://apps to get started.
Boe Bot uses a standard FTDI USB Serial connection. These typically work well under Linux, but the current logged in user normally needs to be given read/write permission to /dev/ttyUSB* devices. There are several methods people use to make this happen:
I wont comment on the first option.
The quickest solution (second option) is to run "sudo chmod a+rw /dev/ttyUSB*". But this will only work until the USB device is removed and plugged back in, or the computer is rebooted, after which the command will have to be run again.
The better solution (third option) is to ensure you are part of the dialout group:
However, also note there is an application installed by default in Ubuntu that prevents the previous step from working correctly: modemmanager. In my case, I had to purge this package:
Once the package has been purged and the user added to the dialout group, log out, log back in, and the IDE should have no problem uploading to the Boe Bot.